Centos7.4—构建zabbix监测系统
目录
第一部分 实验环境
第二部分 配置服务器端
第三部分 配置被控端(被监控服务器)
第四部分 配置邮件报警功能
第五部分 测试验证邮件报警
第一部分 实验环境
- Linux服务端一台
IP地址:192.168.80.10
需要软件:php-bcmath-5.4.16-42.el7.x86_64
php-mbstring-5.4.16-42.el7.x86_64
注意:需要公网环境(可以上外网),网上下载最新版本的zabbix服务
从微软客户端下载字体(楷体)到本机 - Linux客户端一台
IP地址:192.168.80.20
注意:客户端也需要能够上外网,可以下载zabbix-agent服务 - Win7客户端一台(测试用)
IP地址:192.168.80.2
第二部分 配置服务器端
第一步:RPM搭建LAMP架构(本地yum仓库)
[[email protected] ~]# yum install -y \
httpd \
mariadb-server mariadb \
php \
php-mysql \
php-gd \
libjpeg \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
[[email protected] ~]# vi /etc/httpd/conf/httpd.conf //编辑apache配置文件
ServerName server //#号去掉,更改主机名
DirectoryIndex index.html index.php //添加index.php
保存退出
[[email protected] ~]# vi /etc/php.ini 编辑Php配置文件
date.timezone = PRC //修改时区,去掉“;”注释
保存退出
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl start httpd.service
[[email protected] ~]# systemctl start mariadb.service
[[email protected] ~]# netstat -anpt | grep 80
[[email protected] ~]# netstat -anpt | grep 3306
[[email protected] ~]# mysql_secure_installation //初始化数据库配置
创建root帐户登录密码
移除匿名用户
允许root用户远程登录
移除测试数据库
重新加载
[[email protected] ~]# vi /var/www/html/index.php
<?php
phpinfo();
?>
保存退出
Win7访问http://192.168.80.10
[[email protected] ~]# mysql -u root –p //root用户登录数据库进行配置
CREATE DATABASE zabbix character set utf8 collate utf8_bin; //创建zabbix数据库
GRANT all ON zabbix. TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘admin123‘; //给zabbix用户授权管理zabbix数据库
flush privileges; //刷新权限
[[email protected] ~]# vi /var/www/html/index.php
<?php
$link=mysql_connect(‘192.168.80.10‘,‘zabbix‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>
保存退出
Win7访问http://192.168.80.10
第二步:部署zabbix服务
[[email protected] ~]# rpm -ivh php-mbstring-5.4.16-42.el7.x86_64.rpm
[[email protected] ~]# rpm -ivh php-bcmath-5.4.16-42.el7.x86_64.rpm
[[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //网上下载最新版本的zabbix源(自动生成Yum源)
[[email protected] ~]# yum install zabbix-server-mysql zabbix-web-mysql –y //安装zabbix服务及插件
[[email protected] ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成数据库文件,注意密码不要输成root的(admin123)
[[email protected] ~]# vi /etc/zabbix/zabbix_server.conf //编辑配置文件
保存退出
[[email protected] ~]# grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_server.conf //过滤查看配置文件
[[email protected] ~]# vi /etc/httpd/conf.d/zabbix.conf //修改时区
保存退出
[[email protected] ~]# cp stkaiti.ttf /usr/share/zabbix/fonts/
[[email protected] ~]# vi /usr/share/zabbix/include/defines.inc.php //修正图表中文乱码的问题
:%s /graphfont/kaiti/g //全部替换成楷体
保存退出
[[email protected] ~]# systemctl enable zabbix-server //设置zabbix开机启动
[[email protected] ~]# systemctl start zabbix-server //启动zabbix服务
[[email protected] ~]# netstat -anpt | grep zabbix
[[email protected] ~]# systemctl restart httpd //重启apache服务
Win7访问http://192.168.80.10/zabbix/
设置中文环境:Administrator-Users-点击用户-语言中设置
更新后,重新打开网页
第三部分 配置客户端(被控服务器)
第一步:安装配置zabbix-agent
注意:如果服务器也需要被自己监控也需要安装zabbix-agent
[[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
[[email protected] ~]# yum install -y zabbix-agent
[[email protected] ~]# vi /etc/zabbix/zabbix_agentd.conf //编辑配置文件
修改以下内容:
Server=192.168.80.10
ServerActive=192.168.80.10
Hostname=client
保存退出
[[email protected] ~]# grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_agentd.conf
[[email protected] ~]# service firewalld stop
[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl enable zabbix-agent
[[email protected] ~]# systemctl restart zabbix-agent
[[email protected] ~]# netstat -anpt | grep zabbix
第二步:增加被控主机—web平台上操作
保存添加
监控http、ssh,linux本身系统性能,添加后更新
已成功添加
第四部分 配置邮件报警功能
注意:网易邮箱需要开启客户端授权码进行第三方登录
授权码设置为:abc123
第一步:服务端配置
//安装mailx,并配置
[[email protected] ~]# yum install –y mailx
[[email protected] ~]# vi /etc/mail.rc
最后添加以下内容:
set [email protected]
set smtp=smtp.163.com
set [email protected]
set smtp-auth-password=abc123
set smtp-auth=login
保存退出
[[email protected] ~]# echo "tttttttt" | mail -s "testmail" [email protected] //测试正常发信
查看邮箱:
测试正常
[[email protected] ~]# cd /usr/lib/zabbix/alertscripts/
[[email protected] alertscripts]# vi mailx.sh //编写发邮件脚本
#!/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
保存退出
[[email protected] alertscripts]# touch /tmp/mailx.log
[[email protected] alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log
[[email protected] alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
[[email protected] alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/
[[email protected] alertscripts]# ./mailx.sh [email protected] "主题" "内容" //测试发邮件脚本是否可以正常工作
查看邮箱:
测试成功
第二步:web页面配置
- 管理—报警媒体类型—创建媒体类型
名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增以下三个参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
- 管理-用户-点击Admin-报警媒介
- 配置—动作—创建动作—删除默认标签,修改触发条件
(1)动作
(2)操作
(3)恢复操作
第五部分 测试验证邮件报警
一:服务器与客户端重启zabbix服务
[[email protected] alertscripts]# systemctl restart zabbix-server
[[email protected] ~]# systemctl restart zabbix-agent.service
二:被控端安装http服务,打开sshd服务
[[email protected] ~]# yum install -y httpd
[[email protected] ~]# vi /etc/httpd/conf/httpd.conf
ServerName client
保存退出
[[email protected] ~]# echo "<h1>This is test</h1>" > /var/www/html/index.html
[[email protected] ~]# systemctl start httpd
[[email protected] ~]# netstat -anpt | grep httpd
浏览器访问http://192.168.80.20
[[email protected] ~]# systemctl start sshd
三:测试邮件报警
- 模拟根分区使用率超过80%,测试邮件报警
//zabbix默认磁盘分区使用率超过80%会自动报警,因此不用作任何配置
[[email protected] ~]# df -hT
[[email protected] ~]# dd if=/dev/zero of=test bs=100M count=70
//查看邮箱 - 模拟关闭http、ssh服务
[[email protected] ~]# systemctl stop httpd
[[email protected] ~]# systemctl stop sshd
//查看邮箱
//测试成功
原文地址:http://blog.51cto.com/12227558/2103597