docker部署zabbix6.0及企业微信发送告警
1 前言
1.1 实验背景
因zabbix 6.0新增许多新特性,为熟悉界面特意在本地部署一套简易版(未启用HA功能)。原本想要在烧制了centos7.9系统树莓派上部署,一查之下armv7果然冷门,mariadb无论是直接安装或者docker都不支持,还是x86好使,索性将mariadb、zabbix server、zabbix froneted都部署在了本地虚拟机中,相比安装部署方便很多。
1.2 实验环境
宿主机:1核2G本地虚拟机,centos 7.6,docker 1.13.1
mariadb:10.8.5(zabbix 6.0必须使用10.0.5以上版本mariadb)
zabbix server:6.0
1.3 准备工作
防火墙放开tcp 3306(mariadb)、tcp 10051(zabbix server)、tcp 8080(nginx)
2 安装 mariadb
2.1 下载mariadb
参考https://mariadb.org/download/?t=repo-config
创建/etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.8/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum install MariaDB-server MariaDB-client
systemctl start mariadb
systemctl enable mariadb
mariadb-secure-installation 设置root密码
mysql -uroot -p"mariadb-root-user-password"
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'%' identified by 'mariadb-zabbix-user-password';
mysql> grant all privileges on zabbix.* to 'zabbix'@'%';
mysql> quit;
2.2 导入数据库
下载源代码后
cd database/mysql
mysql -uzabbix -p"mariadb-zabbix-user-password" zabbix < schema.sql
mysql -uzabbix -p"mariadb-zabbix-user-password" zabbix < images.sql
mysql -uzabbix -p"mariadb-zabbix-user-password" zabbix < data.sql
3 安装zabbix server
3.1 获取镜像
docker pull zabbix/zabbix-server-mysql:6.0-alpine-latest
3.2 启动容器
docker run --name zabbix-server-mysql-1 -e DB_SERVER_HOST="172.17.0.1" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="mariadb-zabbix-user-password" -p 10051:10051 -d zabbix/zabbix-server-mysql:6.0-alpine-latest
其中172.17.0.1为docker0网桥地址
3.3 测试
netstate -nlpt查看10051端口是否listening
docker exec -it zabbix-server-mysql-1 /bin/sh
进入容器后可以手工使用mysql -uzabbix -p测试能否正常连接数据库
docker logs zabbix-server-mysql-1
查看日志,正常情况下不会有明显报错
4 安装zabbix frontend
4.1 获取镜像
docker pull zabbix/zabbix-web-nginx-mysql:6.0-alpine-latest
4.2 启动容器
docker run --name zabbix-web-nginx-mysql-1 --link zabbix-server-mysql-1:zabbix-server -e DB_SERVER_HOST="172.17.0.1" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="mariadb-zabbix-user-password" -e ZBX_SERVER_HOST="172.17.0.1" -e PHP_TZ="Asia/Shanghai" -p 8080:8080 -d zabbix/zabbix-web-nginx-mysql:6.0-alpine-latest
4.3 测试
netstate -nlpt查看8080端口是否listening
此时可以通过web访问zabbix web了,默认账号密码是Admin/zabbix
5 企业微信发送告警
zabbix 5.0开始支持使用webhook类型告警,与企业微信等媒介十分契合,因为代码写在web界面上,修改和迁移都比传统的调用脚本方便,不过需要一点点javascript开发工作。
5.1 媒介类型
5.1.1 类型
选用webhook
5.1.2 参数
Message {ALERT.MESSAGE}
To {ALERT.SENDTO}
5.1.3 脚本
根据网络资料简化而来
var Wechat = {
to: null,
message: null,
sendMessage: function() {
var params = {
msgtype: "text",
text: {
content:Wechat.message
}
},
data,
response,
request = new CurlHttpRequest(),
url = Wechat.to;
request.AddHeader('Content-Type: application/json');
data = JSON.stringify(params);
response = request.Post(url, data);
return JSON.parse(response);
}
}
try {
var params = JSON.parse(value);
Wechat.to = params.To;
Wechat.message = params.Message;
Wechat.sendMessage();
return 'OK';
}
catch (error) {
throw 'Sending failed: ' + error + '.';
}
5.2 动作
可自行修改
5.2.1 消息模板Problem
告警时间:{EVENT.DATE} {EVENT.TIME} 告警平台:{TRIGGER.HOSTGROUP.NAME} 告警主机:{HOST.NAME} 告警详情:{ITEM.NAME} {ITEM.VALUE} {TRIGGER.NAME}
5.2.2 消息模板Problem recovery
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 告警平台:{TRIGGER.HOSTGROUP.NAME} 告警主机:{HOST.NAME}({HOST.HOST}) 告警详情:{ITEM.NAME} {ITEM.VALUE} {TRIGGER.NAME}
5.3用户
媒介
Send to设置为企业微信机器人的webhook url
docker部署zabbix6.0及企业微信发送告警的更多相关文章
- zabbix使用企业微信发送告警信息
用qq邮箱发送告警信息一点都不方便,看到网上说也可以使用微信发送告警信息,所以就试了一下. 首先先试着在虚拟主机上给微信发送信息. 我们需要注册企业微信,注册时有一个地方需要注意,就是注册时选择组织, ...
- .netcore--Controller后台实现企业微信发送消息
一.获得企业微信管理端权限,登录企业企业微信管理端界面,并创建应用,如下图中的[网站消息推送] 二.参见企业微信API文献,根据corpid=ID&corpsecret=SECRET(其中企业 ...
- python实现通过企业微信发送消息
实现了通过企业微信发送消息,平时用于运维的告警还是不错的,相对于邮件来说,实时性更高,不过就是企业微信比较麻烦,此处不做过多解释. 企业微信api的详细请看:http://work.weixin.qq ...
- (七) Docker 部署 MySql8.0 一主一从 高可用集群
参考并感谢 官方文档 https://hub.docker.com/_/mysql y0ngb1n https://www.jianshu.com/p/0439206e1f28 vito0319 ht ...
- Docker部署Mysql8.0.20并配置主从复制
1. Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) 2. 前提准备 # 创建主从数据库文件夹 ...
- Zabbix 3.0 配置企业微信报警(注册---测试)
一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...
- python 企业微信发送文件
import os import json import urllib3 class WinxinApi(object): def __init__(self,corpid,secret,chatid ...
- 使用Python实现给企业微信发送allure报告,并实现微信查看
1.注册企业微信 搜索企业微信直接注册 2.创建应用 3.查看企业id.Secret.应用id.部门id 4.发送代码 import os import jenkins import requests ...
- 【转】odoo 10的企业微信发送程序介绍
本文介绍的微信发送程序不是独立的模块,是某企业应用的一部分, 源码可在京津冀odoo技术交流群的群共享中下载. [1]基本配置 在work.weixin.qq.com上注册一个企业后,会得到企业的 ...
- Python3调用企业微信用于告警
前段时间利用py爬虫抓取一些网页信息,然后通过wxpy发送到微信群,以用作日常告警,感觉还是很方便. 但好景不长,我的小号微信被腾讯封了(很常见咯), 显示无法登录网页版微信,至今已经有半个多月了. ...
随机推荐
- Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)
Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享) 常用的两款AI可视化交互应用比较: Gradio Gradio的优势在于易用性,代码结构相比Str ...
- [ [Ynoi2013] 无力回天 NOI2017 ] 解题报告
[Ynoi2013] 无力回天 NOI2017 首先看到异或,想到能维护异或的东西就那几样(线性基/01trie/数位 dp/FWT),再看到求选任意个数后的异或最大值,线性基无疑了. 这时再看还要维 ...
- 推荐Visual Studio四款好用插件
我要推荐的4个插件,合理使用可以提高工作效率,分别是: 1.Markdown Editor 可以在vs预览markdown文件的插件 2.Add New File 我们原本在vs中新建文件,需要添加新 ...
- 【Python基础】字符串的基本使用
b6f9d807-edb2-4e0a-b554-fae322343bee 字符串是Python中最基本的数据类型之一.它是由一系列字符组成的不可变序列.这意味着一旦创建了一个字符串,就不能直接修改它的 ...
- Latex-beamer的教程
Beamer头文件 Latex是一个非常精确且高效的排版工具,其中的beamer作为一个非常强大的模块承担着PPT任务的排版 首先引入头文件来开始: \documentclass{beamer} %h ...
- JavaWeb之day01html
目录: 1.html简介 - html的操作思想(*****) 2.文字标签和注释标签 3.标题标签.水平线标签和特殊字符 4.列表标签 5.图像标签(********) 6.路径介绍(相对路径*** ...
- 2020-11-26:go中,map的创建流程是什么?
福哥答案2020-11-26: [答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=10)源码位于runtime/map.go文件中的ma ...
- 2021-05-31:怎么判断n个数俩俩互质?比如7,8,9任意两个数最大公约数是1,所以7,8,9两两互质。比如8,9
2021-05-31:怎么判断n个数俩俩互质?比如7,8,9任意两个数最大公约数是1,所以7,8,9两两互质.比如8,9,10不是两两互质,因为8和10的最大公约数是2. 福大大 答案2021-05- ...
- 解决:django.db.utils.OperationalError: no such table: auth_user
解决:django.db.utils.OperationalError: no such table: auth_user 我们在创建Django项目的时候已经创建这个表了,表一般都保存在轻量级数据库 ...
- T-SQL——批量刷新视图
目录 0. 背景说明 1. 查询出所有使用了指定表的视图并生成刷新语句 2. 创建存储过程批量刷新 3. 刷新全部的视图 4. 参考 shanzm--2023年5月16日 0. 背景说明 为什么要刷新 ...