Zabbix 监控功能实现(监控数据库,使用percona 优化数据库的监控,监控java应用,Agent端 主动传输数据,Zabbix proxy 的使用,Zabbix 监控 + 智能降噪告警)

1.监控数据库:

基本和监控nginx时一样:

不同的是:在给了mysql密码以后,需要在指定位置编写.my.cnf文件,告诉系统数据库root用户的密码;

在这里插入图片描述

重启 systemctl restart zabbix-agent.service

[root@server11 zabbix]# zabbix_get -s 127.0.0.1 -p 10050 -k “mysql.ping”
1
此处应当注意 -s 之后的ip地址需要和zabbix前端中的接口保持一致,如果写 172.25.254.111 会一直出现错误 ;

在前端中添加数据库监控模板:

也可以创建模板,并经mysql.ping 加入到监控项中;

在这里插入图片描述

可以通过图形更直观的看数据的信息:
在这里插入图片描述

Percona server 的应用,优化数据库的监控项:

将userparameter_percona_mysql.conf 文件复制到agent对应位置,重启agent 使之生效;

/var/lib/zabbix/percona/scripts 中 存放的是percona的脚本,percona通过php来对数据库进行取值,然后通过shell脚本的方式对数据进行整理;

在这里插入图片描述

ss_get_mysql_stats.php 为登录认证时的php文件,vim ss_get_mysql_stats.php 更改登录数据库使用的用户和密码;

可以执行脚本测试是否能够取到数据库对应的值,gg为随便的key名;

执行脚本后会在/tmp 中生成缓存文件,cat 可以查看;

在这里插入图片描述

需要注意的是,由于localhost-mysql_cacti_stats.txt的默认权限是root用户,而zabbix执行时是zabbix用户,因此:当程序自己运行时文件不能被更改
删除文件就可以解决这一问题或者更改文件所有者和所有组,之后当程序自己运行时就可以更改文件内容了
rm -fr localhost-mysql_cacti_stats.txt
在这里插入图片描述

当运行脚本检测到能取到值时,就可以在前端导入对应的模板:

在这里插入图片描述

将模板导入成功后,在zabbix server 中 点击模板,取消之前的数据库监控模板,将新导入 的Template Percona MySQL Server模板添加上去;
此时可以看见添加后的主机监控项已经变为 281 个;

在这里插入图片描述


监控java应用:tomcat:

在server13中
安装依赖性
yum install -y java-1.8.0-openjdk.x86_64
解压apache-tomcat-7.0.37.tar.gz到/usr/local
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
做软链接
cd /usr/local/
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/bin
vim catalina.sh
在这里插入图片描述
启动脚本
./startup.sh
此时就可以得到8888的端口
在这里插入图片描述

在server11中
yum install zabbix-java-gateway -y
cd /etc/zabbix/
vim zabbix_java_gateway.conf ; 可以将默认值打开,并设置10个并发数(默认为5个),也可以不做更改;

systemctl enable --now zabbix-java-gateway.service
其默认监测的端口是10052;
在这里插入图片描述

vim zabbix_server.conf

开启java网关,网关端口, 并发数;
在这里插入图片描述

systemctl restart zabbix-server.service
在前端添加模板与JMX接口

开启JMX接口:
在这里插入图片描述

在模板处添加java监控模板:
在这里插入图片描述

添加完成后:可以看见:
在这里插入图片描述

在这里插入图片描述



Agent端 主动传输数据到server端:(减少server端的压力)

起初,server主动访问agent向其提供数据,这样server的负荷太大,我们希望server被动将数据回传到agent,这样可以大大减少server的负荷

在server12中
vim zabbix_agentd.conf
将StartAgents的值设为0(默认为3),此时就不会监听10050端口

systemctl restart zabbix-agent.service 重启agent端 使之生效;

在server端使用 zabbbix_get -s http://172.25.254.112 -p 10050 -k “nginx.active” ;
此时会显示server12端的10050端口拒绝连接;

注意:默认情况下:agents端两种数据传输方式都支持(等server端来拿数据或是将数据主动送到server端);如果想让agent端主动传输数据只用在前端监控项中将 监控方式改为: zabbix客户端(主动式); 具体操作如下:

由于通常情况下监控项较多,因此先全克隆要更改的监控项:

在这里插入图片描述

然后在模板中全选所有的监控项,并点击进行批量更新:

在这里插入图片描述

Zabbix proxy 的使用:

在这里插入图片描述

部署过程:

将server12更改为proxy端:

在前端中删除server12

在server12上
将主机名修改为proxy并写入每个主机的/etc/hosts

systemctl disable --now zabbix-agent.service
nginx -s stop
yum install -y zabbix-proxy-mysql
vim /etc/zabbix/zabbix_proxy.conf 将server端地址改为真正的server11地址,主机名改为和本机相同的proxy;
在这里插入图片描述

proxy也需要存储数据信息,因此同要需要数据库(也可以和server11共用一个数据库)

yum install mariadb-server -y
systemctl enable --now mariadb.service
进入mysql ; 和部署zabbix服务端类似,给数据库进行认证:

create database zabbix_proxy character set utf8 collate utf8_bin;
create user ‘zabbix’@‘localhost’ identified by ‘westos’;
grant all privileges on zabbix_proxy.* to ‘zabbix’@‘localhost’;
quit
在这里插入图片描述

写入数据库密码:
vim /etc/zabbix/zabbix_proxy.conf
DBpassword=westos

将proxy自带的sql 导入 zabbix_proxy 数据库:
cd /usr/share/doc/zabbix-proxy-mysql-4.0.27
zcat schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy

vim /etc/zabbix/zabbix_proxy.conf 由于server13开启了java服务,所以proxy端需要指定javagateway,并开启并发数;
在这里插入图片描述

在server13中,将server地址改为proxy的地址(对proxy代理的agent端来说,proxy就相当于是server端)
vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.254.112
ServerActive=172.25.254.112
Hostname=server13
systemctl restart zabbix-agent.service

在server1中
zabbix_server -R config_cache_reload 重新加载配置
在server12(proxy)中重启服务

在前端浏览器中操作如下
删除server12
点击管理–>agent代理程序–>创建代理–>名字为proxy(proxy端主机名),为主动式–>添加
点击server13–>在由agent代理程序检测里选择proxy—>更新
在这里插入图片描述

在这里插入图片描述

由下图:可以看见,此时proxy代理已经接管server13,并且成功将收集的数据主动传送给了server端,大大减轻了server端的压力;
在这里插入图片描述

Zabbix 监控 + 智能降噪告警:

在server11上下载ca_zabbix_release-2.1.0.tar.gz
解压到/usr/lib/zabbix/alertscripts/
tar zxf ca_zabbix_release-2.1.0.tar.gz -C /usr/lib/zabbix/alertscripts/
cd /usr/lib/zabbix/alertscripts/
cd cloudalert/
cd bin/

在睿象云前端创建集成应用,并获取Key:
在这里插入图片描述

成功获取key之后变可以在server11中:
在这里插入图片描述

此时,需要在前端的管理选项中停用其他媒介:(集成成功后会显示脚本媒介)
在这里插入图片描述

可以手动停止server13 的 zabbix-agents 触发触发器,实现告警:
在这里插入图片描述
zabbix 显示已经将信息送达至睿象云,并由睿象云上的通知策略通知给用户:

在这里插入图片描述

同时,在睿象云中也会有相应的告警通知:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值