zabbix配置

Posted 正在努力的BOY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix配置相关的知识,希望对你有一定的参考价值。

一、配置邮件报警

   1、脚本

   # cd /usr/lib/zabbix/alertscripts
   # vim Sendmail.sh          
#!/bin/bash
file=/tmp/zabbix_mail.txt
echo "$3" > $file
dos2unix -k $file
/bin/mail -s "$2" $1 < $file
# echo "$3" | mail -s "$2" $1

  2、安装邮件发送软件mailx

    # yum install mailx

    测试能否发送邮件:# echo "zabbix test mail " |mail -s "zabbix-title" XXX@163.com

 3、安装dos2unix(用于解决邮件内容变成附件的问题)
   # yum install dos2unix
4、创建报警媒介   
  •      {ALERT.SENDTO}
  •      {ALERT.SUBJECT}
  •      {ALERT.MESSAGE}
     
5、配置用户报警媒介
     注:多个收件人用空格分隔
    
6、配置动作
      【故障】服务器:{HOST.IP}发生: {TRIGGER.NAME}故障!
        告警级别:{TRIGGER.SEVERITY}
        告警主机:{HOST.HOST}
        告警IP:{HOST.IP}
        告警时间:{EVENT.DATE} {EVENT.TIME}
        告警内容:{TRIGGER.NAME}
        当前值:{ITEM.VALUE}
        告警状态:{TRIGGER.STATUS}
        告警ID:{EVENT.ID}
 
      【恢复】服务器:{HOST.IP}: {TRIGGER.NAME}已恢复!
        告警级别:{TRIGGER.SEVERITY}
        告警主机:{HOST.HOST}
        告警IP:{HOST.IP}
        恢复时间:{EVENT.RECOVERY.TIME}
        告警内容:{TRIGGER.NAME}
        当前值:{ITEM.VALUE}
        告警状态:{TRIGGER.STATUS}
        告警ID:{EVENT.ID}
        

二、微信告警

配置微信报警
1、注册微信企业号
2、登录企业号
3、创建部门
4、脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

class WeChat(object):
        __token_id = \'\'
        # init attribute
        def __init__(self,url):
                self.__url = url.rstrip(\'/\')
                self.__corpid = \'XXXXXXXX\'
                self.__secret = \'XXXXXXXXXXXXXXXXX\'

        # Get TokenID
        def authID(self):
                params = {\'corpid\':self.__corpid, \'corpsecret\':self.__secret}
                data = urllib.urlencode(params)

                content = self.getToken(data)

                try:
                        self.__token_id = content[\'access_token\']
                        # print content[\'access_token\']
                except KeyError:
                        raise KeyError

        # Establish a connection
        def getToken(self,data,url_prefix=\'/\'):
                url = self.__url + url_prefix + \'gettoken?\'
                try:
                        response = urllib2.Request(url + data)
                except KeyError:
                        raise KeyError
                result = urllib2.urlopen(response)
                content = json.loads(result.read())
                return content

        # Get sendmessage url
        def postData(self,data,url_prefix=\'/\'):
                url = self.__url + url_prefix + \'message/send?access_token=%s\' % self.__token_id
                request = urllib2.Request(url,data)
                try:
                        result = urllib2.urlopen(request)
                except urllib2.HTTPError as e:
                        if hasattr(e,\'reason\'):
                                print \'reason\',e.reason
                        elif hasattr(e,\'code\'):
                                print \'code\',e.code
                        return 0
                else:
                        content = json.loads(result.read())
                        result.close()
                return content

        # send message
        def sendMessage(self,touser,message):

                self.authID()

                data = json.dumps({
                        \'touser\':touser,
                        \'toparty\':"1",  #部门ID
                        \'msgtype\':"text",  
                        \'agentid\':"1",  #应用ID
                        \'text\':{
                                \'content\':message
                        },
                        \'safe\':"0"
                },ensure_ascii=False)

                response = self.postData(data)
                print response


if __name__ == \'__main__\':
        a = WeChat(\'https://qyapi.weixin.qq.com/cgi-bin\')
        a.sendMessage(sys.argv[1],sys.argv[3])

5、创建报警媒介类型

  • corpid
  • secret
  • {ALERT.MESSAGE}

  

6、创建报警媒介

 

    

7、配置动作

      【故障】服务器:{HOST.IP}发生: {TRIGGER.NAME}故障!
        告警级别:{TRIGGER.SEVERITY}
        告警主机:{HOST.HOST}
        告警IP:{HOST.IP}
        告警时间:{EVENT.DATE} {EVENT.TIME}
        告警内容:{TRIGGER.NAME}
        当前值:{ITEM.VALUE}
        告警状态:{TRIGGER.STATUS}
        告警ID:{EVENT.ID}
 
      【恢复】服务器:{HOST.IP}: {TRIGGER.NAME}已恢复!
        告警级别:{TRIGGER.SEVERITY}
        告警主机:{HOST.HOST}
        告警IP:{HOST.IP}
        恢复时间:{EVENT.RECOVERY.TIME}
        告警内容:{TRIGGER.NAME}
        当前值:{ITEM.VALUE}
        告警状态:{TRIGGER.STATUS}
        告警ID:{EVENT.ID}
        
注意:zabbix.conf.php为zabbix链接数据库配置文件,zabbix数据库密码修改后,一定要修改该配置文件。

以上是关于zabbix配置的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

zabbix6.0安装教程:从源代码安装

zabbix6.0安装教程:从源代码安装

zabbix6.0安装教程:从源代码安装