实验环境

主机 操作系统 IP地址 主要软件
zabbix服务端 centos7.3 x86_64 192.168.144.113 zabbix-server4.0
Linux被监控端 centos7.3 x86_64 192.168.144.114 zabbix-agent4.0
Zabbix服务端环境部署

1、部署LAMP环境

由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。
yum install -y \ //安装LAMP环境包
httpd \
mariadb-server mariadb \
php \
php-mysql \ //php连接mysql模块
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
编辑配置httpd
vim /etc/httpd/conf/httpd.conf

ServerName www.yun.com

...

DirectoryIndex index.html index.php //添加首页支持格式
编辑配置php,配置中国时区
vim /etc/php.ini

date.timezone = PRC //PRC为中国时区
启动httpd,mysql
systemctl stop firewalld.service
setenforce 0

systemctl start httpd.service
systemctl start mariadb.service

netstat -ntap | egrep '(80|3306)'

启动msyql后执行初始安全设置。
mysql_secure_installation
mysql -u root -p

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123'; //创建zabbix数据库,并设定用户密码
flush privileges;
数据库设置完成,检测php与数据库连通情况
vim /var/www/html/index.php

$link=mysql_connect('192.168.144.113','zabbix','admin123');
if($link) echo "

Success!!

";
else echo "Fail!!";
mysql_close();
?>

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第1张图片
出现上图则PHP连通数据库完成

为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下。
使用root账户登录数据库。
select user,host from mysql.user; //有空用户名称占用导致本地无法登录远程可登录
+--------+-----------+
| user | host |
+--------+-----------+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| | cacti |
| root | cacti |
| | localhost |
| root | localhost |
+--------+-----------+

drop user ''@localhost; //删除空用户

drop user ''@cacti;

flush privileges;

2、部署Zabbix Server

yum install php-bcmath php-mbstring -y 安装php支持zabbix组件

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //会自动生成yum源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql -y 安装zabbix组件

zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成数据库文件,注意密码不要输成root的

查看、修改zabbix配置文件
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf

38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
101:DBName=zabbix //访问数据库名称
117:DBUser=zabbix //zabbix访问数据库用户
125:DBPassword=admin123 //配置文件中只需修改本行,zabbix访问数据库密码
347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:Timeout=4
507:AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:ExternalScripts=/usr/lib/zabbix/externalscripts
553:LogSlowQueries=3000
修改zabbix在httpd中的时区
vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai
为防止web界面中文乱码现象,需要将相应字体文件复制,使zabbix识别
cp STKAITI.TTF /usr/share/zabbix/fonts/

使zabbix系统识别字体
vim /usr/share/zabbix/include/defines.inc.php

:%s /graphfont/kaiti/g //采用全局替换模式
zabbix基本配置完成,启动服务,实现web界面安装
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //监听在10051端口上
systemctl restart httpd.service

web界面安装流程如下:
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第2张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第3张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第4张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第5张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第6张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第7张图片CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第8张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第9张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第10张图片

zabbix被监控端代理设置

安装zabbix-agent客户端
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm

yum install -y zabbix-agent

编辑修改配置文件
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf

13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.144.113 //zabbix服务器地址
139:ServerActive=192.168.144.113 //活跃服务器地址
150:Hostname=test
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
关闭防火墙,启动服务
systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service

netstat -anpt | grep zabbix //监听在10050端口

WEB管理界面添加被管理主机

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第11张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第12张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第13张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第14张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第15张图片

配置邮箱报警功能

1、配置自动邮箱发送

yum install mailx -y
vim /etc/mail.rc 编辑mailx配置文件

set [email protected]
set smtp=smtp.qq.com
set [email protected]
set smtp-auth-password=邮箱密码
set smtp-auth=login

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第16张图片

测试邮箱软件是否可用
echo "hello world" | mail -s "testmail" [email protected] //测试发信正常

2、编写邮件发送脚本

邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。
vim /usr/lib/zabbix/alertscripts

#!/bin/bash
#send mail

messages=echo $3 | tr '\r\n' '\n'
subject=echo $2 | tr '\r\n' '\n'
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

测试发邮件脚本是否可以正常工作
./mailx.sh [email protected] "主题" "内容"

3、配置服务监控自动触发邮件发送脚本

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第17张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第18张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第19张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第20张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第21张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第22张图片

4、在被监控主机模拟故障

关闭被监控主机的httpd服务,验证邮箱接收情况。

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第23张图片

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程_第24张图片