一、系统环境
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
关闭防火墙及selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
二、数据库安装及配置
1、MariaDB概述
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
2、安装mariadb
yum install mariadb-server mariadb -y
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
三、Zabbix3.4安装及配置
1、Zabbix3.4安装
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y
2、创建数据库
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
3、导入数据
zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -pzabbix zabbix
4、配置数据库用户及密码
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
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=zabbix
314:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
432:Timeout=4
474:AlertScriptsPath=/usr/lib/zabbix/alertscripts
484:ExternalScripts=/usr/lib/zabbix/externalscripts
520:LogSlowQueries=3000
5、启动zabbix server并设置开机启动
systemctl enable zabbix-server
systemctl start zabbix-server
6、编辑Zabbix前端PHP配置,更改时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
7、SELinux配置
setsebool -P httpd_can_connect_zabbix on
setsebool -P httpd_can_network_connect_db on
8、启动httpd并设置开机启动
systemctl start httpd
systemctl enable httpd
四、安装Zabbix Web
1、浏览器访问,并进行安装
http://192.168.21.29/zabbix
这里就先略过了。。。一直下一步
五、zabbxi-agent安装及配置
1、安装zabbxi-agent
yum install zabbix-agent -y
2、配置zabbxi-agent
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
97:Server=192.168.21.29
138:ServerActive=192.168.21.29
149:Hostname=Zabbix server
267:Include=/etc/zabbix/zabbix_agentd.d/*.conf
3、启动zabbxi-agent并设置开机启动
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
到这里zabbix已经部署完毕!!!
接下来是我会根据对mysql的备份是否成功进行监控,我们开始吧!!
首先我们对mysql数据库大小进行统计
制定以判断文件大小来编写监控脚本 脚本如下:
#!/bin/bash
file_path=/backup/mysqldata
ZABBIX_SENDER=/usr/bin/zabbix_sender
zabbix_server=192.168.21.29
zabbix_agent=192.168.20.227
DuCheck(){
date=$(date -d "yesterday" +%Y-%m-%d)
file=$file_path/mysql-$date.sql
du=$(cd $file_path && du -sm *|grep mysql-$date.sql|awk {'print $1'}) #统计文件大小
if [[ $du -ge 100 ]] #生产库每天都有新数据产生,备份量会越来越大
then
echo 0
else
${ZABBIX_SENDER} -z ${zabbix_server} -s ${zabbix_agent} -k file.check -o "fail" &> /dev/null
echo 1
exit 1
fi
}
Sender(){
if [ $(DuCheck) -eq 0 ]
then
${ZABBIX_SENDER} -z ${zabbix_server} -s ${zabbix_agent} -k file.check -o "sucess" &> /dev/null
else
return 0
fi
}
[ $# -eq 0 ] && Sender || echo Usage: $0
:wq 保存并退出
在zabbix上需要新建监控模版 监控项 触发器等等
新建模板“File Check”
模板中新建监控项“file status check”
新建触发器
设置返回值如果为fail则触发告警
绑定主机
查看检查结果
运行shell脚本 查看如下:
设置定时任务,这里我就不写了。
修改agent的配置文件
view zabbix_agentd.conf
UserParameter=file.check.send,/etc/zabbix/script/file_check.sh
重启zabbix-agent服务
systemctl restart zabbix-agent
至此备份文件检查监控完成了,许还有一些改进,未完待续!!!