Zabbix监控
接上一节内容 Zabbix监控系统一
监控mysql加密数据库
手动设置
在server5上进行实验
实现前确保mysql服务开启
systemctl enable --now mariadb
1.创建/var/lib/zabbix目录,并在其下创建隐藏文件.cnf
mkdir /var/lib/zabbix
cd /var/lib/zabbix
vim .my.cnf
[mysql]
user=zabbix
password=lyueyue
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
user=zabbix
password=lyueyue
socket=/var/lib/mysql/mysql.sock
2.修改 userparameter_mysql.conf 文件
cd /etc/zabbix/zabbix_agentd.d
vim userparameter_mysql.conf
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
3.重启服务
systemctl restart zabbix-agent
4.测试
确保测试软件zabbix-get已安装
yum insyall -y zabbix-get
zabbix_get -s 127.0.0.1 -p 10050 -k "mysql.ping"
5.web端手动添加模板
开始测试
在web端添加模板
监控项为39个,对于一个庞大的mysql数据库而言有点少,所以我们采用percona-mysql来全面监控MySQL数据库。
使用percona-mysql监控插件
percona-zabbix-templates 软件包下载地址
实验前准备:
删掉之前在web端手动添加的mysql数据库模板
检查配置文件
1.安装percona-mysql模块rpm包
wget https://repo.percona.com/yum/release/7/RPMS/noarch/percona-zabbix-templates-1.1.8-1.noarch.rpm
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
2.复制配置文件
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
3.安装php与mysql连接模块
yum install -y php-mysql
yum install -y php
4.修改php文件,指定数据库用户与密码
cd /var/lib/zabbix/percona/scripts
vim ss_get_mysql_stats.php
5.重启agent
systemctl restart zabbix-agent
5.测试
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
cd /tmp
cat localhost-mysql_cacti_stats.txt
6.web前端配置Percona模板
下载模板
wget http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml
导入模板
添加模板
检查配置文件
下载模板,将这个模板传到真机
导入模板
加入聚合图形
添加模板成功
监控java应用
在server6上
1.安装java环境
yum install java
2.安装tomcat
tar zxf apache-tomcat-7.0.57.tar.gz -C /usr/local
cd /usr/local
ln -s apache-tomcat-7.0.57/ tomcat
3.编辑tomcat脚本,设定监听端口为8888
cd /usr/local/tomcat/bin/
vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
4.启动服务
./startup.sh
netstat -antlp | grep :8888
在server5上设置后端服务器
1.安装zabbix与java模块插件
yum install -y zabbix-java-gateway
2.启动服务
/etc/zabbix/zabbix_java_gateway.conf #配置文件位置
systemctl enable --now zabbix-java-gateway.service
3.查看默认java监听端口:10052
netstat -antlp | grep :10052
4.配置zabbix-server文件
vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.1.21 #设定java监听网关指向zabbix-server主机
JavaGatewayPort=10052
StartJavaPollers=10 #Java轮询器
5.重启服务
systemctl restart zabbix-server
在server5上设置前端(web)
在server6上
在server5上
在web端添加模板
添加JMX接口
出现很多java监控项
zabbix_proxy代理
zabbix_proxy官方文档
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,在一定程度上分担了zabbix server 的压力。
zabbix proxy 使用场景:
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
- 简化分布式监控的维护
在server7上配置,server7为zabbix_proxy
1.清理server7环境
systemctl disable --now zabbix-agent.service
2.安装代理工具
yum install -y zabbix-proxy-mysql
3.配置数据库
yum install -y mariadb-server
systemctl enable --now mariadb
mysql
create database zabbix_proxy character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified by 'lyueyue';
grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
4.修改zabbix_proxy.conf文件
grep -v ^# /etc/zabbix/zabbix_proxy.conf | uniq
( vim /etc/zabbix/zabbix_proxy.conf )
Server=192.168.1.21
Hostname=server7 #server7即proxy,hostname也可以改为proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=lyueyue
JavaGateway=192.168.1.21
StartJavaPollers=5
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
5.拷贝zabbix代理数据库模板到mariadb中
cd /usr/share/doc/zabbix-proxy-mysql-5.0.19/
zcat schema.sql.gz | mysql -uzabbix -plyueyue zabbix_proxy
6.启动zabbix-proxy
systemctl enable --now zabbix-proxy.service
在server6上配置,server6为zabbix_agent
1.修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.23
ServerActive=192.168.1.23
Hostname=server6
Include=/etc/zabbix/zabbix_agentd.d/*.conf
2.重启服务
systemctl restart zabbix-agent
web端配置
proxy模式是主动连接server端,发现server5和server7开始建立连接
开始配置server6
web端配置
配置完成
智能降噪-睿象云
- 在zabbix监控服务实现后,可能会有大量的不同级别告警出来,对于企业成千上万台服务器的告警时,这个数据量很大,我们运维人需要一个专业管理平台来做衔接。
- 这里推荐一个比较好用的平台:睿象云
睿象云智能运维平台可以快速接入各类事件,通过人工智能算法自动发现、诊断、修复IT系统运行事故,并能帮助企业形成最佳事件管理流程,让业务运行更加安全可靠。
首先注册一个账号并登录
CA控制台界面
使用默认用户Admin,默认密码zabbix登录
zabbix web应用禁用报警媒介类型 管理---->报警媒介类型----> 禁用
这里我们设置一个微信通知策略
开始测试
关闭server6的zabbix-agent服务,当关闭时间超过五分钟时,微信会收到报警信息
查看问题
微信收到报警信息
另外当重启server6的zabbix-agent服务时,问题栏端口状态显示已解决,也会微信通知我们该服务启动了。
补充:睿象云中还可以查看新奇事件