zabbix报警及自愈

自定义键值配置

1、安装一个服务

安装过程这里不做过多阐述

2、创建一个监听脚本(很简单)

vim lvmainserver.sh

#!/bin/bash
port=`netstat -lntp | grep -c 20000`
if [  "$port" = 1 ]
then
        echo '1'	#端口存在则输出1
else
        echo '0'    #端口不存在输出0
fi

3、修改zabbix_agentd.conf配置文件创建自定义key

vim zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log
EnableRemoteCommands=1	#开启远程命令
Server=192.168.12.142
ServerActive=192.168.12.42
Hostname=192.168.12.62
UnsafeUserParameters=1	#是否允许自定义脚本传递特殊字符作为参数,通常不用开
UserParameter=lvmain,sh /usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/lvmainserver.sh  #定义一个键值"lvmain",检测脚本路径

在服务器端测试键值


[root@zabbix logs]# /usr/local/zabbix/bin/zabbix_get -s 192.168.12.62 -p 10050 -k lvmain
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
1

返回值为1即为存在20000端口,即服务存活

出现以下问题

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
原因
经过排查后发现脚本中有运行 netstat 查看进程的命令,因为是在普通用户下执行的 netstat命令,所以权限不足

解决办法

登陆root用户,执行如下命令,让其它用户瞬间获得文件所有者的权限

# chmod +s /bin/netstat

4、服务器配置

vi /etc/sudoers
#Defaults requiretty   #注释掉此项,因为zabbix执行这命令不是通过tty终端登录执行,所以关闭次设置。
Defaults   !visiblepw
Defaults    always_set_home
Defaults    match_group_by_gid
Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root	ALL=(ALL) 	ALL
mtmwsjd	ALL=(ALL) 	ALL
zabbix  ALL=(ALL)   ALL  #zabbix用户可以使用sudo权限

zabbix ALL=(ALL) NOPASSWD:ALL   #zabbix用户sudo不使用密码即可
You have mail in /var/spool/mail/root

5、重启zabbix_agentd服务

~]# systemctl restart zabbix-agent.service

6、zabbix用户可登陆

~]# mkdir /var/lib/zabbix# 创建家目录,可不做
~]# grep "^zabbix" /etc/passwd
zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
~]# usermod -s /bin/bash zabbix
~]# grep "^zabbix" /etc/passwd
zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash

7、创建监控项
在这里插入图片描述
8、创建触发器
在这里插入图片描述
9、创建动作
在这里插入图片描述
在这里插入图片描述
令附上weblogic服务脚本

#!/bin/bash  
# description: lvmainserver Start Stop Restart  
# processname: lvmainserver  
# chkconfig: 2345 14 94  
case $1 in
start)
PRO_NUM=`ps -ef |grep /LVMainServer  |grep -v grep |wc -l`
if [ $PRO_NUM -eq 0 ];then
cd /home/appiron/JianqView/Bin && nohup ./LVMainServer &
echo "LVMainServer start success"
else
echo "LVMainServer already started"
fi
;;

stop)
ps -ef |grep /LVMainServer  |grep -v grep
if [ $? -eq 0 ];then
ps -ef |grep LVMainServer |grep -v grep |awk '{print $2}'|xargs kill -9
echo "LVMainServer stop success"
else
echo "LVMainServer already stop"
fi
;;

restart)
ps -ef |grep /LVMainServer |grep -v grep
if [ $? -eq 0 ];then
ps -ef |grep LVMainServer |grep -v grep |awk '{print $2}'|xargs kill -9
echo "LVMainServer stop success"
else
echo "LVMainServer already stop"
fi
sleep 0.5s
cd /home/appiron/JianqView/Bin && nohup ./LVMainServer &
echo "LVMainServer start success"
;;

esac
exit 0


在这里插入图片描述
10、测试结果
在这里插入图片描述
停止服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此zabbix监控自愈完成

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值