关于Zabbix可以集成邮件服务器
本帖最后由 monicazhang 于 2017-8-14 17:37 编辑1、环境介绍我们还是利用之前搭建好的zabbix环境和上一节搭建的mail环境一起测试A、zabbix01(192.168.150.129 zabbix-server、zabbix-agent)B、zabbix02(192.168.150.130 zabbix-proxy、zabbix-agent)C、mail.ecip.com(192.168.150.132 postfix、dovecot)首先将邮件服务器和zabbix的环境关联起来然后通过停掉、启动zabbix-agent,模拟服务器无法访问,看是否可以收到邮件
2、环境调整A、配置zabbix图表中文显示zabbix安装后,默认图表展示时,是无法显示中文的(乱码)需要将windowns的字体加入zabbix-web展现模块,并作相关调整网上很多文章都是介绍裸机上如何调整中文,下边介绍docker环境中如何修改容器中该中文支持,需要修改zabbix-web容器(对应这里的容器为:zabbix/zabbix-web-apache-mysql)I、找到本地中文字体依次打开,控制面板--》所有控制面板项--》字体,找到“简体 楷体 常规”,见下图或者直接到windows的字体目录找到如下字体“C:\Windows\Fonts\simkai.ttf”拷贝至zabbix01服务器上# ls /mysql/dockerfile/SIMKAI.ttf /mysql/dockerfile/SIMKAI.ttf
III、修改zabbix-web-apache-mysql镜像需要修改zabbix-web-apache-mysql,将中文字符集(SIMKAI.ttf)加入镜像中,并调整配置文件,让系统默认使用简体中文这里回顾一下如何使用dockerfile生成镜像逻辑# cd /mysql/dockerfile# lsDockerfileSIMKAI.ttf# cat Dockerfile from zabbix/zabbix-web-apache-mysqlCOPY SIMKAI.ttf /usr/share/fonts/ttf-dejavu/#COPY SIMKAI.ttf /usr/share/zabbix/fonts/RUN sed -i 's/graphfont/SIMKAI/g' /usr/share/zabbix/include/defines.inc.php && \chmod 777 /usr/share/fonts/ttf-dejavu/SIMKAI.ttf && \ln -s /usr/share/fonts/ttf-dejavu/SIMKAI.ttf /usr/share/zabbix/fonts/SIMKAI.ttf && \chmod 777 /usr/share/zabbix/fonts/SIMKAI.ttf# 我的dockerfile写的很简单了,就不细说了吧,下边生成镜像zabbix/zabbix-web-apache-mysql-jt# docker build -t zabbix/zabbix-web-apache-mysql-jt .Sending build context to Docker daemon 11.79 MBStep 1 : FROM zabbix/zabbix-web-apache-mysql ---> 1ea9f866a3a3Step 2 : COPY SIMKAI.ttf /usr/share/fonts/ttf-dejavu/ ---> Using cache ---> 670aa51d1635Step 3 : RUN sed -i 's/graphfont/SIMKAI/g' /usr/share/zabbix/include/defines.inc.php && chmod 777 /usr/share/fonts/ttf-dejavu/SIMKAI.ttf && ln -s /usr/share/fonts/ttf-dejavu/SIMKAI.ttf /usr/share/zabbix/fonts/SIMKAI.ttf && chmod 777 /usr/share/zabbix/fonts/SIMKAI.ttf ---> Using cache ---> 6a3244b1654eSuccessfully built 6a3244b1654e删除zabbix-web-apache-mysql容器,并使用新镜像启动# docker rm -f zabbix-web-apache-mysqlzabbix-web-apache-mysql# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEzabbix/zabbix-web-apache-mysql-jt latest 6a3244b1654e 16 hours ago 201.1 MBzabbix/zabbix-web-apache-mysql latest 1ea9f866a3a3 5 weeks ago 177.5 MBzabbix/zabbix-server-mysql latest 942fc7fca3af 5 weeks ago 106.1 MBmysql latest 22be5748ecbe 7 weeks ago 405.6 MB# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES22b92f8d260a zabbix/zabbix-server-mysql "/bin/basrun_zabbi" 17 hours ago Up 2 seconds 162/udp, 0.0.0.0:10051->10051/tcp zabbix-server73b8bd40c89a mysql "docker-entrypoint.sh" 17 hours ago Up 9 seconds 0.0.0.0:3306->3306/tcp mysql01# docker run -tid --name zabbix-web-apache-mysql -e DB_SERVER_HOST="193.168.253.2" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD=Zxt1234! -e ZBX_SERVER_HOST="193.168.253.3" -e ZBX_SERVER_PORT="10051" -e TZ="Asia/Shanghai" -p 80:80 -p 443:433 zabbix/zabbix-web-apache-mysql-jt52d66fa0a29e68742795c4ba1fed8e549087265f5e17c3134e9b74b62e1a9b40# docker inspect zabbix-web-apache-mysql|grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "193.168.253.4", "IPAddress": "193.168.253.4",#ok,关于图表中文支持,就这些,我们看一下展现效果B、postfix加入容器地址访问的ip地址之前我们规划中,docker容器使用的ip地址为:193.168.253.0/24、193.168.1.0/24、193.168.2.0/24这里将上述地址端汇聚为193.168.0.0/16,加入postfix的允许访问策略# cd /etc/postfix/# lsaccesscanonicalgenericheader_checksmain.cfmaster.cfrelocatedtransportvirtual# grep "mynetworks =" main.cf|grep -v "#"mynetworks = 192.168.150.0/24, 127.0.0.0/8 , 193.168.0.0/16# systemctl restart postfix
需要调整的配置文件就上边这些,接下来需要在zabbix-web端做配置(网页)
3、zabbix-web调整A、报警媒介类型修改管理--》报警媒介类型--》Email中做如下配置:SMTP服务器:192.168.150.132SMTP服务器端口:25SMTP HELO:192.168.150.132SMTP电邮:zxt@ecip.com安全连接:无认证:无见下图B、配置用户的email配置--》用户--》“Admin” --》“报警媒介”--》“添加”收件人:zxt@ecip.com,并把所有的checkbox全选上,见下图C、添加告警事件配置--》动作--》“创建动作”--》动作名称:mail-push条件中,将“维护状态 非在 维护”“移除”配置--》动作--》“创建动作”--》操作--》“新的”发送到用户--》“添加”,再弹出的窗口中选择“Admin”用户仅送到:“Email”配置--》动作--》“创建动作”--》恢复操作--》“新的”发送到用户--》“添加”,再弹出的窗口中选择“Admin”用户仅送到:“Email”ok,关于mail的配置大体上就这些,
4、Email测试我们停止zabbix01、zabbix02的zabbix-agent,模拟服务器不能访问,看能否收到邮件在zabbix的服务器监控(Template OS Linux)中,默认有一项监控的触发器“Zabbix agent on {HOST.NAME} is unreachable for 5 minutes”是通过如下规则来判断的“{{HOST.NAME}:agent.ping.nodata(5m)}=1”也就是服务器ping不通的触发器,按照我们上边的配置,这个触发器会产生事件,会通过email通知admin用户# systemctl status zabbix-agent● zabbix-agent.service - Zabbix Agent Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2017-04-19 10:47:19 CST; 4min 7s agoProcess: 8450 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 8465 (zabbix_agentd) Memory: 3.2M CGroup: /system.slice/zabbix-agent.service ├─8465 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf ├─8467 /usr/sbin/zabbix_agentd: collector ├─8468 /usr/sbin/zabbix_agentd: listener #1 ├─8469 /usr/sbin/zabbix_agentd: listener #2 ├─8470 /usr/sbin/zabbix_agentd: listener #3 └─8471 /usr/sbin/zabbix_agentd: active checks #1
Apr 19 10:47:19 zabbix01 systemd: Starting Zabbix Agent...Apr 19 10:47:19 zabbix01 systemd: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.Apr 19 10:47:19 zabbix01 systemd: Started Zabbix Agent.# systemctl stop zabbix-agent# systemctl status zabbix-agent● zabbix-agent.service - Zabbix Agent Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2017-04-19 10:47:26 CST; 3min 49s agoProcess: 8017 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 8033 (zabbix_agentd) Memory: 2.6M CGroup: /system.slice/zabbix-agent.service ├─8033 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf ├─8036 /usr/sbin/zabbix_agentd: collector ├─8037 /usr/sbin/zabbix_agentd: listener #1 ├─8038 /usr/sbin/zabbix_agentd: listener #2 ├─8039 /usr/sbin/zabbix_agentd: listener #3 └─8040 /usr/sbin/zabbix_agentd: active checks #1
Apr 19 10:47:26 zabbix02 systemd: Starting Zabbix Agent...Apr 19 10:47:26 zabbix02 systemd: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.Apr 19 10:47:26 zabbix02 systemd: Started Zabbix Agent.# systemctl stop zabbix-agentok,收到的服务器不可用的邮件大致如下:我们再启动zabbix-agent,看能否收到恢复的邮件# systemctl start zabbix-agent# systemctl start zabbix-agent收到的服务器不可用的邮件大致如下:zabbix可以推送的消息类型有:短信和email、短信、jabber(一个linux及时通讯服务器),也可以是自己配置的脚本限于本地模拟环境,就只能拿email来简单测试一下,还有很多比较细粒度的配置参数,就不测试了
原创:祥云
页:
[1]