prometheus监控nginx并实现可视化的操作指南

 更新时间:2024年05月11日 11:05:01   作者:阿龙先生啊  
Nginx是一款高性能的Web服务器,被广泛应用于各类的网站和应用程序中,为了保证Nginx的正常工作,我们需要对其进行监控和管理,所以本文给大家介绍了prometheus监控nginx并实现可视化的操作指南,需要的朋友可以参考下

一、概述

Nginx是一款高性能的Web服务器,被广泛应用于各类的网站和应用程序中。为了保证Nginx的正常工作,我们需要对其进行监控和管理。

1.1 prometheus 监控nginx两种方式

prometheus 监控nginx有两种方式。

  • 一种是通过nginx_exporter监控,需要开启nginx_stub_status,主要是nginx自身的status信息,metrics数据现对较少;
  • 另外一种使用nginx-vts-exporter监控,但是需要在编译nginx的时候添加nginx-module-vts模块,监控数据较多,提供了包含server、upstream以及cache的相关监控指标,指标更丰富,所以如下采用nginx-vts-exporter实现对nginx的监控。

1.2 版本信息

如下第一种方式:nginx-vts-exporter

版本

地址

nginx

1.25.4

http://nginx.org/download/nginx-1.25.4.tar.gz

vts

0.2.2

Releases · vozlt/nginx-module-vts · GitHub

nginx-vts-exporter

0.10.3

Releases · sysulq/nginx-vts-exporter · GitHub

二、 安装nginx-module-vts

2.1 下载编译

# 下载编译环境
yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib-devel lrzsz  tree  vim  wget  net-tools openssl openssl-devel
 
# 下载
wget https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.2.zip
wget http://nginx.org/download/nginx-1.25.4.tar.gz
tar -zxvf nginx-1.25.4.tar.gz
# 进入编译的安装目录   
cd /home/nginx-1.25.4
# 下载解压nginx-module-vts 预编译 需要新增--add-module=
./configure  --prefix=/usr/local/nginx  \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre --with-file-aio \
--with-http_realip_module \
--add-module=/opt/nginx-module-vts-0.2.2
 
# 编译(这里只make,不要make install ,不然会覆盖,如果新装的可以继续make install)
make && make install

配置nginx.conf

vim /usr/local/nginx/conf/nginx.conf
 
    vhost_traffic_status_zone;
    vhost_traffic_status_filter_by_host on;
 
    server {
        listen       80;
        server_name  localhost;
        
        location /status {
           vhost_traffic_status_display;
           vhost_traffic_status_display_format html;
        }
 
    }
 

# 启动nginx,并指定配置文件为/app/nginx/conf/nginx.conf
cd  /usr/local/nginx/sbin/
 
# 测试nginx配置文件是否正确
./nginx -t
#	启动
./nginx

登录验证: http://192.168.2.140/status

2.2 监控字段总结

Server main 主服务器

Server zones服务器区域

三、安装启动nginx-vts-exporter

3.1安装启动nginx-vts-exporter

wget   --no-check-certificate https://github.com/sysulq/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64
 
tar -zxvf nginx-vtx-exporter_0.10.8_linux_amd64.tar.gz
chmod +x /usr/local/nginx_exporter/bin/nginx-vtx-exporter -R

3.2设置systemctl启动

vim /usr/lib/systemd/system/nginx-exporter.service
 
[Unit] 
Description=nginx_vts_exporter
After=network.target
 
[Service]
Type=simple
ExecStart=/opt/nginx-exporter/nginx-prometheus-exporter -nginx.scrape_uri http://192.168.2.140/status/format/json
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

启动nginx_exporter

systemctl enable nginx_exporter
systemctl start nginx_exporter
systemctl status nginx_exporter

3.3修改prometheus配置文件并重启

- job_name: 'nginx'
  static_configs:
  - targets: ['192.168.1.1:9913']
    labels:
      instance: nginx

http://192.168.2.139:30242/targets

3.4grafana导入nginx-vts-exporter监控

模板连接:Nginx VTS Stats | Grafana Labs

nginx常用命令

nginx -s reopen #重启Nginx
 
nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx
 
nginx -s stop #强制停止Nginx服务
 
nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
 
nginx -t #检测配置文件是否有语法错误,然后退出
 
nginx -?,-h #打开帮助信息
 
nginx -v #显示版本信息并退出
 
nginx -V #显示版本和配置选项信息,然后退出
 
nginx -t #检测配置文件是否有语法错误,然后退出
 
nginx -T #检测配置文件是否有语法错误,转储并退出
 
nginx -q #在检测配置文件期间屏蔽非错误信息
 
nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)
 
nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)
 
nginx -g directives #设置配置文件外的全局指令
 
killall nginx #杀死所有nginx进程

以上就是prometheus监控nginx并实现可视化的操作指南的详细内容,更多关于prometheus监控nginx并可视化的资料请关注脚本之家其它相关文章!

相关文章

  • 网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制

    网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制

    如果你的服务器被攻击很厉害,而且服务器是自己练手的,不需要其他用户访问的,那么就可以配置一下nginx的白名单,下面这篇文章主要给大家介绍了关于网站如何通过nginx设置黑/白名单IP限制及国家城市IP访问限制的相关资料,需要的朋友可以参考下
    2022-07-07
  • Nginx伪静态配置和常用Rewrite伪静态规则集锦

    Nginx伪静态配置和常用Rewrite伪静态规则集锦

    伪静态是一种可以把文件后缀改成任何可能的一种方法,如果我想把php文件伪静态成html文件,这种相当简单的,下面我来介绍nginx 伪静态配置方法有需要了解的朋友可参考。
    2014-06-06
  • Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作

    Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作

    这篇文章主要介绍了Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Nginx负载均衡配置简单配置方法

    Nginx负载均衡配置简单配置方法

    Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器。下面通过本文给大家分享Nginx负载均衡配置简单配置方法,需要的的朋友参考下吧
    2017-08-08
  • Kubernetes中Nginx服务启动失败排查流程分析(Error: ImagePullBackOff)

    Kubernetes中Nginx服务启动失败排查流程分析(Error: ImagePullBackOff)

    这篇文章主要介绍了Kubernetes中Nginx服务启动失败排查流程(Error: ImagePullBackOff),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • nginx如何根据报文里字段转发至不同地址

    nginx如何根据报文里字段转发至不同地址

    要在 Nginx 中根据 POST 请求的 JSON 负载中的 id 字段的值进行转发,你可以使用 Nginx 的 ngx_http_lua_module 模块,这个模块允许你在 Nginx 配置中使用 Lua 脚本,本文介绍nginx如何根据报文里字段转发至不同地址,感兴趣的朋友一起看看吧
    2024-12-12
  • Nginx的try_files指令使用实例

    Nginx的try_files指令使用实例

    这篇文章主要介绍了Nginx的try_files指令使用实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Nginx配置防盗链的完整步骤

    Nginx配置防盗链的完整步骤

    这篇文章主要给大家介绍了关于Nginx配置防盗链的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Centos7.3 安装部署Nginx并配置https的方法步骤

    Centos7.3 安装部署Nginx并配置https的方法步骤

    这篇文章主要介绍了Centos7.3 安装部署Nginx并配置https的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 详解Nginx 工作原理

    详解Nginx 工作原理

    这篇文章主要介绍了Nginx 工作原理,帮助大家更好的理解和学习nginx,感兴趣的朋友可以了解下
    2020-10-10

最新评论