文章目录
前言
本文对监控神器Zabbix从部署到应用做了详细的阐述,希望对大家有所帮助⛳️ 1.Zabbix介绍
官网:https://www.zabbix.com/cn/
⛳️ 2.Zabbix架构
⛳️ 3.安装 Zabbix
🐴 3.1 添加yum源
cat > /zabbix_aliyun.sh <<"EOF"
#!/bin/bash
echo -e "请给出要安装的 zabbix 版本号 \033[31musage:./zabbix_aliyun.sh 4.0|4.4|4.5|5.0 \033[0m"
echo "例如要安装 5.0 版本,则使用命令: sh zabbix_aliyun.sh 5.0"
if [ -z $1 ];then
exit
fi
VERSION=$1
if [ -f /etc/yum.repos.d/zabbix.repo ];then
rm -rf /etc/repos.d/zabbix.repo
fi
rpm -qa | grep zabbix-release && rpm -e zabbix-release
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.noarch.rpm
sed -i "s@zabbix/.*/rhel@zabbix/$VERSION/rhel@g" /etc/yum.repos.d/zabbix.repo
sed -i 's@repo.zabbix.com@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
[ $? -eq 0 ] && echo "阿里云的 zabbix 源替换成功" || exit 1
yum clean all
yum makecache fast
EOF
🐴 3.2 安装组件
🐴 3.3 修改配置文件
🐴 3.4 配置数据库服务
[root@jemzabbix5 ~]# mkdir /soft
[root@jeames soft]# docker cp mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar jemzabbix5:/soft
[root@jemzabbix5 ~]# cd /soft/
[root@jemzabbix5 soft]# tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
yum localinstall -y mysql-community-*.rpm
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
alter user root@'localhost' identified by 'Jem@jem123';
uninstall plugin validate_password;
grant all on *.* to root@'%' identified by 'root';
grant all on *.* to root@'localhost' identified by 'root';
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@localhost identified by 'jem';
grant all on zabbix.* to zabbix@'%' identified by 'jem';
flush privileges;
mysql> select Host,User from mysql.user;
# 上传 create.sql.gz 文件
docker cp create.sql.gz jemzabbix5:/soft
zcat create.sql.gz | mysql -uroot -proot zabbix
-- 修改参数/etc/my.cnf
default-time-zone = '+8:00'
log_timestamps = SYSTEM
character_set_server=utf8mb4
🐴 3.4 启动资源
⛳️ 4.Zabbix监控
🐴 4.1 监控MySQL
🐴 4.1 监控postgreSQL
请参考以下博客
https://blog.csdn.net/weixin_41645135/article/details/120300581
⛳️ 5.邮件告警
[root@localhost ~]# vim send.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'
mail_user = 'smtpwho'
mail_pass = '密码'
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
me = "Zabbix 监控告警通知"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
# To see the default path run command "zabbix_server --help".
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts #解除注释,找到配置项
标题改为:
故障{TRIGGER.STATUS},
服务器: {HOSTNAME1}
发生: {TRIGGER.NAME}故障!
信息改为:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{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}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}: {ITEM.VALUE1}
事件 ID:{EVENT.ID}
最终点击小add添加选项,继续点击大ADD完成动作增加