ZABBIX配置自动添加端口监控,并触发重启服务
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1、配置自动发现脚本#!/bin/bash # ----------------------------------------------------------------------------
千家信息网最后更新 2025年12月02日ZABBIX配置自动添加端口监控,并触发重启服务
1、配置自动发现脚本
#!/bin/bash # -------------------------------------------------------------------------------# Script_name: discovery_port.sh # Revision: 1.0# Date: 2017/05/08# Author: kbsonlong# Email: kbsonlong@gamil.com# Website: www.along.party# ------------------------------------------------------------------------------- source /etc/bashrc >/dev/null 2>&1 source /etc/profile >/dev/null 2>&1 port_discovery () { PORTS=($(cat /data/PRG/zabbix/scripts/PORT.txt|grep -v "^#")) printf '{\n' printf '\t"data":[\n' for((i=0;i<${#PORTS[@]};++i)) { num=$(echo $((${#PORTS[@]}-1))) if [ "$i" != ${num} ]; then printf "\t\t{ \n" printf "\t\t\t\"{#PORT}\":\"${PORTS[$i]}\"},\n" else printf "\t\t{ \n" printf "\t\t\t\"{#PORT}\":\"${PORTS[$num]}\"}]}\n" fi } } case "$1" in port_discovery) port_discovery ;;*) echo "Usage:$0 port_discovery" ;; esac
2、配置自定义KEY port
vim zabbix_agentd.conf 添加如下内容,并重启zabbix agent让自定义key生效
UserParameter=port,/data/PRG/zabbix/scripts/port_discovery.sh port_discovery3、在zabbix server端使用zabbix_get测试ket是否生效
[root@ctc-167 bin]# ./zabbix_get -s 192.168.xxx.147 -k port{ "data":[ {"{#IP}":" 192.168.xxx.147"}, { "{#PORT}":"80"}, { "{#PORT}":"8080"}]}
4、zabbix web端添加自动发现规则模板(check_port.xml),导入后有如下模板,关联主机后自动创建监控项跟触发器

5、配置触发器动作
6、开启客户端远程执行命令,并重启agent
vim zabbix_agentd.conf EnableRemoteCommands = 1
7、由于远程执行命令使用的是zabbix用户执行,配置sudo,使zabbix用户拥有权限执行重启脚本
# visudozabbix ALL=NOPASSWD:/etc/init.d/nginxd8、将监控端口关闭,此时通过zabbix web会发现,触发器执行远程命令操作。但是查看端口还是关闭状态
这是由于sudo执行默认需要控制终端
编辑 /etc/sudoers
1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端。
2)Defaults requiretty,修改为 Defaults:nobody !requiretty,表示仅 nobody 用户不需要控制终端。
如果修改为 Defaults:%nobody !requiretty,表示仅 nobody 组不需要控制终端。
其实只要注释掉)Defaults requiretty 那个就可以了。表示在执行的时候不打开终端
重新开启服务,并等触发器恢复之后再将服务关闭,此时可以看到nginx进程是在16:16分启动。
# ps -ef |grep nginxroot 24516 1 0 16:16 ? 00:00:00 nginx: master process /data/PRG/nginx/sbin/nginx -c /data/PRG/nginx/conf/nginx.confnobody 24517 24516 0 16:16 ? 00:00:00 nginx: worker process nobody 24519 24516 0 16:16 ? 00:00:00 nginx: worker process nobody 24520 24516 0 16:16 ? 00:00:00 nginx: worker process nobody 24521 24516 1 16:16 ? 00:00:00 nginx: worker process root 24710 29543 0 16:17 pts/1 00:00:00 grep nginx
终端
配置
触发器
控制
命令
用户
端口
服务
监控
模板
脚本
主机
内容
动作
客户
客户端
时候
是在
权限
注释
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州一起聚餐互联网科技有限公司
mc好玩的服务器跑酷有奖
怀旧服lm服务器选择
qq无法连接到服务器
网络技术标准设计规范大全
信阳天气预报软件开发
数据库数据字典
软件开发客服话术
dnf十大服务器壁纸
高铁网络安全性高吗
南昌北斗校时服务器
数据库文件水洗符
顺风车软件开发多少钱
acfun被关闭服务器
校园网络安全清单
北京钛伦特软件开发有限公司
云计算网络安全排名
收到信用中国数据库的信息
二级数据库用什么软件考
点餐软件开发需要那些技术
潮流软件开发设施标准
我是网络安全小卫士主题
安徽戴尔服务器采购
前端软件开发需要多少钱
网络安全与普通人
软件开发流程调研
落实网络安全
js增加json追加数据库
北京语音网络技术推广
前海黑蝠网络技术有限公司