Prometheus+Grafana学习(四) 监控nginx

一、安装Grafana和Prometheus

略,参考:https://blog.csdn.net/u011943534/article/details/122452337

二、安装Nginx和vts等模块

当前安装版本为1.21.5

1.下载

Nginx下载地址:http://nginx.org/download/nginx-1.21.5.tar.gz
VTS模块下载地址:https://github.com/vozlt/nginx-module-vts.git

wget http://nginx.org/download/nginx-1.21.5.tar.gz
wget https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.1.18.zip

2.安装Nginx和vts等模块

(1)安装依赖包
yum install -y  gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel

(2)安装nginx和模块 
tar -zvxf nginx-1.21.5.tar.gz
mv nginx-1.21.5 nginx
tar -zvxf nginx-module-vts-0.1.18.tar.gz
mv nginx-module-vts-0.1.18 nginx-module-vts
cd nginx
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --add-module=/opt/nginx/nginx-module-vts/
make & make install

(3)准备SSL证书 
下面的操作有几个步骤需要输入密码,可以自定义密码
cd /usr/local/nginx/
mkdir sslkey
cd sslkey
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl req -x509 -days 3650 -key server.key -in server.csr > server.crt
openssl rsa -in server.key -out server.key.unsecure

(4)添加vts配置
在server中添加
location /status {
     vhost_traffic_status_display;
     vhost_traffic_status_display_format html;
}
http中天添加:
vhost_traffic_status_zone;

(5)启动nginx
/usr/local/nginx/sbin/nginx

3.测试nginx的status

访问: http://172.16.10.171:81/status
在这里插入图片描述

三、安装nginx-vts-exporter

项目地址:https://github.com/hnlq715/nginx-vts-exporter

1.下载

使用版本0.10.7,下载地址为:https://github.com/hnlq715/nginx-vts-exporter/archive/refs/tags/v0.10.7.tar.gz,需要使用go语言编译,编译方式可查看github的说明。为了方便,这里使用docker镜像。

docker pull sophos/nginx-vts-exporter:v0.10.7

2.运行

启动docker

docker run -d -p 9913:9913  --env NGINX_STATUS=http://172.16.10.171:81/status/format/json  --restart=always sophos/nginx-vts-exporter:v0.10.7

四、配置Prometheus

1.修改配置文件

添加nginx_vts_exporter地址172.16.10.171:9913。

scrape_configs:
- job_name: 'spring'
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: '/demo/actuator/prometheus'
  static_configs:
  - targets: ['192.168.100.88:7901']
- job_name: 'mysql8.x'
  static_configs:
  - targets: ['172.16.10.169:9104', '192.168.100.88:9104']
- job_name: 'nginx'
  static_configs:
  - targets: ['172.16.10.171:9913']

2.重启prometheus

docker ps
在这里插入图片描述

docker restart 78738bfedc5b

3.查看prometheus

访问http://172.16.10.171:9090/targets
查看targets,发现nginx已经加入
在这里插入图片描述
随便测试一个指标:nginx_server_cache
在这里插入图片描述
监控指标说明:
在这里插入图片描述

五、配置Grafana

在grafana的dashaboard页面搜索Nginx VTS Stats,使用这个地址:https://grafana.com/grafana/dashboards/2949
在这里插入图片描述
下载JSON,导入JSON
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus可以监控nginx的流量。通过使用Prometheus的插件或者导出器可以收集nginx监控数据。其中,可以使用nginx-vts-exporter来收集Nginx监控数据,并将其通过HTTP暴露给Prometheus进行消费。nginx-vts-exporter是一个简单的服务器,它会抓取Nginx的vts(虚拟主机统计)统计数据,并通过HTTP接口提供给Prometheus。默认情况下,nginx-vts-exporter监听的端口号是9913。 Prometheus具有多维数据模型,可以很好地对nginx的指标进行收集和存储,例如流量。你可以自定义Prometheus的数据标签,以便针对不同的机房和项目对nginx进行监控。这样,你可以根据需要对各个维度的流量进行可视化展示,也可以使用Grafana等工具来生成图像展示和监控报告。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [用PrometheusNginx监控](https://blog.csdn.net/weixin_41709748/article/details/88063548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [使用prometheus监控nginx](https://blog.csdn.net/Mob_com/article/details/89312413)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值