zabbix监控系统下——zabbix实现数据库监控、对JMX的支持、server和agent的关系、zabbix监控报警平台
目录
五、zabbix实现数据库监控
1、在agent端设置
2、在浏览器前端设置
六、zabbix对JMX(Java)应用的支持
七、server和agent的关系
1、agent端的信息采集变被动为主动
2、zabbix的server端的分布式架构——zabbix代理
第一步:参考官网文档
第二步:引入代理机制的概念
第三步:实验环境
第四步:安装软件包
第五步:安装并配置proxy
第六步:在agent端配置(server8上)
八、zabbix的监控报警
1、实验环境:先注册一个可以实现微信报警功能的帐号
2、zabbix报警平台的使用
3、配置zabbix_server
4、在浏览器中查看
5、在云报警平台上的配置
6、模拟问题
一般提供的模板都中都有自带的插件,没有的话可以导入第三方插件,再没有就自己编译插件。
五、zabbix实现数据库监控
1、在agent端设置
第一步:实验环境
在zabbix服务端(server6)中安装监控mysql的zabbix插件。其实测试时应该是在agent端安装,但是server6上已经有了mysql了,所以直接在本机上安装监控插件。换言之,server6既是mysql客户端,也是zabbix的agent端;同时也是zabbix的server端。自己监控自己!!!
第二步:复制模板到</etc/zabbix/zabbix_agentd.d/>目录下,因为此目录中的配置文件模板可以用来直接作为监控项。复制完成后重启zabbix-agent服务使其生效。
systemctl restart zabbix-agent.service #重启zabbix-agent服务
以下图为例:
第三步:执行脚本和php文件
具体操作步骤为:(1)zabbix的监控配置文件中的监控命令</etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf>,调用的是(2)</var/lib/zabbix/percona/scripts>目录中的shell脚本,(3)脚本中调用的是同一目录下的<ss_get_mysql_stats.php>文件。php文件中获取到数据库的基本信息后,返回给shell脚本,zabbix监控配置目录中调用脚本得到要监控的参数。
修改 php文件中访问数据库的帐号和密码。
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php 30 $mysql_user = 'root';31 $mysql_pass = 'Westos+007';
第四步:执行脚本测试
直接执行的话,报错,因为找不到执行路径下的php环境变量。
通过以下方式解决:
rpm -qa| grep php
rpm -ql rh-php72-php-cli-7.2.24-1.el7.x86_64
ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php #在所需路径中创建软链接
which php
脚本执行结果如下图,执行成功后,会将获取到的参数存放在</tmp/localhost-mysql_cacti_stats.txt>文件中。
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg #执行脚本
注意:以root用户身份执行脚本后,生成的“.log”文件的所有人也是root。在浏览器端应该使用zabbix用户身份运行,之前产生的文件将导致zabbix身份运行的结果无法操作。因此在正式执行前应先将该文件删除,以防对后续操作产生影响。
2、在浏览器前端设置
操作步骤如下:
这里导入一个模板文件<zbx_percona_mysql_template.xml>
添加完成后查看server6主机,监控mysql的模板已添加。
模板添加完成后,令其在图形中显示:
这里所有关于“MySQL”的参数,都是刚才的模板创建的。
选择几个参数,查看图形统计效果:
所有采集信息的模板文件都是在</etc/zabbix/zabbix_agentd.d/>中的“***.conf”文件。
六、zabbix对JMX(Java)应用的支持
实验环境:在server8中测试zabbix对java插件的支持。
1、下载安装tomcat
第一步:下载并移动到指定目录下
tar zxf apache-tomcat-8.5.24.tar.gz #解压tomcat
yum install -y java-1.8.0-openjdk #安装支持java的软件openjdk
移动tomcat目录到</usr/local/tomcat>下,方便编译。
更改配置文件参考tomcat官网:
Apache Tomcat® - Apache Tomcat 8 Software Downloadshttps://tomcat.apache.org/download-80.cgi
第二步:更改配置文件:
vim /usr/local/tomcat/bin/catalina.sh #编辑文件内容如下109 CATALINA_OPTS=-'Dcom.sun.management.jmxremote.port=8888110 -Dcom.sun.management.jmxremote.ssl=false111 -Dcom.sun.management.jmxremote.authenticate=false'
第三步:启动tomcat
启动完以后,查看端口出现上一步设置的8888。这个端口是上一步手动设置的监控端口,其他端口为tomcat调用的端口。
第四步:在zabbix的server服务器(server6)中安装zabbix-java插件
这个插件是zabbix监控java应用的组件,所有的java应用必须通过这个java网关
yum install -y zabbix-java-gateway #安装插件来监控java网关
systemctl enable --now zabbix-java-gateway.service #设置zabbix-java开机自启动
netstat -antlp |grep 10052 #检查端口10052,证明启动成功
第五步:编辑zabbix-java的server端
编辑zabbix-server端的配置文件,告诉zabbix怎么去调用java-gateway
vim /etc/zabbix/zabbix_server.conf #编辑zabbix-server的配置文件297 JavaGateway=172.25.254.6305 JavaGatewayPort=10052313 StartJavaPollers=5
systemctl restart zabbix-server.service #重启zabbix-server服务
其中配置文件更改内容如下:分别表示java网关为<172.25.254.6>;监听端口为10052端口;线程数为5个(和上图所示一致)。
第六步:在浏览器前端设置
以下两个模板都可以,一般来说选择“通用模板”,监控的参数更多
添加完成后,刷新。“server8”的“JMX”已经亮了,证明JMX可以正常使用。
具体的执行流程是:zabbix-server——>java-gateway:10052——>jmx:8888——>tomcat
第六步:通过图形可视化
通过浏览器访问,增加8080端口的访问量
在统计界面可以监视到,已经有访问量进来。
七、server和agent的关系
对agent来说,它的主动模式和被动模式都是支持的。agent的模式由server端决定,主动被动主要取决于server端给agent端加的什么模板。
1、agent端的信息采集变被动为主动
下图所示,agent端通过这些端口被server端监听。那么是否可以让agent端主动将数据传到server端?随着agent端的增多,每个agent端又有许多监控项,那么如果让server端主动去监控agent端的话,agent端的压力会很大;所以需要让agent主动将自己的数据发送给server端。
以agent端(server7)为例:
取消server上的模板:
选择完成后,看到主机页面已经切换到“agent active”模板,表示agent主动将数据回传给server端。
随便选一个监控项,这里显示此监控项已经成为了“主动式”的。
查看图形统计,也可以统计出来。
2、zabbix的server端的分布式架构——zabbix代理
因为即使agent端主动向server端发送采集的信息,在agent节点过多时,对server端的压力还是会很大。因此就需要对serber端进行水平扩容,以提高其处理数据峰值的能力。
第一步:参考官网文档
1 代理https://www.zabbix.com/documentation/5.0/zh/manual/distributed_monitoring/proxies
第二步:引入代理机制的概念
Zabbix proxy 使用场景:
监控远程区域设备;
监控本地网络不稳定区域;
监控上千设备时,减轻 zabbix server 的负荷;
简化分布式监控的维护。
proxy的功能只有数据采集,无法用来做事件处理。
第三步:实验环境
从zabbix监控界面将server7移除,将server7设置为zabbix_proxy。
第四步:安装软件包
yum install -y zabbix-proxy #安装软件包systemctl disable --now zabbix-agent.service #关闭zabbix-agent并禁止自启动
第五步:安装并配置proxy
1 Red Hat Enterprise Linux/CentOShttps://www.zabbix.com/documentation/5.0/zh/manual/installation/install_from_packages/rhel_centos在server6中为zabbix-proxy配置数据库:
由于zabbix是分布式的,所以数据库可以在其他主机配置。这里选用server6中的数据库。
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;#创建数据库
mysql> grant all on zabbix_proxy.* to zabbix@'%' identified by 'Westos+007';#授权用户访问
mysql> flush privileges; #刷新授权表
更改server7中的zabbix_proxy配置:
vim /etc/zabbix/zabbix_proxy.conf 30 Server=172.25.254.649 Hostname=server7162 DBHost=172.25.254.6173 DBName=zabbix_proxy196 DBPassword=Westos+007
向server6数据库中导入proxy的数据(proxy主机只需要安装mysql的客户端即可):
proxy主机上的文件为</usr/share/doc/zabbix-proxy-mysql-5.0.19/schema.sql.gz>,将其导入到server6中的数据库中。
cd /usr/share/doc/zabbix-proxy-mysql-5.0.19 #进入目录
zcat schema.sql.gz | mysql -h 172.25.254.6 -uzabbix -pWestos+007 zabbix_proxy#导入该目录下的数据库到172.25.254.6
在server6的数据库中查看,proxy的数据已导入到数据库中。
在server7中启动zabbix-proxy:
systemctl start zabbix-proxy.service #启动zabbix-proxy
启动完成后查看进程,可以看到进程都已启用。注意:如果这一步启动失败,很可能是数据库问题
查看zabbix_proxy的日志,发现proxy服务找不到“server7”对应的主机。
cat /var/log/zabbix/zabbix_proxy.log #查看zabbix_proxy的日志
为了解决上述问题,因此需要在浏览器中做以下更改:
zabbix_server -R config_cache_reload #刷新zabbix_server端的配置缓存
再次查看日志,可以看到proxy端的服务已经成功启动
查看server6(zabbix_server)端的日志,显示代理已成功发送数据
第六步:在agent端配置(server8上)
更改server8中的配置文件,令其指向的master成为proxy服务器 。 更改完成后重启zabbix-agent服务。
vim /etc/zabbix/zabbix_agentd.conf #更改agent端的配置文件117 Server=172.25.254.7 #改成proxy的地址158 ServerActive=172.25.254.7
systemctl restart zabbix-agent.service #重启zabbix-agent服务
在proxy端中查看端口:
测试:在浏览器中查看
可以看到agent端可以正常使用,但是其中的JMX服务失效了。 这是因为agent端的java应用需要通过“java-geteway”访问,原本的zabbix_server中安装了JMX服务,可以访问agent的java;但是proxy端并没有设置”java-gateway“的端口,因此proxy要采集angent端的java信息的话,必须设置“java-gateway”端口。
修正方法:在proxy中添加“java-gateway”
vim /etc/zabbix/zabbix_proxy.conf #编辑zabbix-proxy的配置文件338 JavaGateway=172.25.254.6346 JavaGatewayPort=10052354 StartJavaPollers=5grep -v ^# /etc/zabbix/zabbix_proxy.conf | uniqsystemctl restart zabbix-proxy.service #重启zabbix-proxy服务
配置更改完成后,重启“zabbix-proxy.service”服务,在浏览器中已看到JMX已经连接上。
八、zabbix的监控报警
1、实验环境:先注册一个可以实现微信报警功能的帐号
睿象云-AIOps智能运维平台 | 用人工智能点亮传统IT运维睿象云AIOps智能运维平台方案提供商,为传统IT运维插上人工智能的翅膀,云监控平台、云压测平台、业务可用性监测平台、云告警平台,为IT运维人员提供一站式AIOps 可视化智能运维解决方案,用人工智能点亮传统运维。https://www.aiops.com/
2、zabbix报警平台的使用
3、配置zabbix_server
wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.0.tar.gz#获取Cloud Alert Agent包:
tar zxf ca_zabbix_release-4.0.0.tar.gz -C /usr/lib/zabbix/alertscripts#解压到zabbix脚本目录
进入到刚解压的目录下,执行脚本。并输入上一步中获得到的“Appkey",接着输入要报警的zabbix地址,以及登录zabbix时设置的用户名和密码。
cd /usr/lib/zabbix/alertscripts/cloudalert/bin/ #进入zabbix脚本目录
./install.sh 933177f39ca247c59fe2f76d8db18848 #执行启动脚本,并注册认证用户请输入Zabbix管理地址:http://172.25.254.6/zabbixCheck connection success!请输入Zabbix管理员账号:Admin请输入Zabbix管理员密码: zabbix
更改zabbix脚本的权限:
chown zabbix.zabbix cloudalert/ -R
4、在浏览器中查看
列表中出现了许多类型的报警信息。为了方便测试,我们仅测试一项报警信息。
其他项目中也出现了“云平台”的信息。
这里是具体的执行动作:
5、在云报警平台上的配置
新增通知策略:
6、模拟问题
关掉server8上的agent。
systemctl stop zabbix-agent.service
在浏览器中查看,server8已经“失联”了。
查看“监测栏“的“问题”选项,故障信息已经出现,并且报警信息也发送到报警平台上。
查看云平台的服务日志:
cat /usr/lib/zabbix/alertscripts/cloudalert/logs/cloudalert.log#显示云平台报警信息日志
在平台和微信上都能看到相应的通知:
server8中重新启动zabbix-agent服务,监测窗口显示”已解决“ ,云平台上也显示问题已解决。
zabbix监控系统下——zabbix实现数据库监控、对JMX的支持、server和agent的关系、zabbix监控报警平台相关推荐
- linux系统下的oracle数据库,在Linux系统下安装Oracle数据库
在Linux系统下安装Oracle数据库:1.约定:linux系统为Linux.5.4-server-x86_64,数据库为linux.x64_11gR1_database_1013 linux 在L ...
- Linux系统下操作Oracle数据库
Linux系统下操作Oracle数据库 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品. ...
- linux系统下安装pfam数据库中hmmer软件以及python3非root用户的安装
linux系统下安装pfam数据库中hmmer软件以及python3非root用户的安装 http://hmmer.org/从该链接下载源,其中有Userguide.pdf 下载,解压缩并切换目录 之 ...
- 分布式监控系统Zabbix3.2对数据库的连接数预警
在前篇分布式监控系统Zabbix3.2监控数据库的连接数 中已经对数据库的端口3306进行了监控,可以看到数据库的连接数历史变化有高有低,那如果达到了数据库连接数的阀值是不是主动通知给运维人员去检查问 ...
- 美团监控系统mysql_美团 MySQL 数据库巡检系统的设计与应用
说明: 作者:王琦 来源:美团技术团队 最新互联网大厂面试真题.Java程序员面试策略(面试前的准备.面试中的技巧)请访问GitHub 我们生活中随处可见各种巡检系统,比如电力巡检.消防检查等,正是这 ...
- 腾讯 监控系统服务器数据采集,日均采集1200亿数据点,腾讯千亿级服务器监控数据存储实践...
这套架构优点很明显,设计简洁.有最新数据缓存.数据分布式存储.可横向扩展,同时完全自研,各自实现细节可控. 但同样存在一些问题: 数据节点 Cache 程序异常,会导致内存缓存数据丢失,进而丢失监控数 ...
- oracle c6,redhat6.8系统下安装oracle数据库
一.安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 配置Yum软件仓库源用来支持解决Linux软件安装依赖(如:Oracle.Memcac ...
- linux系统mysql创建表,Linux系统下手动新建数据库
1.设置环境变量和SID [oracle@server01 dbs]$ORACLE_BASE=/opt/oracle [oracle@server01 dbs]$ export ORACLE_BASE ...
- 海南关于推荐扬尘监控系统的通知_实时监管!定州对44家混凝土搅拌企业实施远程视频监控...
点击蓝字关注定州论坛 [联系我们]0312-4173466/微信:dz4173466 [邮箱]kefu@idingzhou.cn 定州论坛:一切皆有定论 市住建局全面开展混凝土搅拌站扬尘治理工作 &q ...
最新文章
- ASP.NET抓取其他网页代码
- 时钟信号线 电源线 地线_信号线和电源线的区别
- stm32 stm8 产品型号
- HDU多校1 - 6759 Leading Robots(单调栈)
- 如何处理错误消息Query XXX is invalid or contains errors
- 《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵
- Windows 10标题栏显示颜色
- BZOJ2217 [Poi2011]Lollipop 【贪心】
- maya刀剑神域 建模_王者玩家最想联动的动漫——刀剑与铠甲勇士,如果实现会联动谁?...
- linux下安装EJBCA 搭建私有CA服务器
- 如何在scope图中标注_电机学习笔记: 变压器初级(原边)和次级(副边)的感应电动势、电压方向如何标注?...
- 如何使用MEGA软件构建系统发育树_速成实用经验
- 刚培训的java程序员怎么找工作,快来看鸭~
- 定时报警器课程设计(基于单片机)
- 新买的显示器怎么测试软件,新买的电视如何检测屏幕?记住这个方法
- c语言15-puzzle解法,15 Puzzle (4乘4谜题) IDA*(DFS策略与曼哈顿距离启发) 的C语言实现...
- 论文阅读:《Neural Machine Translation by Jointly Learning to Align and Translate》
- 四万亿,让多少人彻夜不眠!
- 显著目标检测之Cascaded Partial Decoder for Fast and Accurate Salient Object Detection(CPD)
- npm 错误 -errno -4048
热门文章
- 百度、腾讯和阿里内部的级别和薪资待遇是什么样的?-转自知乎
- c语言实现向量,如何在C中实现向量
- 免费下载:全国各级别行政边界数据下载
- SSH隧道动态转发端口实现SOCKS代理 + HTTP代理(Privoxy)
- 宝塔面板网络流量上行和下行速度代表什么?
- WiFi Easy Connect
- 高数篇(四)-- 互信息概述与matlab实现
- Microsoft: Into Focus with Scott Guthrie Scott Hanselman Rajesh Jha and Kevin Scott | KEY11
- 怎样对股票交易下单接口进行测试?
- 查看oracle 备份 dmp文件