ZABBIX配置自动添加端口监控,并触发重启服务
发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,1、配置自动发现脚本#!/bin/bash # ----------------------------------------------------------------------------
千家信息网最后更新 2024年10月20日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_discovery
3、在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/nginxd
8、将监控端口关闭,此时通过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安全错误
数据库的锁怎样保障安全
软件开发工程师招聘招聘
然趣网络技术
班组网络安全自查总结
数据库工程师考试报名入口
一台服务器耗电量是多少
广东专业服务器哪个厂家质量好
吃鸡那个服务器最简单
查看sql数据库表数据量
联想服务器管理口配置ip
普通excel建立数据库
互联网科技实业
向日葵有服务器版本吗
挑选网络技术服务行业标准
效果图服务器
安全中心服务器已关闭啥意思
数据库发展与新技术
mssql免费数据库
网络安全产品安全认证
连接数据库是字典传参的好处
银行通信网络安全
网络安全从本质上来讲
浙江分析管理软件开发商
悬浮时钟软件开发
新云网络安全手抄报
服务器安全改造
工行软件开发中心本部地址
宜阳软件开发报价
csgo国服和平台服务器
易语言模拟服务器协议
IBM服务器哪家好