第1章 Zabbix监控平台部署zabbix3.2完整教程
1.1 Zabbix监控平台部署过程介绍
Zabbix监控平台部署,至少需要安装四个组件,分别是Zabbix_Server、Zabbix_Web、Databases、Zabbix_Agentd,如下为Zabbix监控平台安装配置详细步骤:
1.系统环境:
centos 7使用yum源安装zabbix3.2
说明:这篇教程安装了zabbix-server端、zabbix-agent端
2.安装zabbix的yum源:
rpm-ivhhttps://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
3、安装zabbix-server数据库、zabbix-web服务端、zabbix-agent客户端:
Yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
4、安装mariadb数据库客户端和服务端:
Yum install mariadb mariadb-server
5、启动mariadb数据库:
systemctl start mariadb
6、设置mariadb数据库开机自启动:
systemctl enable mariadb
7、初始化数据库与登录mariadb数据库
mysql_secure_installationmysql
8、创建zabbix数据库并设置字符集为utf-8:
create database zabbix character set utf8 collate utf8_bin;
9、创建zabbix用户、设置允许zabbix用户本地登录并为zabbix设置密码为123456:
grant all privileges on zabbix.* to zabbix@localhost identified by ‘123456’;
10、立即刷新权限表:
flush privileges;
11、退出mariadb数据库:
\q
12、导入zabbix数据进zabbix数据库中:
zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p123456 zabbix
13、修改zabbix服务端配置文件:
vi /etc/zabbix/zabbix_server.conf
参数如下:
DBHost=localhost #这项可以根据实际情况自行修改成zabbix服务器的IP地址 DBName=zabbix DBUser=zabbix DBPassword=123456
14、修改zabbix客户端配置文件:
vi /etc/zabbix/zabbix_agentd.conf 参数如下: Server=127.0.0.1 #根据实际情况自行修改成zabbix服务器的IP地址 ServerActive=127.0.0.1 #根据实际情况自行修改成zabbix服务器的IP地址 Hostname=Zabbix server #根据实际情况自行修改成相对应的主机名
15、启动zabbix服务端、zabbix客户端:
systemctl start zabbix-server systemctl start zabbix-agent
16、设置zabbix服务端、zabbix客户端开机自启动:
systemctl enable zabbix-server systemctl enable zabbix-agent
17、修改zabbix网页端环境配置文件:
vi /etc/httpd/conf.d/zabbix.conf 参数如下: 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 Asia/Shanghai
18、此项为非必须,如果开启了SElinux就需要执行此操作:
setsebool -P httpd_can_connect_zabbix on
19、启动httpd:
systemctl start httpd
20、设置httpd开机自启动:
systemctl enable httpd
21、使用浏览器初始化zabbix:
(1)URL:https://zabbix服务的ip地址/zabbix (2)初始化后使用帐号:Admin 密码:zabbix登录 yum install lrzsz -y
附件:
修改中文乱码情况:
上传字体到/usr/share/zabbix/fonts下,(这里我上传的名字叫STKAITI.ttf)
mv STKAITI.ttf graphfont.ttf(替换字体)
1.2 Zabbix监控平台邮件告警配置
Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常,通过查看Zabbix监控服务器,可以了解服务器的运行状态是否正常,运维人员不会时刻登录Zabbix监控平台刷新,查看服务器的状态。
可以在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到设定的触发器预设值时,不管任何时候,会自动发送报警邮件、微信信息到指定的人员,运维人员收到信息有利于第一时间解决故障。Zabbix邮件报警设置步骤如下:
1) 设置邮件模板及邮件服务器
AdministrationàMedia typesàCreate media type,填写邮件服务器信息,根据提示设置完毕,如图13-19(a)、13-19(b)所示:
图13-19(a) Zabbix邮件报警邮箱设置
图13-19(b) Zabbix邮件报警邮箱设置
2) 配置接收报警的邮箱
Administration-user-Admin (Zabbix Administrator)-user-admin,选择Media,单击Add添加发送邮件的类型“Email”,同时指定接收邮箱地址:wgkgood@163.com,根据实际需求改成自己的接收人,如图13-20所示:
图13-20 Zabbix邮件报警添加接收人
3) 添加报警触发器
ConfigurationàActionsàActionà Event sourceàTriggers-Create Action,如图13-21(a)、13-21(b)、13-21(c)所示,分别设置Action、Operations、Recovery operations。
q ActionàNew condition选择“Trigger serverity>=Warning”;
q Operationsà设置报警间隔为60s,自定义报警信息,报警信息发送至administrators组;
q Recovery operations à自定义恢复信息,恢复信息发送至administrators组。
图13-21(a) 邮件报警Action设置
图13-21(b) 邮件报警Operations设置
图13-21(c) 邮件报警Recovery Operations设置
报警邮件标题可以使用默认信息,亦可使用如下中文报警内容:
名称:Action-Email 默认标题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID} |
恢复邮件标题可以使用默认信息,亦可使用如下中文报警恢复内容:
恢复标题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复! 恢复信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID} |
MonitoringàProblems,检查有问题的Action事件,单击Time下方时间,如图13-22(a)、13-22(b)所示,可以看到邮件是否执行成功或者失败:
图13-22(a) Zabbix查看有问题的事件
图13-22(b) Zabbix有问题的事件执行任务
Zabbix邮件发送失败,报错Support for SMTP authentication was not compiled in,原因是由于Zabbix CURL版本要求至少是7.20+版本,升级CURL,升级方法:
wget https://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm rpm -ivh city-fan.org-release-1-13.rhel6.noarch.rpm yum upgrade libcurl -y curl -V
CURL升级完毕之后,测试邮件发送,还是报同样的错误,原因是因为需要重新将Zabbix_Server服务通过源码编译安装一遍,安装完zabbx_server,重启服务,乱码问题是由于数据库字符集需改成UTF-8格式,同时将数Zabbix库导出,然后修改latin1为utf8,再将SQL导入,重启Zabbix即可,最终如图13-23(a)、13-23(b)、13-23(c)所示:
图13-23(a) Zabbix事情发送邮件进程
图13-23(b) Zabbix监控故障item发送报警邮件
图13-23(c) Zabbix监控故障item恢复发送邮件
1.3 Zabbix监控平台微信告警配置
Zabbix除了可以使用邮件报警之外,还可以通过多种方式把告警信息发送到指定人,例如短信报警方式,越来越多的企业开始使用Zabbix结合微信作为主要的告警方式,因为每个人每天都在使用微信,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。Zabbix微信报警怎么设置呢,设置的步骤有哪些呢,方法步骤如下:
(1) 微信企业号注册
企业号注册地址:https://qy.weixin.qq.com/填写企业注册信息,等待审核完,并且微信扫描登录企业公众号,如图13-39(a)、13-39(b)所示:
图13-39(a) 微信企业公众号注册
图13-39(b) 微信企业公众号登录
(2) 通讯录添加运维部门及人员
登录新建的企业号,通过提前把企业成员信息添加到组织或者部门,需要填写手机号、微信号或邮箱,通过这样方式让别人扫码关注企业公众号,为了后面企业号推送消息给企业成员,如图13-40(a)、13-40(b)所示:
图13-40(a) 微信企业公众号通讯录图13-40(b) 微信企业公众号通讯录
(3) 企业应用-创建应用
除了对个人添加微信报警之外,还可以添加不同管理组,接受同一个应用推送的消息,
成员账号,组织部门ID,应用Agent ID,CorpID和Secret,调用API接口需要用到这些信息,如图13-41(a)、13-41(b)、13-41(c)所示:
图13-41(a) 微信企业公众号创建应用图13-41(b) 微信企业公众号创建应用图13-41(c) 微信企业公众号创建应用
(4) 获取企业CorpID,单击企业公众号首页“我的企业”,即可看到,如图13-42所示:
图13-42 微信企业公众号CorpID
(5) 微信接口调试,调用微信接口需要一个调用接口的凭证:Access_token通过CorpID和Secret可以获得Access_token,微信企业号接口调试地址: https://qydev.weixin.qq.com/debug,如图 13-43(a)、13-43(b)所示:
图13-43(a) 微信企业公众号调试
图13-43(b) 微信企业公众号调试
(6) 获取微信报警工具
mkdir -p /usr/local/zabbix/alertscripts cd /usr/local/zabbix/alertscripts wget https://dl.cactifans.org/tools/zabbix_weixin.x86_64.tar.gz tar zxvf zabbix_weixin.x86_64.tar.gz mv zabbix_weixin/weixin . chmod o+x weixin mv zabbix_weixin/weixincfg.json /etc/ rm -rf zxvf zabbix_weixin.x86_64.tar.gz rm -rf zabbix_weixin/
修改/etc/ weixincfg.json配置文件中corpid、secret、agentid,并测试脚本发送信息,如图13-44(a)、13-44(b)所示:
cd /usr/local/zabbix/alertscripts ./weixin wuguangke 报警测试 Zabbix故障报警 ./weixin contact subject body标准信息格式: Contact,为你的微信账号,注意不是微信号,不是微信昵称,可以把用户账号设置成微信号或微信昵称,Subject 告警主题,Body 告警详情。 |
图13-44(a) Zabbix Server端微信配置文件
图13-44(b) Zabbix Server端微信配置文件
(7) 脚本调用设置
Zabbix_Server端设置脚本执行路径,编辑zabbix_server.conf文件,添加如下内容:
AlertScriptsPath=/usr/local/zabbix/alertscripts |
(8) Zabbix WEB端配置,设置Actions动作,并设置触发微信报警,如图13-45(a)、13-45(b)、13-45(c)所示:
图13-45(a) Zabbix Server Action动作配置
图13-45(b) Zabbix Server Action动作配置
图13-45(c) Zabbix Server Action动作配置
(9) 配置Media Type 微信脚本,AdministrationàMedia TypesàCreate Media Type如图13-46所示,脚本加入三个参数:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}:
图13-46 Zabbix Server Media Types配置
(10) 配置接收微信信息的用户,AdministrationàUsersàAdminàMedia如图13-47所示:
图13-47 Zabbix Server Users Media
(11) 微信报警信息测试,磁盘容量剩余不足20%,会触发微信报警,如图13-48(a)、13-48(b)、13-48(c)所示:
图13-48(a)Zabbix 微信报警信息
图13-48(b)Zabbix 微信报警故障信息
图13-48(c)Zabbix 微信报警恢复信息