Zabbix入门到实战-02

Zabbix自定义监控

实验环境继zabbix入门到实战-01

自定义监控全流程

1. 确定监控需求

首先,你需要明确你想监控的是什么。比如:

  • 你想知道某个服务的运行状态(比如一个自定义的应用程序

  • 你想查看某个日志文件中

  • 你想监控服务器上的某个自定义脚本的运行

2. 编写检测脚本

既然是自定义监控,Zabbix 自带的模板可能无法直接帮你监控这些指标,所以需要写一个简单的脚本来获取这些信息。比如你想监控一个服务是否在运行,可以编写一个类似以下的 Shell 脚本:

#!/bin/bash
if systemctl is-active my_custom_service >/dev/null 2>&1; then
  
echo 1  # 表示服务正在运行
else
  
echo 0  # 表示服务没有运行
fi
``

这个脚本会返回 1 代表0 代表

3. 设置 Zabbix Agent 配置

  1. 找到 Zabbix Agent 的配置文件(通常是 /etc/zabbix/zabbix_agentd.conf)。 2

  2. 添加一个自定义的 UserParameter

UserParameter=custom.service.check,/path/to/your/script.sh

这行配置告诉 Zabbix Agent,你定义了一个叫 custom.service.check 的监控项,它的值是由 script.sh 脚本的输出决定的。

  1. 重启 Zabbix Agent 使配置生效:

sudo systemctl restart zabbix-agent

4. 在 Zabbix Web 界面上创建自定义监控项

  1. 登录到 Zabbix Web 界面。

  2. 进入 Configuration -> Hosts,找到你想要监控的主机,点击进去。

  3. 在主机配置页面中,点击 Items(监控项),然后点击 Create item 创建新的监控项。

  4. 在监控项配置中,设置以下字段:

    • Name:自定义监控项的名称,比如 "My Custom Service Status"。

    • Type:选择 Zabbix agent,因为我们通过 agent 来获取数据。

    • Key:输入你之前在 agent 配置文件里定义的 custom.service.check

    • Type of information:选择 Numeric (unsigned),因为脚本返回的是数字。

    • Update interval:设置监控的频率,比如每 60 秒检查一次。

  5. 保存设置。

5. 创建触发器(可选)

如果你想要 Zabbix 在服务停止时发出警报,你可以创建一个触发器。

  1. 在主机的配置页面中,点击 Triggers(触发器),然后点击 Create trigger

  2. 设置触发器的名称,比如 "Service Down Alert"。

  3. Expression 字段中,填写触发条件,比如:

    {your-host-name:custom.service.check.last()}=0

    这表示当 custom.service.check 的值为 0 时,触发警报。

  4. 设置触发器的严重程度,比如 AverageHigh,根据你的需求设置。

  5. 保存触发器。

6. 查看监控结果

完成上面的步骤后,Zabbix 会根据你设置的时间间隔去执行自定义脚本,并把结果显示在监控界面。你可以在 Zabbix Web 界面的 Monitoring -> Latest Data 中查看自定义监控项的实时数据。

7. 触发警报和行动

如果服务停止,Zabbix 会根据你设置的触发器发出警报。你可以在 Zabbix 中进一步设置警报通知方式,比如通过邮件、短信或微信通知管理员。

监控nginx服务是否运行

1、在web01安装nginx并启动

[root@web01 ~]# yum install -y nginx
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# ss -lntup | grep -w 80
tcp   LISTEN 0      511          0.0.0.0:80         0.0.0.0:*    users:(("nginx",pid=6293,fd=6),("nginx",pid=6292,fd=6))
[root@web01 ~]# 

2、设置 agent2 配置

# 在web01的/etc/zabbix/zabbix_agent2.d/下
[root@web01 ~]# cat /etc/zabbix/zabbix_agent2.d/nginx.conf
UserParameter=nginx.port,ss -lntup | grep -w 80 | wc -l
[root@web01 ~]# 
​
# 修改完配置文件之后重启服务
[root@web01 ~]# systemctl restart zabbix-agent2.service

3、zabbix-server安装zabbix-get并测试

下载地址:zabbix-zabbix安装包下载_开源镜像站-阿里云

# 根据自己的版本安装相应的版本的get
[root@zabbix-server ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/9/x86_64/zabbix-get-7.0.3-release1.el9.x86_64.rpm
​
# 测试监控项
[root@zabbix-server ~]# zabbix_get -s 10.45.25.31 -k nginx.port
1
[root@zabbix-server ~]# 
​
# 在web01中停止nginx,再次测试,测试完之后启动nginx
[root@web01 ~]# systemctl stop nginx
[root@zabbix-server ~]# zabbix_get -s 10.45.25.31 -k nginx.port
0
[root@zabbix-server ~]# 
[root@web01 ~]# systemctl start nginx

4、在web界面中创建自定义监控项

5、创建触发器

当nginx服务停止时,提示报警。选择刚创建的监控项。

6、停止和启动nginx,查看web界面报警

[root@web01 ~]# systemctl stop nginx
# 当停止了nginx后,立马就出现了报警,因为我们设置的检测时间间隔为1s。具体根据实际情况设置,这里只提供测试。

# 启动nginx,查看报警是否消除
[root@web01 ~]# systemctl start nginx

7、为监控项创建图形,根据需求创建

总结:本次的示例很简单,最重要的就是配置流程,在今后要根据需求配置相应的参数,过程的内容会变复杂,但原理一致。可以自行尝试监控其他服务或自定义服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值