1 编译安装nginx
1.1 安装编译工具
CentOS:
yum -y install git wget gcc make zlib-devel gcc-c++ libtool openssl openssl-devel
Ubuntu:
apt -y install git wget gcc make zlib1g-dev build-essential libtool openssl libssl-dev
1.2 克隆nginx-module-vts模块
git clone git://github.com/vozlt/nginx-module-vts.git
1.3 下载nginx软件包
wget https://nginx.org/download/nginx-1.26.2.tar.gz
1.4 解压nginx
tar xf nginx-1.26.2.tar.gz
1.5 配置nginx
cd nginx-1.26.2
./configure --prefix=/zqylinux/softwares/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--without-http_rewrite_module \
--with-http_stub_status_module \
--without-http_gzip_module \
--with-file-aio \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module \
--add-module=/root/nginx-module-vts
1.6 编译并安装nginx
make -j 2 && make install
1.7 修改nginx的配置文件
vim /zqylinux/softwares/nginx/conf/nginx.conf
...
http {
vhost_traffic_status_zone;
...
server {
...
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
1.8 检查配置文件语法
[root@jenkins211 ~]# /zqylinux/softwares/nginx/sbin/nginx -t
nginx: the configuration file /zqylinux/softwares/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /zqylinux/softwares/nginx/conf/nginx.conf test is successful
[root@jenkins211 ~]#
1.9 启动nginx
[root@jenkins211 ~]# /zqylinux/softwares/nginx/sbin/nginx
[root@jenkins211 ~]#
[root@jenkins211 ~]# ss -ntl | grep 80
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
[root@jenkins211 ~]#
2 安装nginx-vtx-exporter
2.1 下载nginx-vtx-exporter
wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
温馨提示:
不建议下载更高版本,因为其会提升对GLIC的版本要求,可以通过" strings /lib64/libc.so.6 | grep GLIBC_ "查看默认是2.17版本,若使用较高版本则需要2.32+
2.2 解压软件包到path路径
tar xf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz -C /usr/local/bin/ nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter --strip-components=1
2.3 运行nginx-vtx-exporter
[root@jenkins211 ~]# nginx-vts-exporter -nginx.scrape_uri=http://10.0.0.211/status/format/json
访问10.0.0.211:9913查看数据(9913是nginx-vtx-exporter默认端口)
3 配置prometheus采集nginx数据
3.1 修改配置文件
[root@prometheus-server31 ~]# vim /zqylinux/softwares/prometheus-2.53.2.linux-amd64/prometheus.yml
...
scrape_configs:
...
- job_name: "zqylinux-nginx-vts-exporter"
static_configs:
- targets:
- "10.0.0.211:9913"
[root@prometheus-server31 ~]# check
Checking /zqylinux/softwares/prometheus-2.53.2.linux-amd64/prometheus.yml
SUCCESS: /zqylinux/softwares/prometheus-2.53.2.linux-amd64/prometheus.yml is valid prometheus config file syntax
[root@prometheus-server31 ~]#
[root@prometheus-server31 ~]# rr
[root@prometheus-server31 ~]#
3.2 访问Prometheus的WebUI
http://10.0.0.31:9090/targets
3.3 导入grafana模板
2949