一、容器创建zabbix网络安装mysql
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="password123" \
-e MYSQL_ROOT_PASSWORD="password123" \
-v /mysql-server/data:/var/lib/mysql \
-v /mysql-server/conf:/etc/mysql/conf.d \
-v /mysql-server/log:/var/log/mysql \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
--network=zabbix \
--restart unless-stopped \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
二、安装zabbix-java-gateway
docker run --name zabbix-java-gateway -t \
--network=zabbix \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.4-latest
三、安装zabbix-server
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="password123" \
-e MYSQL_ROOT_PASSWORD="password123" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix \
-p 10051:10051 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-6.4-latest
四、安装zabbix-web
docker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="qwer1234" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
五、编辑企业微信webhook脚本
cd /usr/lib/zabbix/alertscripts
vim webhook.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=******************************"
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)
zabiix创建用户、添加媒介告警动作 告警消息模版
检测到异常故障,故障!!!
*******************************
故障报警: 【{TRIGGER.NAME}】
*******************************
告警主机:【{HOST.NAME}】
主机地址:【{HOST.IP}】
故障状态: 【{TRIGGER.STATUS} 】!!!
*******************************
告警时间: 【{EVENT.DATE}__{EVENT.TIME}】
告警等级: 【{TRIGGER.SEVERITY}:{TRIGGER.NSEVERITY}】
*******************************
告警项目: 【Zabbix[process,unreachable poller,avg,busy]】
问题详情: 【{ITEM.NAME1}...{EVENT.VALUE}...】
当前状态: 【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件ID: {EVENT.ID}
*******************************
敬请及时核查确认!!!
恢复模版
故障恢复!!!
*******************************
服务器:【{HOST.NAME}】: 【{TRIGGER.NAME}】已恢复!
*******************************
告警主机:【{HOST.NAME}】
主机地址:【{HOST.IP}】
告警状态:【{TRIGGER.STATUS}】
*******************************
恢复时间:【{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}】
告警等级:【{TRIGGER.SEVERITY}】
告警名称:【{TRIGGER.NAME}】
当前状态:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代码:【{EVENT.ID}】
*******************************
评论区