一、自定义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端口是否存在

添加监控项

点击【添加】

点击【预览】查看