【zabbix】自定义监控、邮件报警、企业微信报警、钉钉报警(详细)

该文详细介绍了如何在Zabbix6.0环境下,于CentOS7系统上设置自定义监控,特别是针对系统用户登录数的监控。同时,文章涵盖了声音、邮件、微信和钉钉四种报警机制的配置步骤,包括触发器创建、报警媒介设定、用户关联及动作配置等。
摘要由CSDN通过智能技术生成

环境说明

        centos 7 版本

        zabbix 6.0 版本

主机名

IP地址

备注

zabbix

192.168.10.150

服务端,同时自我监控
zabbix-2192.168.10.151客户端

 一、自定义监控(监控系统用户登录数)

1、通过命令或脚本取出值

[root@zabbix-2 ~]# who | wc -l
1

2、编写客户端配置文件


[root@zabbix-2 ~]# vim /etc/zabbix/zabbix_agent2.conf 
#开启key的特殊字符处理
UnsafeUserParameters=1
[root@zabbix-2 ~]# vim /etc/zabbix/zabbix_agent2.d/web.conf
#UserParameter=key,cmd,固定格式,key为名称,cmd为命令,可以是执行脚本的命令
UserParameter=check.who.number,who | wc -l
[root@zabbix-2 ~]# systemctl restart zabbix-agent2

3、客户端本地测试键值

[root@zabbix-2 ~]# zabbix_agent2 -t check.who.number
check.who.number                              [s|1]
#s表示类型文字,数字代表值

4、服务端测试键值

[root@zabbix ~]# yum install zabbix-get -y
#安装不成功,可能是源的问题,试试下面命令下载源
yum install -y https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm 
sed -i 's#https://repo.zabbix.com/zabbix#https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix#g' /etc/yum.repos.d/zabbix.repo 
#-s:客户端地址,-k:键值
[root@zabbix ~]# zabbix_get -s 192.168.10.151  -k check.who.number
1    #结果

5、服务端创建监控项

 二、声音报警

 三、邮件报警

1、创建触发器

 测试

  • 是否触发构建器
  • 是否触发声音报警

 2、配置报警媒介

 #测试邮箱发送功能

 3、修改报警模板

设置问题内容:

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:
告警主机 :{HOSTNAME1}
告警时间 :{EVENT.DATE} {EVENT.TIME}
告警等级 :{TRIGGER.SEVERITY}
告警信息 : {TRIGGER.NAME}
告警项目 :{TRIGGER.KEY1}
问题详情 :{ITEM.NAME}:{ITEM.VALUE}
当前状态 :{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
设置恢复内容:
恢复:恢复 {TRIGGER.STATUS}, 服务器 :{HOSTNAME1}: {TRIGGER.NAME} 已恢复 !
恢复信息:
告警主机 :{HOSTNAME1}
告警时间 :{EVENT.DATE} {EVENT.TIME}
告警等级 :{TRIGGER.SEVERITY}
告警信息 : {TRIGGER.NAME}
告警项目 :{TRIGGER.KEY1}
问题详情 :{ITEM.NAME}:{ITEM.VALUE}
当前状态 :{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

 3、创建用户

#用户与报警媒介相关联,注意创建用户要对服务器群组有读取权限才可以发送邮件

  • 创建用户群组

  •  创建用户

#这里密码我改为了redhat000 

#注意类型选择你的Email-test,我这选错了 

 4、配置动作

 5、测试

#打开多个终端

四、微信报警


1、注册企业微信

注册网址:企业微信

 #创建企业后添加成员

2、创建部门并添加用户

3、创建机器人

 

 4、配置脚本

#zabbix-server操作

[root@zabbix ~]# yum install python3-pip -y
[root@zabbix ~]# pip3 install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
[root@zabbix ~]# cd /usr/local/share/zabbix/alertscripts/
[root@zabbix alertscripts]# vim wechat.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a00f90b4-85d1-4881-bc32-b8e0a43a4099" #机器人webhook地址
def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print (requests.post(api_url,json.dumps(json_text),headers=headers).content)

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)  
[root@zabbix alertscripts]# chmod +x wechat.py 
#测试
[root@zabbix alertscripts]# python3 wechat.py nh
b'{"errcode":0,"errmsg":"ok"}'

 5、配置报警媒介

参数:
{ALERT.MESSAGE}

 #报警模板在上面的邮件报警里

6、用户与报警媒介相关联

7、配置动作 

 8、测试

五、钉钉报警

1、创建群并添加机器人

【手机钉钉】 | 【电脑钉钉】 - 右上角【 + - 【发起群聊】 - 【选人建群】 / 选择不同的群类型创建;

 2、编写脚本

[root@zabbix ~]# cd /usr/local/share/zabbix/alertscripts
[root@zabbix alertscripts]# vim dingding.py
#!/usr/bin/env python3
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=6f3ea59d5a9de53d0db111111118e8f415a369f3b0d866a2dd7726"
user=sys.argv[1]
text=sys.argv[3]
data={
  "msgtype": "text",
  "text": {
    "content": text
  },
  "at": {
    "atMobiles": [
      user
    ],
    "isAtAll": False
  } 
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/usr/lib/zabbix/logs/dingding.log"):
  f=open("/usr/lib/zabbix/logs/dingding.log","a+")
else:
  f=open("/usr/lib/zabbix/logs/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
  f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text))
  f.close()
else:
  f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text))
  f.close()
[root@zabbix alertscripts]# chmod +x dingding.py 
[root@zabbix alertscripts]# chown zabbix:zabbix dingding.py 
#创建log文件目录
[root@zabbix alertscripts]# mkdir -p /usr/lib/zabbix/logs
[root@zabbix alertscripts]# touch /usr/lib/zabbix/logs/dingding.log
[root@zabbix alertscripts]# chown zabbix:zabbix /usr/lib/zabbix/logs/dingding.log 
#测试,必须加上你的自定义关键字zabbix
[root@zabbix alertscripts]# ./dingding.py a b "zabbix:test"

 #在钉钉上查看

 3、创建报警媒介

三个参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE} 

#模板信息在上面的邮件报警里面 

4、用户添加报警媒介

5、配置动作

 6、测试

 完成!

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值