nginx接入prometheus

一、安装nginx插件:nginx-module-vts

1.下载nginx源码,这里使用nginx/1.20.1,并上传至服务器

2.下载nginx-module-vts源码,上传至服务器, 解压到/home/op/backup/nginx-module-vts目录

3.查看当前服务器运行的nginx配置

nginx -V
命令执行后打印出信息:
nginx version: nginx/1.20.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/apps/svr/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre

提取保留这段配置信息

--prefix=/apps/svr/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre

4.切换到nginx源码目录,重新编译nginx,通过–add-module参数添加vts module
在从步骤3提取的配置上加上
–add-module=/home/op/backup/nginx-module-vts

--prefix=/apps/svr/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --add-module=/home/op/backup/nginx-module-vts

配置

sudo ./configure --prefix=/apps/svr/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --add-module=/home/op/backup/nginx-module-vts

编译安装

sudo make
sudo make install

编写vts-module配置文件vts.conf,并添加到nginx/conf/conf.d/目录:

vhost_traffic_status_zone;
server {
    listen 80;

    server_name 172.16.22.71;
    server_tokens off;     # don't show the version number, a security best practice
    location /status {
        vhost_traffic_status_display;
        vhost_traffic_status_display_format html;
    }
}

主配置文件在http节点下添加配置

include conf.d/*.conf;

测试nginx是否能启动

sudo sbin/nginx -t

打印如下信息表示成功
nginx: the configuration file /apps/svr/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/svr/nginx/conf/nginx.conf test is successful

启动nginx

sudo sbin/nginx

至此完成nginx-module-vts插件的安装

二、安装nginx-vts-exporter

1.下载安装
nginx-vts-exporter
下载后解压到nginx服务器,/home/op/prometheus/nginx-exporter,更改文件夹名称为nginx-vts-exporter

2.通过systemd对exporter进行管理,实现随系统自动启动
编写配置文件

sudo vi /etc/systemd/system/nginx-exporter.service

文件内容

[Unit]
Description=Nginx VTS Exporter
After=network.target
[Service]
ExecStart=/home/op/prometheus/nginx-exporter/nginx-vts-exporter/nginx-vts-exporter -nginx.scrape_uri=http://172.16.22.71/status/format/json -telemetry.address=:9913
User=op
[Install]
WantedBy=multi-user.target

3.启动服务

#配置重载
sudo systemctl daemon-reload
#服务开启,“nginx-exporter”为配置文件名前缀部分
sudo systemctl enable nginx-exporter
#服务启动
sudo systemctl start nginx-exporter

4.查询服务是否启动成功

sudo systemctl status nginx-exporter

打印如下信息表示成功

 nginx-exporter.service - Nginx VTS Exporter
   Loaded: loaded (/etc/systemd/system/nginx-exporter.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2021-10-22 18:04:40 CST; 4 days ago
 Main PID: 32487 (nginx-vts-expor)
   CGroup: /system.slice/nginx-exporter.service
           └─32487 /home/op/prometheus/nginx-exporter/nginx-vts-exporter/nginx-vts-exporter -nginx.scrape_uri=http://172.16.22.71/status/format/json -telemetry.a...

10月 22 18:04:40 centos7 systemd[1]: Started Nginx VTS Exporter.
10月 22 18:04:40 centos7 nginx-vts-exporter[32487]: 2021/10/22 18:04:40 Starting nginx_vts_exporter (version=0.10.3, branch=HEAD, revision=8aa2881c7050...58611d04)
10月 22 18:04:40 centos7 nginx-vts-exporter[32487]: 2021/10/22 18:04:40 Build context (go=go1.10, user=root@56ca8763ee48, date=20180328-05:47:47)
10月 22 18:04:40 centos7 nginx-vts-exporter[32487]: 2021/10/22 18:04:40 Starting Server at : :9913
10月 22 18:04:40 centos7 nginx-vts-exporter[32487]: 2021/10/22 18:04:40 Metrics endpoint: /metrics
10月 22 18:04:40 centos7 nginx-vts-exporter[32487]: 2021/10/22 18:04:40 Metrics namespace: nginx
10月 22 18:04:40 centos7 nginx-vts-exporter[32487]: 2021/10/22 18:04:40 Scraping information from : http://172.16.22.71/status/format/json
Hint: Some lines were ellipsized, use -l to show in full.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以為您提供一些有關Nginx Prometheus的資訊:Nginx Prometheus是一個用於監控和記錄Nginx網絡伺服器性能指標的開源工具,它可以提供可視化的报告和警報。它支持多種可配置的監測和記錄功能,可以幫助您更清楚地了解網絡伺服器的運行情況,以及對現有性能的影響。 ### 回答2: nginx是一个开源的高性能HTTP和反向代理服务器,可以用于处理静态和动态内容,支持负载均衡、动态缓存和SSL加密等功能。它具有轻量级和高并发的特点,被广泛应用于构建高可用、高性能的Web服务器集群。 Prometheus是一款开源的监控和报警工具,专注于时序数据的收集和存储。它通过采集HTTP接口、Push Gateway和服务发现等多种方式获取应用程序、操作系统和网络设备的监控数据,并将数据存储在自身的时间序列数据库中。Prometheus还支持创建自定义报警规则,并可通过邮件、PagerDuty等方式发送告警通知。 NginxPrometheus之间可以进行集成,用于监控Nginx服务器的运行状态和性能指标。具体来说,可以通过Prometheus的插件或者Prometheus自身提供的Exporter来采集Nginx服务器的指标数据,包括连接数、请求处理时间、响应码等。这些指标数据将被存储在Prometheus的时间序列数据库中,并可以通过PromQL语言进行查询和分析。 通过NginxPrometheus的集成,可以实现对Nginx服务器的实时监控和性能分析。例如,通过监控连接数可以及时发现并处理异常请求;通过监控请求处理时间可以优化Nginx服务器的性能;通过监控响应码可以及时发现和解决错误。此外,利用Prometheus的报警功能,还可以设置自定义的告警规则,实现对Nginx服务器健康状态的实时监测和及时报警。 总之,NginxPrometheus的结合可以提供强大的监控和报警能力,帮助运维人员实时了解和掌握Nginx服务器的运行状态,及时发现潜在的问题并进行处理,进一步提升服务器的可靠性和性能。 ### 回答3: Nginx是一款开源的高性能Web服务器,具有轻量级且高效的特点。它可以作为Web服务器处理并响应HTTP请求和静态文件的请求。同时,Nginx也可作为反向代理服务器用于负载均衡和缓存加速,在大型网站和应用中被广泛使用。 而Prometheus是一款开源的监控和告警工具。它可以进行指标收集、存储、查询和可视化,并且支持自定义的告警规则。Prometheus是基于拉取的方式,周期性地从被监控的目标(如Nginx服务器)获取数据。通过Prometheus,我们可以实时监控Nginx的性能指标,如网络请求的吞吐量、响应时间、错误率等。如果某个指标超过了预设的阈值,Prometheus会触发告警,并及时通知相关人员。 在NginxPrometheus的结合中,我们可以使用Nginx的内置模块ngx_http_stub_status_module来将Nginx性能指标暴露为Prometheus所能接收的格式。通过配置Nginx,我们可以使其将性能指标数据以Prometheus的拉取方式暴露出来,然后由Prometheus进行收集和存储。在Prometheus的配置文件中,我们可以定义要监控的Nginx服务器的地址和特定的指标,以及设置告警规则和查询语句。 通过将NginxPrometheus结合起来,我们可以实现对Nginx服务器的实时监控和报警。这有助于及时发现和解决性能问题,提高系统的稳定性和可靠性。同时,Prometheus还提供了丰富的图标化界面,可以方便地查看和分析监控数据,为系统性能优化提供支持。总的来说,NginxPrometheus的组合是一种强大的监控和管理解决方案,可以为Web服务器的运维工作提供更好的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值