zabbix简介
- zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
- zabbix官网: https://www.zabbix.com
- zabbix 主要由2部分构成 zabbix server和 zabbix agent
- zabbix proxy是用来管理其他的agent,作为代理
zabbix组件:
- Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;port:10051
- Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;
- Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;
- Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;port:10051
- Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;port:10050
zabbix4.0安装
第一步:安装数据库yum源
[mariadb]
name=MariaDB
baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
第二部:安装mariadb数据库
yum install MariaDB
第二步:安装zabbix4.0的源
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
第四步:安装zabbix所需的组件
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
第五步:编辑文件/etc/zabbix/zabbix_server.conf
DBPassword=zabbix
第六步:编辑文件设置时区/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Europe/Riga --> Asia/Shanghai(打开注释)
第七步:编辑数据库server配置文件
[root@localhost ~]# vim /etc/my.cnf.d/server.cnf
...
[mysqld]
innodb_log_file_size=512M #影响数据库的写入性能
innodb_strict_mode=0 #数据库的严查模式 1 为开启
...
[root@localhost ~]# systemctl restart mariadb
第八步:创建数据库和用户
#mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit;
第九步:导入zabbix服务器所需要的表和数据
cp /usr/share/doc/zabbix-server-mysql-4.0.12/create.sql.gz /root/
gunzip create.sql.gz
MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> source /root/create.sql;
第十步:启动服务和开机自启
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
第十一步:浏览器访问
http://server_ip/zabbix
改字体
- 解决:中文wed界面字体不全
第一步:从widows中复制一份字体
第二步:上传到linux并修改
[root@localhost ~]# find / -name fonts
/boot/grub2/fonts
/etc/fonts
/usr/share/fonts
/usr/share/httpd/noindex/css/fonts
/usr/share/zabbix/assets/fonts
/mnt/EFI/BOOT/fonts
[root@localhost ~]# cd /usr/share/zabbix/assets/fonts
[root@localhost fonts]# ls
graphfont.ttf
[root@localhost fonts]# rz
[root@localhost fonts]# ls
graphfont.ttf simkai.ttf
[root@localhost fonts]# mv graphfont.ttf graphfont.ttf.bak
[root@localhost fonts]# mv simkai.ttf graphfont.ttf
[root@localhost fonts]#
zabbix-邮件报警
邮件报警功能想实现,当资源达到阈值时,触发触发器进行发送邮件告警的动作。使用设置的163邮箱为发送者邮箱,发送到被通知的qq邮箱。
创建报警媒介为163邮箱
设置163邮件服务器配置
上面的用户名写163邮箱登陆用户名,密码需要在163邮箱的设置中获取授权码(即为填写的密码)
编辑zabbix发送邮件报警的用户为admin
在admin用户中的报警媒介中设置报警发送到qq邮箱
创建报警动作,在事件源中选择触发器
创建触发条件为:触发器等于节点不可用
设置动作的具体操作内容:通过zabbix的admin用户利用163邮箱发送消息给qq邮箱
设置回复后的操作内容:通过zabbix的admin用户利用163邮箱发送消息给qq邮箱
测试将node1的网络服务stop,主机列node1的zabbix可用性为红色不可用
报警显示node1不可用
#主题:
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}
自定义监控
- 数据库
# 在客户端编写配置文件(UserParameter=key,value添加到最后一行):
vim /etc/zabbix/zabbix-agent.conf
...
UserParameter=proc.mysql,ps -ef|grep mysql|wc -l
- 数据库主从
mysql -uroot -e 'show slave statusG'| egrep "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes