当前位置: 首页 > news >正文

centos7.5搭建zabbix3.4.x以及mysql定制化监控

 

一、系统环境
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

 

至此备份文件检查监控完成了,许还有一些改进,未完待续!!!

 

转载于:https://www.cnblogs.com/king-LL/p/10642401.html

相关文章:

  • java ReentrantLock
  • C学习笔记-makefile
  • cocos2dx笔记1:概述
  • 易语言QQpost加好友源码
  • Ansible-----常用功能
  • 2019春第六周学习编辑总结
  • 【感悟】一次不太好的寻找bug的体验,RecyclerView
  • mysql 命令启动
  • [题解]区间dp_luogu_P3147 262144
  • Permission denied: .gvfs
  • day2
  • JSP语法入门
  • 学习备忘英语单词转载
  • 存储的一些基本概念(HBA,LUN)
  • Kubenetes---Service--实践
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【笔记】你不知道的JS读书笔记——Promise
  • 30天自制操作系统-2
  • avalon2.2的VM生成过程
  • HTTP请求重发
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript学习总结——原型
  • Mac转Windows的拯救指南
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Vue.js 移动端适配之 vw 解决方案
  • Zepto.js源码学习之二
  • 番外篇1:在Windows环境下安装JDK
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 记一次删除Git记录中的大文件的过程
  • 前嗅ForeSpider教程:创建模板
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 我看到的前端
  • 小程序开发之路(一)
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # Panda3d 碰撞检测系统介绍
  • # 透过事物看本质的能力怎么培养?
  • #QT(一种朴素的计算器实现方法)
  • #宝哥教你#查看jquery绑定的事件函数
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1) caustics\
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (poj1.2.1)1970(筛选法模拟)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (南京观海微电子)——COF介绍
  • (小白学Java)Java简介和基本配置
  • (转)iOS字体
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET C#版本和.NET版本以及VS版本的对应关系