目錄
Centos7.0 安裝Zabbix4.0對接釘釘訊息報警
配置zabbix的yum源
1.rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
更換zabbix的清華源
安裝zabbix-server、mysql、zabbix-agent
找到vim/etc/zabbix_server.conf里alertscripts的路徑
/usr/lib/zabbix/alertscripts
前言
隨著科技的進步,運維監控在軟體中已經變的非常重要的一個環節,自動監控已經取代人為的監控,可以第一時間收到報警資訊,解決問題,
Centos7.0 安裝Zabbix4.0對接釘釘訊息報警
配置zabbix的yum源
1.rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
更換zabbix的清華源
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591#[zabbix-non-supported]
#name=Zabbix Official Repository non-supported - $basearch
#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
#enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
#gpgcheck=1
2.yum clean all
3.yum makecache
安裝zabbix-server、mysql、zabbix-agent
4.依賴環境:yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
注意:安裝時若沒有安裝PHP環境,會自動安裝PHP相關的包和httpd,因為zabbix的Web管理頁面是PHP寫的
5.yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
6.安裝出現問題如下對應執行
出現fping 執行 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
出現libiksemel.so.3 執行yum install -y http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpm
7.進入MySQL資料庫并設定開機啟動,創建資料庫實體,授權
8.mysql -u root -p 輸入密碼進入mysql資料庫
9.select user,host from mysql.user; #有空用戶名稱占用導致本地無法登錄遠程可登錄
drop user ''@localhost; #洗掉空用戶
password
mysql> create database zabbix character set utf8 collate utf8_bin; # 創建一個資料庫
CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456'mysql> grant all privileges on *.* to 'zabbix'@'%';# 授權zabbix用戶擁有zabbix資料庫的所有權限
mysql>alter user 'zabbix'@'%' identified with mysql_native_password by '123456';修改密碼
mysql>flush privileges; # 重繪資料庫權限表mysql> quit
10.匯入初始模式和資料
mysql -u zabbix -p zabbix < zabbix.sql mysql匯入表
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -pZabbix匯入MySQL資料庫報錯ERROR 1046 (3D000) at line 1: No database selected
解決辦法:
編輯要匯入的資料庫檔案
vim /usr/share/doc/zabbix-server-mysql-4.0.7/create.sql.gz# 在第一行加上
use zabbix;
11.配置zabbix-server的組態檔zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
# DBPassword=password(124行)
DBHost=localhost # 資料主機名
DBName=zabbix # 資料庫實體
DBUser=zabbix # 資料庫里創建的用戶名
DBPassword=zabbix # 資料庫里創建的密碼
12.編輯Apache的組態檔,設定正確的時區
vim /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga(20行)
改成 php_value date.timezone Asia/Shanghai編輯httpd
vi /etc/httpd/conf/httpd.conf
ServerName www.zabbixyk.com #修改為主機名
DirectoryIndex index.html index.php # 添加首頁支持格式編輯配置php,配置中國時區
vi /etc/php.ini
date.timezone = PRC # 配置時區
systemctl start httpd #啟動并加入開機自啟動httpd
systemctl enable httpd
13.重新啟動 zabbix-server、zabbix-agent 和 httpd 并設定為開機自啟動
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
在瀏覽器輸入地址http://服務器ip/zabbix/setup.php,出現歡迎界面,點擊下一步,進行 zabbix 的頁面初始化配置
14.輸入用戶名密碼:Admin 密碼:zabbix 登錄zabbix界面設定,如下是登錄界面
15.修改語言,改成中文,如下圖
16.添加主機

17.創建應用集

18.創建監控項

19.創建觸發器

20. 添加報警媒介

21.發送訊息設定

22. 添加報警媒介型別 (這里腳本名稱dingding.py和服務器配置里/usr/lib/zabbix/alertscripts下面配置的腳本名稱要一致)

23.創建動作器

24.添加操作模板,設定操作

25.恢復操作設定模板

26.更新操作設定模板

27.服務器添加釘釘腳本
找到vim/etc/zabbix_server.conf里alertscripts的路徑
/usr/lib/zabbix/alertscripts
#!/usr/bin/python
# -*- coding: utf-8 -*-
#zabbix釘釘報警
#!/usr/bin/env python
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
#api_url后跟告警機器人的webhook
api_url = "這里地址是下圖釘釘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)

28.創建好后執行chmod+x dingding.py給予執行權限,然后輸入./dingding.py測驗會提示發送失敗,提示里面有個IP需要復制到釘釘群IP管理如下 圖,添加好后,再次發送./dingding.py測驗,群里會收到如下資訊,


前面用到的模板在zabbix界面添加釘釘報警的模板
報警媒介,腳本型別
{ALERT.MESSAGE}
[ZABBIX標題:報警觸發] 當前狀態:{TRIGGER.STATUS},服務器:{HOSTNAME1} 發生:{TRIGGER.NAME}故障!ZABBIX告警通知
告警狀態:【{TRIGGER.STATUS}】
告警主機:【{HOST.NAME}】
主機地址:【{HOST.IP}】
告警時間:【{EVENT.DATE} {EVENT.TIME}】
告警等級:【{TRIGGER.SEVERITY}】
告警名稱:【{TRIGGER.NAME}】
當前狀態:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代碼:【{EVENT.ID}報警恢復] 當前狀態:OK,服務器zabbix_server 人員 瓦斯 資料更新恢復!
ZABBIX告警恢復
恢復狀態:【{TRIGGER.STATUS}】
恢復主機:【{HOST.NAME}】
主機地址:【{HOST.IP}】
恢復時間:【{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}】
告警等級:【{TRIGGER.SEVERITY}】
告警名稱:【{TRIGGER.NAME}】
當前狀態:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代碼:【{EVENT.ID}】
29.zabbix4.0 agent 客戶端安裝(如果監控的是本機就不用另外安裝客戶端了,如果不是本機需要在監控的主機上安裝客戶端,監控的如果是Windows系統,需要在Windows系統主機上安裝Windows版的客戶端安裝默認就可以,設定跟linux設定一樣)
下載rpm安裝包
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
下載rpm安裝包
yum install zabbix-agent -y
修改zabbix-agent配置檔案
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid #pid檔案的存放位置
LogFile=/var/log/zabbix/zabbix_agentd.log #日志存放的路徑
LogFileSize=10 #10表示日志大小為10M時,進行日志切割
Server=proxy的IP地址 # agent被動模式下,指向proxy或server地址,
ServerActive= # agent主動模式下,指向proxy或server地址
Hostname=zabbix-proxy # Hostname必須與主機名一致設定開機啟動:
systemctl enable zabbix-agent
30.如果配置成功后點擊最新資料輸入主機 應用集可以查到添加的監控項最新資料,歷史記錄,如果監控到資料斷傳就會觸發報警,

總結,本教程是監控資料采集情況,通過檔案更新時間來監控觸發報警,教程中有不懂的可以隨時咨詢我,希望能夠給你們帶來幫助,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/265514.html
標籤:其他


