1、系统环境
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)php
关闭防火墙及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 0mysql
2、数据库安装及配置
一、MariaDB概述
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL受权许可。
开发这个分支的缘由是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,所以社区采用分支的方式来避开这个风险。
MariaDB的目的是彻底兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。linux
二、安装mariadb
yum install mariadb-server mariadb -y
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #中止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动web
3、Zabbix3.4安装及配置sql
一、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 -yshell
二、建立数据库
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';数据库
三、导入数据
zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -pzabbix zabbixvim
四、配置数据库用户及密码
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=3000centos
五、启动zabbix server并设置开机启动
systemctl enable zabbix-server
systemctl start zabbix-server
六、编辑Zabbix前端PHP配置,更改时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
七、SELinux配置
setsebool -P httpd_can_connect_zabbix on
setsebool -P httpd_can_network_connect_db on
八、启动httpd并设置开机启动
systemctl start httpd
systemctl enable httpd
4、安装Zabbix Web
一、浏览器访问,并进行安装
http://192.168.21.29/zabbix
这里就先略过了。。。一直下一步
5、zabbxi-agent安装及配置
一、安装zabbxi-agent
yum install zabbix-agent -y
二、配置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
三、启动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
至此备份文件检查监控完成了,许还有一些改进,未完待续!!!