Zabbix安裝配置釘釘告警

1、 更改主機名
[root@localhost ~]# hostnamectl set-hostname zabbix.bystp.com
2、 關閉防禦牆及SELINUX
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
編輯/etc/selinux/config文件關閉SELINUX
3、 配置阿里源及軟件源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
建立zabbix源repo文件
4、 安裝zabbix,mariadb
[root@zabbix ~]# yum install zabbix-server-mysql zabbix-get
[root@zabbix ~]# yum install mariadb-server mariadb
4、 開啓mariadb服務
[root@zabbix ~]# systemctl start mariadb-server
[root@zabbix ~]mysql_secure_installation
5、 建立數據庫
create database zabbix charset 'utf8';
grant all on zabbix. to zabbix@localhost identified by '123456';
flush privileges;
6、 導入數據庫
[root@zabbix ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-4.2.1
/usr/share/doc/zabbix-server-mysql-4.2.1/AUTHORS
/usr/share/doc/zabbix-server-mysql-4.2.1/COPYING
/usr/share/doc/zabbix-server-mysql-4.2.1/ChangeLog
/usr/share/doc/zabbix-server-mysql-4.2.1/NEWS
/usr/share/doc/zabbix-server-mysql-4.2.1/README
/usr/share/doc/zabbix-server-mysql-4.2.1/create.sql.gz
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
[root@zabbix ~]# cp /usr/share/doc/zabbix-server-mysql-4.2.1/create.sql.gz create.sql.gz
[root@zabbix ~]# gunzip create.sql.gz
[root@zabbix ~]ls
anaconda-ks.cfg create.sql
[root@zabbix ~] mysql -uroot -p zabbix < create.sql
[root@zabbix ~]
7、 配置/etc/zabbix/zabbix_server.conf
ListenPort=10051
SourceIP=192.168.0.5
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
DebugLevel=3
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
8、開啓服務
[root@zabbix ~] systemctl start zabbix-server
9、安裝Zabbix web
[root@zabbix ~] yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml
[root@zabbix ~] yum install zabbix-web zabbix-web-mysql
10、 配置/etc/httpd/conf.d/zabbix.conf
[root@zabbix ~]# vi /etc/httpd/conf.d/zabbix.conf
Zabbix安裝配置釘釘告警
11、啓動httpd
[root@zabbix ~]# systemctl start httpd
12、訪問http://192.168.0.5配置zabbix
十3、安裝python庫
[root@localhost alertscripts]# yum install epel-release
[root@localhost alertscripts]# yum install python-pip
[root@localhost alertscripts]# pip install requests
十4、配置python腳本
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vi dingding.py
#!/usr/bin/env python
#coding:utf-8
#zabbix釘釘報警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=e9f690a7e200ef36ee4015b9c2f5c64849baadc71d947d150e5be0b7d89d299a"
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("/tmp/zabbix_dingding.log"):
f=open("/tmp/zabbix_dingding.log","a+")
else:
f=open("/tmp/zabbix_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()
Zabbix安裝配置釘釘告警
[root@localhost alertscripts]# chmod +x dingding.py
十5、測試python腳本
[root@zabbix alertscripts]# ./dingding.py asd 32d TEST
[root@zabbix alertscripts]
Zabbix安裝配置釘釘告警
十6、配置python腳本權限
[root@localhost alertscripts]# chown zabbix.zabbix /usr/lib/zabbix/alertscripts/dingding.py
[root@localhost alertscripts]# chmod +x /tmp/zabbix_dingding.log
[root@localhost alertscripts]# chown zabbix.zabbix /tmp/zabbix_dingding.log
十7、配置報警媒介類型
Zabbix安裝配置釘釘告警
十8、配置用戶報警媒介,收件人爲手機號
Zabbix安裝配置釘釘告警
十9、配置動做
Zabbix安裝配置釘釘告警
Zabbix安裝配置釘釘告警
Zabbix安裝配置釘釘告警
Zabbix安裝配置釘釘告警
操做:服務器:{HOST.NAME}發生: {TRIGGER.NAME}故障!
消息內容:
{
報警主機:{HOST.NAME}
主機地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
報警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
報警信息:{TRIGGER.NAME}
報警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
}php

恢復操做
默認標題:服務器:{HOST.NAME}: {TRIGGER.NAME}已恢復!
消息內容:
{
報警主機:{HOST.NAME}
主機地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
報警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
報警信息:{TRIGGER.NAME}
報警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}
}python

更新操做
默認標題:服務器:{HOST.NAME}: {TRIGGER.NAME}已更新!
消息內容:
更新人:{USER.FULLNAME}
時間:{ACK.DATE} {ACK.TIME}
更新信息以下:
"{ACK.MESSAGE}"
問題服務器IP:{HOSTNAME1}
問題ID:{EVENT.ID}
當前的問題是: {TRIGGER.NAME}
}mysql

相關文章
相關標籤/搜索