监控Nginx

2019-11-21  本文已影响0人  一生逍遥一生

启动nginx_exporter

docker run -d \
--net=host \
--restart=always \
--name=nginx-exporter \
-v /var/log/nginx:/var/log/nginx \
-e NGINX_ACCESS_LOGS=/var/log/nginx/access.log \
-e NGINX_STATUS_URI=http://127.0.0.1:8888/nginx_status \
quay.io/rebuy/nginx-exporter:v1.1.0

配置nginx

修改nginx.conf

在http模块中添加内容如下:

log_format mtail '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent $request_time '
                 '"$http_referer" "$http_user_agent" "$content_type" "$upstream_cache_status"';
access_log /var/log/nginx/access.log mtail;

添加配置文件

在conf.d文件夹下,或者其他文件夹下,需要添加新的conf文件,文件内容如下:

server {
    listen 8888;
    location /nginx_status {
      stub_status on;
      access_log  off;
      allow       127.0.0.1;
      deny        all;
    }
}

验证配置文件的准确性

nginx -t  # 校验配置文件是否有问题
nginx -s reload # 重新加载配置

配置prometheus

在配置文件prometheus.yml中,添加相应的job。

- job_name: job-test
    static_configs:
    - targets: ['localhost:9397']

校验

prometheus状态

在prometheus页面中,Status->Targets,查看实例是否为UP。

查看nginx状态

curl localhost:8888/nginx_status # 查看nginx的状态
curl localhost:9397/metrics|wc -l # 查看nginx metrics的输出

Grafana查看

在grafana中查看相应的dashboard,然后看到相应的数据。

参考文献

nginx-exporter

上一篇下一篇

猜你喜欢

热点阅读