一、Zabbix软件组成结构
(1)zabbix-server:zabbix服务端
(2)zabbix-agent:zabbix客户端
(3)zabbix-web:监控网站服务
(4)php:处理动态资源请求
(5)mysql:存储监控数据信息
(6)zabbix-proxy:当需要监控的主机数量过多时,利用代理监控端监控客户端,再汇总给zabbix服务端
二、Zabbix服务端安装步骤
1、安装Zabbix官方yum源仓库
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
2、安装Zabbix相关软件
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
3、创建初始化数据库
systemctl start mariadb-server
systemctl enable mariadb-server
mysqladmin -u root password '123456'
mysql -u root -p 123456
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'zabbix'; #localhost表示数据库监听的网络地址
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
4、导入初始架构和数据到数据库
zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz | mysql -uzabbix -pzabbix zabbix #*表示版本号
5、修改服务端配置文件
[root@zabbix html]# egrep -v '^$|^#' /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=xxx.xxx.xxx.xxx #数据库IP地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
6、为Apache配置PHP
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
7、开启Zabbix服务
systemctl start zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
8、登录网站页面进行初始化
http://xxx.xxx.xxx.xxx/zabbix/setup.php
(1)、初始化安装界面
(2)、修改语言关联主机
9、修改图形页面乱码字符
yum -y install wqy-microhei-fonts.noarch
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/*.ttf
==注意:Zabbix4.0.23版本,PHP软件版本必须在5.4版本以上,否则监控项页面空白不显示,5.4版本PHP也可以通过在/usr/share/zabbix/items.php文件2025行上方,加入如下配置即可解决==
if (!function_exists('array_column')) {
function array_column($arr2, $column_key) {
$data = [];
foreach ($arr2 as $key => $value) {
$data[] = $value[$column_key];
}
return $data;
}
}
三、Zabbix客户端安装步骤
1、安装Zabbix官方yum源仓库
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
2、安装软件
yum -y install zabbix-agent
3、修改配置文件
[root@web01 ~ 19:02:07]# egrep -v '^$|^#' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=xxx.xxx.xxx.xxx #服务端ip地址
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
4、启动服务
systemctl start zabbix-agent
systemctl enable zabbix-agent
四、自定义监控项设置邮件报警
1、添加客户端配置文件
配置文件格式:UserParameter=键值,命令
第一种普通写法:
vim /etc/zabbix/zabbix_agentd.d/web_server.conf
UserParameter=nginx_status,ps -C nginx --no-header|wc -l
第二种变量写法:
vim /etc/zabbix/zabbix_agentd.d/web_server.conf
UserParameter=web_status[*],ps -C $1 --no-header|wc -l
第三种脚本写法:
vim /etc/zabbix/zabbix_agentd.d/web_server.conf
UserParameter=nginx_[*],/bin/bash /etc/zabbix/zabbix_agentd.d/zabbix_nginx.sh $1
==PS:变量文件要加执行权限,最好和配置文件放同一目录下,使用时使用绝对路径==
2、服务端测试客户端配置文件
#服务端上进行
yum -y install zabbix-get
[root@web02 ~ 19:55:39]# zabbix_get -k web_state[nginx] -s 172.16.1.7
2
3、重新客户端服务
systemctl restart zabbix-agent
4、登录网站进行配置
(1)、添加监控项
(2)、添加触发器
(3)、配置邮件报警
(4)、设置报警方式为邮件报警
(5)、设置启用动作
下面是标题和内容格式:
操作:
默认标题:
服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
消息内容:
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
当前状态:{TRIGGER.STATUS}
恢复操作:
默认标题:
服务器:{HOST.NAME},{TRIGGER.NAME}已恢复!
消息内容:
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
当前状态:{TRIGGER.STATUS}
更新操作:
默认标题:
服务器:{HOST.NAME}: 报警确认
消息内容:
确认人:{USER.FULLNAME}
时间:{ACK.DATE} {ACK.TIME}
确认信息如下:
"{ACK.MESSAGE}"
问题服务器IP:{HOSTNAME1}
问题ID:{EVENT.ID}
当前的问题是: {TRIGGER.NAME}
网友评论