nginx_exporter手册

首先查看已编译模块看是否有nginx_exporter所依赖的模块

nginx-module-vts 

cd /opt/nginx-1.16.1/sbin/

./nginx -V

如果没有该模块需要重新编译进去,就需要下载同版本的nginx编译复制其命令

先下载需要的模块

下载上传nginx-module-vts

rz nginx-module-vts.tar.gz

tar xvaf nginx-module-vts.tar.gz -C /usr/local/

下载上传openssl-1.0.2u.tar.gz

rz  openssl-1.0.2u.tar.gz

tar xvaf openssl-1.0.2u.tar.gz -C /opt/src/

下载nginx

rz nginx-1.16.1.tar.gz

tar xvaf  nginx-1.16.1.tar.gz -C /usr/local

cd /usr/local/nginx-1.16.1

跟据nginx所需的模块进行编译

./configure --prefix=/opt/nginx-1.16.1 --with-http_stub_status_module

 --with-http_ssl_module --with-openssl=/opt/src/openssl-1.0.2u

--with-stream --with-stream_ssl_module --with-http_gzip_static_module --with-http_realip_module

  --add-module=/usr/local/nginx-module-vts

只能make不然会覆盖

make

编译完成后就可以到该目录的objs里有个nginx的可执行命令

cd objs/

查看参数是否已经编译进去了

./nginx -V

把原来的nginx可执行命令进行备份

cd nginx-1.16.1/sbin/

cp nginx nginx.bak

 

移动新的可执行命令覆盖原来的可执行命令

mv /usr/local/nginx-1.16.1/objs/nginx ./nginx

查看模块是否加载进去

 nginx -V

加载好了就在nginx的配置文件里面加入新参数

vim /opt/nginx-1.16.1/conf/nginx.conf

   http{ 

 vhost_traffic_status_zone;

vhost_traffic_status_filter_by_host on;   #开启此功能,会根据不同的server_name进行流量的统计,否则默认会把流量全部计算到第一个上。

。。。。。。

    server {

        listen 8080;

        allow 127.0.0.1;

        allow ip;  #替换为你的prometheus ip;

      location /nginx-status {

          stub_status on;

          access_log off;

      }

        location /status {

        vhost_traffic_status_display;

        vhost_traffic_status_display_format html;

        }

                }

}

检测一下语法是否正确

 ./nginx -t

让配置生效

./nginx -s reload

无法生效再杀死nginx进程重启要根据实际业务情况看看是否能杀死

 kill nginx master进程号

 ps -ef | grep nginx

cd nginx-1.16.1/sbin/

  ./nginx

下载上传nginx-vts-exporter-0.5.zip使nginx可以将数据变成可以被prometheus获取

rz nginx-vts-exporter-0.5.zip

解压

unzip nginx-vts-exporter-0.5

移动到指定位置

mv nginx-vts-exporter-0.5 /opt

cd nginx-vts-exporter-0.5/

cd bin/

nginx-vts-exporter可执行权限

chmod +x nginx-vts-exporter

启动nginx-vts-exporter

./nginx-vts-exporter  -nginx.scrape_uri http://ip:8080/status/format/json &

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐