一、自定义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、安装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】

添加【Nginx by Zabbix agent】模板后,选择【更新】

2、修改nginx模板的宏
依次点击【配置】-【模板】-【Nginx by Zabbix agent】

修改宏{\$NGINX.STUB_STATUS.PATH}的值为/,宏{\$NGINX.STUB_STATUS.PORT}的值为8000,点击【更新】

3、查看主机监控项
依次点击【配置】-【主机】-【监控项】

填写【名称】nginx后,点击【应用】

二、监控nginx80端口状态¶
2.1 自定义监控全流程¶
客户端:书写命令或脚本,修改配置文件.
服务端:测试,web页面操作
<colgroup> <col style="width: 33%" /> <col style="width: 33%" /> <col style="width: 33%" /> </colgroup>| 步骤 | 流程 | 相关说明 |
|---|---|---|
| 客户端 | 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)依次点击【配置】-【主机】-【监控项】

(2)点击【创建监控项】

(3)填写名称、键值后,点击【测试】

知识点补充:对比历史数据与趋势数据
| 历史数据与趋势数据 | 说明 | 推荐配置 |
|---|---|---|
| 历史数据保留时长 | 每个更新间隔获取到的数据 | 推荐空间不乐观 可以设置为30d |
| 趋势数据保留时长 | 记录数据变化的趋势,占用空间较少 | 推荐保留更长时间 3650d |
(4)点击【获取值并进行测试】

(5)测试成功后,点击【添加】

2、查看最新数据与图形
依次点击【监测】-【最新数据】,在【名称】位置处填写ngx服务80端口的状态后,点击【应用】

继续点击【图形】,查看图形


2.5 添加触发器¶
根据监控项获取的数值(内容),决定是否要告警、是否要提示异常。
1、创建触发器
依次点击【配置】-【主机】-【触发器】

点击【创建触发器】

填写相关内容后,点击【添加】
#名称
网站ngx挂了
#填写问题表现形式
last(/zabbix-client01/ngx.port)=0
#填写恢复表达式
last(/zabbix-client01/ngx.port)<>0

其中问题表现形式添加方式如下:

2、添加触发器完成后,进行验证
填写名称后,点击【应用】进行过滤

3、模拟告警
在客户端关闭nginx
| [root@zabbix-client01 ~]# systemctl stop nginx |
|---|
4、查看并确认告警
设置web界面刷新时间

在仪表板中观察,发现报警信息

确认故障



2.6 添加图形¶
1、添加图形
依次点击【配置】-【主机】-【图形】

点击【创建图形】

2、配置图形名字与添加监控项
配置图形名字为ngx80端口是否存在

添加监控项

点击【添加】

点击【预览】查看
