一、分离zabbix数据库
提示:应用场景,随着公司业务的发展,管理的主机增多,一台服务器不能满足大量信息的及时处理。
环境:
zabbix-server:192.168.2.130 mariadb:192.168.2.137
1)开启一台centos7,安装mariadb-server,创建zabbix数据库和用户
安装并启动数据库:
登录数据库,创建zabbix数据库和用户并授权:
2)在zabbix服务器上备份导出zabbix数据库(zabbix-server:192.168.2.130)
备份原zabbix服务器数据库:
3)在zabbix服务器上把备份的数据库文件导入到分布式数据库(mysql:192.168.2.137)
cat 2021_zabbix.sql | mysql -h 192.168.2.137 -uzabbix -p123.com zabbix
4)修改zabbix-server上的数据库连接信息
vim /etc/zabbix/zabbix_server.conf
修改为:
DBHost=192.168.2.137
DBName=zabbix
DBUser=zabbix
DBPassword=123.com
保存退出
vim /etc/zabbix/web/zabbix.conf.php
修改为:
$DB[‘TYPE’] = ‘MYSQL’;
$DB[‘SERVER’] = ‘192.168.2.137’;
$DB[‘PORT’] = ‘0’;
$DB[‘DATABASE’] = ‘zabbix’;
$DB[‘USER’] = ‘zabbix’;
$DB[‘PASSWORD’] = ‘123.com’;
保存退出
5)重启zabbix和httpd服务
systemctl restart zabbix-server httpd
二、自定义监控–磁盘吞吐量
提示:网络可能延迟
例如:
1)测试:检查磁盘的tps命令
2)在agent客户端的配置文件目录下新增监控配置文件(键值对命名法)
创建配置文件:
vim /etc/zabbix/zabbix_agentd.d/iostat.conf
添加:
保存退出
systemctl restart zabbix-agent
3)客户端查看监控项(证明设置无误,有时会提示超时忽略)
4)在zabbix web 界面进行监控项关联
配置–主机–找到对应主机–监控项–创建监控项–命名–键值(iostat)–信息类型(浮点数)–应用集名-更新
能看到这个
验证:监测–最新数据
”
三、zabbix报警
1、 报警音报警
1)前端声音报警:右上角小人(用户)–正在发送信息–勾选–更新
2)添加触发器(以监控主机登录用户数大于等于三声音报警为例)配置–主机–找到对应主机–触发器–创建触发器–命名–严重性–添加表达式–选择监控项–间隔–结果–添加
2、邮件报警
1)配置–动作–启用report–应用
2)右上角小人(用户)–报警媒介–添加–收件人邮箱地址(推荐使用qq邮箱)
3)管理–报警媒介类型–email–添加SMTP服务器:smtp.qq.com–端口:465–HELO:qq.com–SMTP电邮:1793594335@qq.com
–SSL/TLS–勾选–用户名称:1793594335@qq.com–密码:授权码(打开邮箱–设置–开启smtp服务–获取授权码–保存配置)
QQ邮箱登录也要设置,重点是要获取授权码,省略!
验证:触发报警,可以查看到报警邮件。
4)微信女友报警:
微信操作
1.申请企业微信
我的企业–复制企业ID:wwb51a90f544c78346
应用管理–创建应用–名称:报警机器人–选择部门–创建应用–点开报警机器人
–复制:AgentId 1000002 ,Secret (需要登录企业微信,“企业微信团队”选项会有此信息)
2.编写python微信报警脚本,并修改企业id和用户密码
复制Python脚本到zabbix-server服务器的/usr/lib/zabbix/alertscripts/目录
cd /usr/lib/zabbix/alertscripts/
vim weixin.py
修改:
corpid=‘wwb51a90f544c78346’ #您的企业ID
appsecret=‘ptoSa9IMqSOinnOJ2Bq6-4i_EBKJbZ8tcG6R6TlhknU’ #报警机器人密码
agentid=1000002 #报警机器人ID
保存退出
赋予执行权:chmod 777 weixin.py
安装Windows格式文件转Unix格式服务
格式转换:dos2unix -k weixin.py
创建日志文件并赋权weixin.log:
touch /tmp/weixin.log
chown zabbix:zabbix /tmp/weixin.log
测试发送微信:
企业微信验证:
zabbix网页设置:
目的:zabbix-web与微信关联
流程:
管理–报警媒介类型–右上角“创建媒体类型”
–“名称(微信报警),类型(脚本),脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}”
–更新
右上角–小人(用户)–报警媒介–“类型(微信报警,收件人:微信账号)”–添加–更新
先启用报警之后通过报警媒介发生信息的动作。
选择报警媒介:
注意:收件人,是填写微信的账号:
验证:触发报警,在企业微信查收信息
添加触发器(以监控主机登录用户数大于等于三声音报警为例),和前面邮件报警设置一样
企业微信查看:成功
扩展:
修改邮件通知内容(可以让消息变得易读)
1.配置–动作–Report problems to Zabbix administrators
操作:修改默认标题,修改消息内容
主题:Problem: {EVENT.NAME}故障{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}
2.修改后,更新