Zabbix3.4.8搭建及邮件微信告警实现

栏目: 服务器 · 发布时间: 5年前

内容简介:配置:Server端:这个部署包包含了yum配置文件:

配置:

主机

ip

操作系统

zabbix版本

mysql版本

zabbix-server 172.27.9.63 CentOS7.3.1611

zabbix_server (Zabbix) 3.4.8

5.7.21
zabbix-agent 172.27.9.65 Centos7.3.1611

zabbix_agentd (daemon) (Zabbix) 3.4.8

/

Server端:

1.安装源码库配置部署包

这个部署包包含了yum配置文件:

[root@zabbix-server ~]#  rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

2.安装Zabbix-server部署包

[root@zabbix-server ~]# yum -y install zabbix-server-mysql zabbix-web-mysql

Zabbix3.4.8搭建及邮件微信告警实现

3.安装初始化数据库

3.1下载并安装 MySQL 官方的 Yum Repository

[root@zabbix-server zabbix-server-mysql-3.4.8]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

3.2查看当前可用的Mysql安装源

[root@zabbix-server ~]# yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64 MySQL Connectors Community                  45

mysql-tools-community/x86_64      MySQL Tools Community                      59

mysql57-community/x86_64          MySQL 5.7 Community Server                247 

3.3安装MySQL数据库

[root@zabbix-server ~]# yum -y install mysql-community-server

总下载量:204 M,请耐心等待。

Zabbix3.4.8搭建及邮件微信告警实现 安装完成,系统自带的mariadb被覆盖。

3.4启动mysql服务并设置开机启动

[root@zabbix-server ~]# systemctl start mysqld.service

[root@zabbix-server ~]# systemctl enable mysqld.service 

3.5登陆mysql

安装好后,会在my.cnf文件中自动生成一个密码

[root@zabbix-server ~]# cat /var/log/mysqld.log | grep password

2018-04-17T16:12:53.340149Z 1 [Note] A temporary password is generated for root@localhost: +)pIf#FAu1%D

[root@zabbix-server ~]# mysql -uroot -p 

输入密码“+)pIf#FAu1%D”

登录数据库后需首先重置密码才能进行后续操作。修改密码如下(注意密码规则,此处不详谈):

mysql>  set password = password('Mysql123!');

Query OK, 0 rows affected, 1 warning (0.03 sec) 

3.6创建数据库和zabbix用户并授权

mysql> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (10.03 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbix123!';

Query OK, 0 rows affected, 1 warning (0.00 sec) 

3.7导入初始架构(Schema)和数据

[root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.8/

[root@zabbix-server zabbix-server-mysql-3.4.8]# zcat create.sql.gz | mysql -uzabbix -pZabbix123! -D zabbix

mysql: [Warning] Using a password on the command line interface can be insecure.

执行过程中会有一个关于密码的告警,忽略。

查看执行结果:

Zabbix3.4.8搭建及邮件微信告警实现 Zabbix3.4.8搭建及邮件微信告警实现

4.启动Zabbix Server进程

4.1在zabbix_server.conf中编辑数据库配置

修改或者解注释如下参数:

[root@zabbix-server ~]# view /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=Zabbix123!

4.2修改zabbix安装目录属主和权限

[root@zabbix-server ~]# chown -R zabbix:zabbix /etc/zabbix/

[root@zabbix-server ~]# chmod -R 755 /etc/zabbix/

4.3启动zabbix-server服务,并设置开机自启

[root@zabbix-server ~]# systemctl start zabbix-server

[root@zabbix-server ~]# systemctl enable zabbix-server

5.编辑Zabbix前端的 PHP 配置

Zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 。一些PHP设置已经完成了配置。

php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value always_populate_raw_post_data -1

# php_value date.timezone Europe/Riga

5.1去掉时区前的#号并修改为Asia/Shanghai:

php_value date.timezone Asia/Shanghai

5.2启动apache服务,并设置开机自启

[root@zabbix-server ~]# systemctl restart httpd

6.登陆zabbix

访问地址:http://172.27.9.63/zabbix

Zabbix3.4.8搭建及邮件微信告警实现

下一步:

Zabbix3.4.8搭建及邮件微信告警实现

下一步:

Zabbix3.4.8搭建及邮件微信告警实现

输入密码“Zabbix123!”,下一步:

Zabbix3.4.8搭建及邮件微信告警实现

name可以不填,host和port默认,下一步:

Zabbix3.4.8搭建及邮件微信告警实现

信息汇总确认,下一步:

Zabbix3.4.8搭建及邮件微信告警实现

安装完成,单击‘Finish’,跳转至如下界面:

Zabbix3.4.8搭建及邮件微信告警实现

初始用户名密码为'Admin/zabbix'。

agent端:

1.安装源码库配置部署包

这个部署包包含了yum配置文件:

[root@zabbix-agent ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

2.安装Zabbix-agent部署包

[root@zabbix-agent ~]# yum -y install zabbix-agent

安装完毕:

Zabbix3.4.8搭建及邮件微信告警实现

3. 启动Zabbix Agent进程

3.1配置zabbxi-agent

[root@zabbix-agent ~]# sed -i 's/^ *Server=127.0.0.1/Server=172.27.9.63/g' /etc/zabbix/zabbix_agentd.conf

[root@zabbix-agent ~]#  sed -i 's/^ *ServerActive=127.0.0.1/ServerActive=172.27.9.63/g' /etc/zabbix/zabbix_agentd.conf

[root@zabbix-agent ~]#  sed -i 's/^ *Hostname=Zabbix server/Hostname=172.27.9.65/g' /etc/zabbix/zabbix_agentd.conf

Server:被动模式,允许哪台机器连接到aget。

ServerActive: 主动模式,向哪台服务器传送数据。

Hostname:唯一,需与添加主机时‘主机名称’保持一致。

Zabbix agents可以执行被动和主动两种检查方式。

在passive check 模式中agent应答数据请求,Zabbix server(或者proxy)询问agent数据,如CPU 的负载情况,然后Zabbix agent回送结果。

Active checks 处理过程将相对复杂。 Agent必须首先从Zabbix sever索取监控项列表以进行独立处理,然后周期性地发送新的值给server。

执行被动或主动检查是通过选择相应的监测项目类型来配置的。

本文选择被动模式,当zabbix-server监控主机过多出现性能问题时可考虑主动模式。

3.2更改zabbix安装目录属主和权限

[root@zabbix-agent ~]# chown -R zabbix:zabbix /etc/zabbix

[root@zabbix-agent ~]# chmod -R 755 /etc/zabbix

3.3启动zabbix-agent服务,并设置开机自启

[root@zabbix-agent ~]# systemctl start zabbix-agent

[root@zabbix-agent ~]# systemctl enable zabbix-agent

web端监控配置

1.修改语言

默认为界面为英文,修改为中文:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

2.新建主机

2.1增加主机

Zabbix中的主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的)。Zabbix中,对于主机的定义非常灵活。它可以时一台物理服务器,一个网络交换机,一个虚拟机或者一些应用。

Zabbix中,可以通过配置(Configuration) → 主机(Hosts)菜单,查看已配置的主机信息。默认已有一个名为'Zabbix server'的预先定义好的主机。

Zabbix3.4.8搭建及邮件微信告警实现

主机名称:可以使用字母数字、空格、点”.“、中划线”-“、下划线”_“,必须唯一。与agent中配置文件zabbix_agentd.conf的‘Hostname’参数保持一致。

可见的名称:显示在网页列表上供展示的名称。

新的群组:为主机新建分组,所有访问权限都分配到主机组,而不是单独的主机。这也是主机需要属于至少一个组的原因。

IP地址:被监控主机的ip地址。

其它配置默认。

2.2选择模板

Zabbix3.4.8搭建及邮件微信告警实现

选择模板‘Template OS Linux’,单击‘选择’、‘添加’后‘更新’,同理更新默认的'Zabbix server':

Zabbix3.4.8搭建及邮件微信告警实现

2.3更改字符集

选择新建的主机‘zabbix-test-centos7’,查看监控数据‘CPU user time’,选择‘图形’:

Zabbix3.4.8搭建及邮件微信告警实现

发现乱码:

Zabbix3.4.8搭建及邮件微信告警实现

在zabbix-server端执行如下命令:

[root@zabbix-server ~]# yum -y install wqy-microhei-fonts

[root@zabbix-server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

刷新web界面后正常:

Zabbix3.4.8搭建及邮件微信告警实现

3.新建监控项

新建监控项为监控主机运行时长,当主机运行时长超过3个月(180天)触发告警(系统默认模板‘Template OS Linux’已有uptime的信息,记录主机启动时间)。

3.1agent端修改被监控端的zabbix_agent.conf配置文件

[root@zabbix-agent ~]# view /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1

UserParameter=checkuptime,cat /proc/uptime| awk -F. '{run_days=$1 / 86400;print(run_days)}'

重启服务

[root@zabbix-agent ~]# systemctl restart zabbix-agent

3.2server测试

安装zabbix-get。Zabbix get 是一种命令行应用,它可以用于与Zabbix agent进行通信,并从agent哪里获取所需的信息 该应用通常被用于Zabbix agent故障排除。

[root@zabbix-server ~]# yum -y install zabbix-get

测试命令

[root@zabbix-server ~]# zabbix_get -s 172.27.9.65 -k checkuptime

3.3新建模板

Zabbix3.4.8搭建及邮件微信告警实现

查看新建模板:

Zabbix3.4.8搭建及邮件微信告警实现

3.4创建监控项

Zabbix3.4.8搭建及邮件微信告警实现

对于监控项,名称(Name)、值(Key)、信息类型(Type of information)为必选项,且Key唯一。

查看新建监控项:

Zabbix3.4.8搭建及邮件微信告警实现

3.5新建触发器

Zabbix3.4.8搭建及邮件微信告警实现

添加表达式:

Zabbix3.4.8搭建及邮件微信告警实现

'N'的值为触发告警值。

查看新建的触发器:

Zabbix3.4.8搭建及邮件微信告警实现

3.6添加图形

Zabbix3.4.8搭建及邮件微信告警实现

3.8关联主机

Zabbix3.4.8搭建及邮件微信告警实现

查看主机新增模板:

Zabbix3.4.8搭建及邮件微信告警实现

3.9查看告警项

Zabbix3.4.8搭建及邮件微信告警实现

查看图形:

Zabbix3.4.8搭建及邮件微信告警实现

邮件推送

zabbxi实现邮件告警推送有两种方式:

a.使用zabbix服务端的本地邮箱账号发送,邮件名为:user@hostname.localdomain,user为发送邮件的用户,hostname为zabbix-server的主机名,该邮箱只能发送,不能接收外部邮件;

b.使用外部邮箱指定为告警发送邮箱。

一般公司都有邮件系统,为方便管理,本文采用外部邮箱方式发送告警。(申请163邮箱号:zabbix_test_123@163.com ,注意开启客户端授权)

1.关闭postfix

[root@zabbix-server ~]# systemctl stop postfix

postfix为本地邮箱推送方式需安装的软件,若同时配置本地和外部邮箱两种发送方式,系统会优先采用外部邮箱方式,所以该步骤不是必须但最好关闭这个服务。

2.安装邮件发送工具mailx

[root@zabbix-server ~]# yum -y install mailx

查看mailx版本:

[root@zabbix-server ~]# mail -V

12.5 7/5/10 

3.配置外部邮箱

[root@zabbix-server ~]# view /etc/mail.rc

set from=zabbix_test_123@163.com

set smtp=smtp.163.com

set smtp-auth-user=zabbix_test_123@163.com

set smtp-auth-password=xxx

set smtp-auth=login

‘smtp-auth-password’为‘客户端授权密码’

Zabbix3.4.8搭建及邮件微信告警实现

测试外部邮箱

[root@zabbix-server ~]# echo "zabbix test mail 123" |mail -s "zabbix" zabbix_test_123@163.com

Zabbix3.4.8搭建及邮件微信告警实现

由于163的反垃圾机制,当发送为其它邮箱如126、qq邮箱时会报错,故本例中发送和接收邮箱都为 zabbix_test_123@163.com 。如若上生产可配置企业邮箱。

4.编写邮件发送脚本

修改脚本路径

[root@zabbix-server ~]# view /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/etc/zabbix/alertscripts

编写脚本mail.sh

[root@zabbix-server ~]# cd /etc/zabbix/

[root@zabbix-server zabbix]# mkdir alertscripts && cd alertscripts && touch mail.sh

[root@zabbix-server alertscripts]# more mail.sh

#!/bin/bash

echo "$3" | mail -s "$2" $1

[root@zabbix-server alertscripts]# chmod 755 mail.sh

$1:收件人邮箱地址;$2:邮件标题;$3:邮件内容

5.web端配置

5.1创建报警媒介类型

Zabbix3.4.8搭建及邮件微信告警实现

脚本参数分别对应:收件人地址、主题、详细内容

5.2配置用户

选择Admin:

Zabbix3.4.8搭建及邮件微信告警实现

添加报警媒介:

Zabbix3.4.8搭建及邮件微信告警实现

5.3创建报警动作

配置-动作-创建动作,新建动作:

Zabbix3.4.8搭建及邮件微信告警实现

新建操作:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

新建操作就是通过何种方式将消息发送给谁,其它选项默认。

添加恢复操作:

Zabbix3.4.8搭建及邮件微信告警实现

添加后的动作:

Zabbix3.4.8搭建及邮件微信告警实现

5.4测试邮件告警

新增告警项,在agent端/home文件系统使用dd命令创建文件,将文件系统使用率提升至90%以上以触发告警:

[root@zabbix-agent home]# dd if=/dev/zero of=test bs=1M count=1950

用dd命令生成一个1950M的test文件,使/home使用率告警。

Zabbix3.4.8搭建及邮件微信告警实现

触发邮件告警:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

发现邮件以附件方式发送,显示不正常,修改邮件发送脚本。

安装dos2unix转换工具:

[root@zabbix-server ~]# yum -y install dos2unix

编辑发送脚本:

[root@zabbix-server ~]# cd /etc/zabbix/alertscripts

[root@zabbix-server alertscripts]# touch mailtmp.txt && chmod 777 mailtmp.txt

[root@zabbix-server ~]# chown -R zabbix:zabbix /etc/zabbix/alertscripts/

[root@zabbix-server alertscripts]# more mail.sh

#!/bin/bash

FILE=/etc/zabbix/alertscripts/mailtmp.txt

echo "$3" >$FILE

dos2unix -k $FILE

cat $FILE|/bin/mail -s "$2" $1

注意:dos2unix命令执行的时候会产生临时文件,所以要有写的权限, 故应修改alertscripts目录属主 ,不然测试过程中会报错:‘dos2unix: Failed to open temporary output file: 权限不够’。

Zabbix3.4.8搭建及邮件微信告警实现

发现正文不再以附件形式显示。

查看告警日志:

Zabbix3.4.8搭建及邮件微信告警实现

至此邮件告警配置完成。

微信推送

1.公众号注册

登陆https://work.weixin.qq.com/, 注册企业号。

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

CorpID后面web端配置会用到。

2.新增应用

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

AgentId和Secret后面web端配置会用到。

3.添加部门及成员

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

部门id为3,后面会用到。

添加成员。添加成员可以直接添加,也可以微信邀请:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

直接添加:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

成员添加完成后修改应用可见范围为新建部门zabbix-webchat-01:

Zabbix3.4.8搭建及邮件微信告警实现

查看部门成员:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

4.下载微信发送脚本

[root@zabbix-server ~]# git clone https://github.com/loong576/Wechat-Alert-for-Zabbix.git

[root@zabbix-server ~]# cd Wechat-Alert-for-Zabbix/

[root@zabbix-server Wechat-Alert-for-Zabbix]# cp wechat_alert.py /etc/zabbix/alertscripts/

[root@zabbix-server alertscripts]# chown -R zabbix:zabbix /etc/zabbix/alertscripts/

[root@zabbix-server alertscripts]# chmod -R 755 /etc/zabbix/alertscripts/

没有git命令可先用yum安装。

requests库安装:

[root@zabbix-server ~]# yum -y install epel-release

[root@zabbix-server ~]# yum -y install python-pip

[root@zabbix-server ~]# pip install --upgrade pip

[root@zabbix-server ~]# pip install requests

requests模块可以直接用get(), post(),put(), delete(), head() ,options(),方法对url操作。

5.web端配置

5.1创建报警媒介类型

Zabbix3.4.8搭建及邮件微信告警实现

5.2配置用户

新建用户组群“weixin”,新建用户“weixin”:

Zabbix3.4.8搭建及邮件微信告警实现

添加访问主机群权限:

Zabbix3.4.8搭建及邮件微信告警实现

添加的主机群主为“zabbix-test”,即用户“weixin”只会收到zabbix-test群组下主机的告警信息。

Zabbix3.4.8搭建及邮件微信告警实现

配置用户的报警媒介:

Zabbix3.4.8搭建及邮件微信告警实现

5.3创建报警动作

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

添加告警恢复消息:

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

5.4微信告警测试

在agent端触发/var文件系统告警:

[root@zabbix-agent ~]# cd /var

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

Zabbix3.4.8搭建及邮件微信告警实现

微信告警接收可以直接关注企业号在“微信”app接收,或者下载“企业微信”专门来收告警,以便和日常使用的微信做区分。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-09/154433.htm


以上所述就是小编给大家介绍的《Zabbix3.4.8搭建及邮件微信告警实现》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品型社群

产品型社群

李善友 / 机械工业出版社 / 2015-3-1 / CNY 69.00

传统模式企业正在直面一场空前的“降维战争”, 结局惨烈,或生或死。 传统模式很难避免悲惨下场, 诺基亚等昔日庞然大物轰然倒塌, 柯达发明了数码成像技术却依然破产, 新商业的兴起到底遵循的是什么模式? 微信轻而易举干掉了运营商的短信业务, “好未来”为何让传统教育不明觉厉? 花间堂为什么不是酒店,而是入口? 将来不会有互联网企业与传统企业之分, ......一起来看看 《产品型社群》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具