【监控】 zabbix 添加Shell脚本监控

需求描述

主机 172.16.7.135 网络不稳定,经常出现baidu不能访问的情况,利用zabbix对该主机的网络状态进行监控,检测baidu能否正常访问,出现异常时,飞书进行通知

如果百度正常访问,其返回的状态码为200;这里实现的思路为:编写php脚本检测curl baidu后的状态码是否为200,不是返回false,正常则返回true,zabbix-server端用zabbix-get 执行zabbix-agent 端脚本,如果可以正常执行,在web界面根据键值进行监控

检测百度是否正常的PHP脚本

<?php
// 创建一个cURL句柄
$ch = curl_init();

// 设置cURL选项
curl_setopt($ch, CURLOPT_URL, 'https://www.baidu.com'); // 要访问的网页URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回响应数据而不直接输出
curl_setopt($ch, CURLOPT_HEADER, true); // 包括响应头信息

// 执行cURL请求
$response = curl_exec($ch);

// 获取HTTP响应状态码
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// 关闭cURL句柄
curl_close($ch);

// 打印HTTP响应状态码
if($httpStatusCode=="200")
{
    echo 'true';
}else
{
    echo  'false';
}

?>

本地测试

[root@test ~]$ php /var/www/html/test.php 
true
[root@test ~]$ /usr/bin/php /var/www/html/test.php
true
[root@test ~]$ 

手动修改主机的host 文件 模拟百度不能使用的情况,脚本正常执行,返回false

[root@iZuf65wxtpyt9a8dedg53lZ ~]$ tail -n 2 /etc/hosts
1.1.1.4 www.baidu.com

[root@iZuf65wxtpyt9a8dedg53lZ ~]$ php /var/www/html/test.php
false
[root@iZuf65wxtpyt9a8dedg53lZ ~]$ 

将脚本绑定上键值
在这里插入图片描述

测试执行

[root@iZuf65wxtpyt9a8dedg53lZ zabbix_agentd.d]$ /usr/local/zabbix/bin/zabbix_get -s 172.16.7.135 -k https_code
false
[root@iZuf65wxtpyt9a8dedg53lZ zabbix_agentd.d]$ 

执行成功说明 键值已经成功与脚本进行绑定

zabbix web界面添加监控项

监控项-> 触发器 -> 动作(飞书通知管理员)
在这里插入图片描述

添加触发器
在这里插入图片描述

添加动作通知飞书
在这里插入图片描述

测试成功

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值