
一、自定义nginx模板
1.1 客户端安装nginx
1、进入nginx官网,复制官方yum源
Nginx官网链接:https://nginx.org/en/linux_packages.html
[root@zabbix-client01 ~]# cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
![图片[2]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/d5df0ed2a9d0_image157.png)
2、安装nginx
#查看支持安装的所有版本
[root@zabbix-client01 ~]# yum list nginx --showduplicates | sort -r
#选择安装nginx-1.20.1-1.el7.ngx
[root@zabbix-client01 ~]# yum install -y nginx-1.20.1-1.el7.ngx
#查询系统上已经安装的 nginx 软件包的版本
[root@zabbix-client01 ~]# rpm -qa nginx
nginx-1.20.1-1.el7.ngx.x86_64
3、修改配置文件
[root@zabbix-client01 ~]# vim /etc/nginx/conf.d/status.conf
server {
listen 8000;
location / {
stub_status;
}
}
4、启动nginx
[root@zabbix-client01 ~]# systemctl start nginx
#测试配置是否成功
[root@zabbix-client01 ~]# curl http://localhost:8000/
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
1.2 web界面调试
说明:在此之前需要提前配置客户端
1、给主机添加模板
依次点击【配置】-【主机】-【zabbix-client01】
![图片[3]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/1780f689fb08_image158.png)
添加【Nginx by Zabbix agent】模板后,选择【更新】
![图片[4]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/92171eba7c7a_image159.png)
2、修改nginx模板的宏
依次点击【配置】-【模板】-【Nginx by Zabbix agent】
![图片[5]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/88020517eebe_image160.png)
修改宏{\$NGINX.STUB_STATUS.PATH}的值为/,宏{\$NGINX.STUB_STATUS.PORT}的值为8000,点击【更新】
![图片[6]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/6b858e239a30_image161.png)
3、查看主机监控项
依次点击【配置】-【主机】-【监控项】
![图片[7]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/7f19d3076ec8_image162.png)
填写【名称】nginx后,点击【应用】
![图片[8]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/a263356b2873_image163.png)
二、监控nginx80端口状态
2.1 自定义监控全流程
客户端:书写命令或脚本,修改配置文件.
服务端:测试,web页面操作
| 步骤 | 流程 | 相关说明 |
|---|---|---|
| 客户端 | linux: 通过命令、脚本取出对应的值 | |
| linux:根据zbx要求按照格式,书写配置文件,创建键值 | 键值key用于获取客户端数据 | |
| linux:重启客户端客户端测试键值是否可用 | zabbix_agent2 -t | |
| 服务端 | linux:服务端测试键值是否可用 | zabbix_get |
| Web界面 | 实现键值与监控项关联 | |
| 进行测试 | ||
| 图形化展示 | ||
| 触发器 |
是否发出警告 需要根据情况决定是否设置 |
2.2 客户端
1、通过命令取出对应的值
[root@zabbix-client01 ~]# ss -lntup | grep -w 80 | wc -l
1
2、创建键值
[root@zabbix-client01 ~]# vim /etc/zabbix/zabbix_agent2.d/web.conf
UserParameter=ngx.port,ss -lntup|grep -w 80|wc -l
3、重启客户端
| [root@zabbix-client01 ~]# systemctl restart zabbix-agent2.service |
|---|
4、客户端本地测试键值
#下面回显中s表示类型,1表示结果
[root@zabbix-client01 ~]# zabbix_agent2 -t ngx.port
ngx.port [s|1]
2.3 服务端
1、安装zabbix-get
| [root@zabbix-server01 ~]# yum install -y zabbix-get |
|---|
zabbix-get命令选项说明:
| zabbix-get命令 | 命令说明 |
|---|---|
| -s | 客户端ip地址 |
| -p | 客户端端口号(默认是10050) |
| -k | 指定键值 |
2、使用zabbix-get向客户端要指定键值的数据
[root@zabbix-server01 ~]# zabbix_get -s 172.16.1.41 -p 10050 -k ngx.port
1
2.4 添加监控项
1、创建监控项
(1)依次点击【配置】-【主机】-【监控项】
![图片[9]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/187fcfb313d9_image164.png)
(2)点击【创建监控项】
![图片[10]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/00c9bf2c8de3_image165.png)
(3)填写名称、键值后,点击【测试】
![图片[11]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/0c119ee6115d_image166.png)
知识点补充:对比历史数据与趋势数据
| 历史数据与趋势数据 | 说明 | 推荐配置 |
|---|---|---|
| 历史数据保留时长 | 每个更新间隔获取到的数据 | 推荐空间不乐观 可以设置为30d |
| 趋势数据保留时长 | 记录数据变化的趋势,占用空间较少 | 推荐保留更长时间 3650d |
(4)点击【获取值并进行测试】
![图片[12]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/4006529704ee_image167.png)
(5)测试成功后,点击【添加】
![图片[13]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/c49e676cc9a8_image168.png)
2、查看最新数据与图形
依次点击【监测】-【最新数据】,在【名称】位置处填写ngx服务80端口的状态后,点击【应用】
![图片[14]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/cb330b5cfccb_image169.png)
继续点击【图形】,查看图形
![图片[15]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/eea42d3903d3_image170.png)
![图片[16]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/03c5a156db12_image171.png)
2.5 添加触发器
根据监控项获取的数值(内容),决定是否要告警、是否要提示异常。
1、创建触发器
依次点击【配置】-【主机】-【触发器】
![图片[17]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/9843ef02c455_image172.png)
点击【创建触发器】
![图片[18]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/d0b441b3f96c_image173.png)
填写相关内容后,点击【添加】
#名称
网站ngx挂了
#填写问题表现形式
last(/zabbix-client01/ngx.port)=0
#填写恢复表达式
last(/zabbix-client01/ngx.port)<>0
![图片[19]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/153093b3e92e_image174.png)
其中问题表现形式添加方式如下:
![图片[20]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/eb09faca476c_image175.png)
2、添加触发器完成后,进行验证
填写名称后,点击【应用】进行过滤
![图片[21]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/f2df32fec98f_image176.png)
3、模拟告警
在客户端关闭nginx
| [root@zabbix-client01 ~]# systemctl stop nginx |
|---|
4、查看并确认告警
设置web界面刷新时间
![图片[22]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/d89321bea2eb_image177.png)
在仪表板中观察,发现报警信息
![图片[23]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e358cb461fbb_image178.png)
确认故障
![图片[24]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/9d465b7923d9_image179.png)
![图片[25]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/70803dee5b8b_image180.png)
![图片[26]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/c9879613a70a_image181.png)
2.6 添加图形
1、添加图形
依次点击【配置】-【主机】-【图形】
![图片[27]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/10eed0d95a79_image182.png)
点击【创建图形】
![图片[28]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/465ed36d092e_image183.png)
2、配置图形名字与添加监控项
配置图形名字为ngx80端口是否存在
![图片[29]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8a372440d1a8_image184.png)
添加监控项
![图片[30]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e73909268360_image185.png)
点击【添加】
![图片[31]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/abe3be475d4d_image186.png)
点击【预览】查看
![图片[32]-使用 Zabbix 监控 Nginx 服务与 80 端口状态-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/814118bfbc0a_image187.png)






暂无评论内容