![](https://img-blog.csdnimg.cn/20201202165133267.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Zabbix+Grafana
文章平均质量分 77
zabbix
Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
zabbix告警持续频繁发送历史消息解决方法
zabbix持续频繁的发送历史的告警消息,一晚上告警内容高达1.7w条,严重影响查看真正出现问题的告警信息。产生此问题的原因:告警消息积压堆积,一直处于重试状态。触发器的确存在,但是目标监控主机的状态是正常的,只要触发器触发的问题存在,那么就会一直发生告警。解决方案:如果是触发器问题的确存在,但是目标主机状态是正常的,还在频繁发生告警,如果是这种情况,那么手动将问题点击关闭和确认,即可解决,如果触发器是在模板中配置的,那么直接修改模板,最后手动关闭问题。如果是消息积压,那么就去数据库中将异原创 2022-04-01 11:47:37 · 3012 阅读 · 23 评论 -
shell脚本配合zabbix实现tomcat的故障自愈
shell脚本配合zabbix实现tomcat的故障自愈1.背景及实现方式方法Tomcat运行JAVA类的程序代码经常会导致内存溢出,往往都是收到告警后再去处理,收到报警再处理就会拖延故障解决的时间,因此就需要靠故障自愈的机制来解决人为干预的成本。服务实现自愈的方式有很多种:通过shell脚本+定时任务的方式通过shell脚本检测应用程序的状态,状态为1表示异常为0表示正常,当检测到状态为1时就触发自愈脚本,完成程序的故障自愈。通过脚本来检测需要配合定时任务来实现,存在一定的弊端,可能需原创 2022-03-04 08:59:22 · 1726 阅读 · 14 评论 -
通过模板批量创建zabbix聚合图形
通过模板批量创建zabbix聚合图形1.前言在生产中经常需要同时观察某一批服务器或者某一个服务器的多种监控图形,一个一个的去查看图形非常麻烦。针对这种需求,就有了zabbix的聚合图形,通过聚合图形可以将多个不同的监控图形展示在一个视图中,方便运维人员查询。我们在创建聚合图形的时候,服务器有很多、图形也有很多,如果才能快速的批量添加聚合图形呢?方法有很多种,我们可以首先添加一个聚合图形,随便导入两个图形,然后将聚合图形导出成xml文件,然后手动去填写xml文件内容,最后快速的导入到zabbix系统原创 2022-01-06 13:39:53 · 1493 阅读 · 13 评论 -
zabbix高可用架构(三十二)
zabbix高可用1.zabbix高可用方案高可用最常用的方案就是服务+keepalived,但是zabbix-server不能再两台机器上同时启动,因为配置了高可用后,我们对外提供的访问地址一定是keepalive的vip地址,vip只会把请求转发到master节点,但是slave节点上的zabbix-server会因为长期收不到监控信息,从而乱报警因此我们最终的思路就是写一个脚本,分布运行在master和slave上,谁是master谁就启动zabbix-server,否则就关闭zabbix-se原创 2021-04-26 17:13:22 · 1334 阅读 · 3 评论 -
zabbix监控系统性能优化(三十一)
zabbix性能优化1.zabbix性能优化点1.针对mysql的话,引擎选择innode(写多读少),因为这zabbix没有多少人看,主要是监控指标入库的数量多,因此引擎建议使用innode,myisam是读多写少的引擎2.对history history_log history_str history_text history_uint这几张进行分表操作,所有采集数据都在这里存储3.去掉没有用的监控项,增加监控项的取值间隔,减少历史数据的保存周期4.把监控项的被动模式修改为主动模式,原创 2021-04-22 09:20:51 · 1749 阅读 · 1 评论 -
zabbix通过API接口管理监控服务(三十)
zabbix api使用1.zabbix api介绍我们可以调用api实现二次开发,或者执行一些批量的操作,例如批量创建主机、批量创建监控项Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于:创建新的应用程序以使用Zabbix;将Zabbix与第三方软件集成;自动执行常规任务。具体看官方文档介绍2.zabbix使用api登陆令牌认证登陆zabbix令牌[root@192_168_81_160 ~]# curl -X POST -H原创 2021-04-22 09:18:08 · 803 阅读 · 1 评论 -
zabbix低自动发现--监控mysql多实例(二十九)
zabbix低级自动发现监控mysql多实例1.低级自动发现概念低级自动发现本身就是一个key,在这个自动发现规则中包含有很多个监控原型,这些的监控原型都是依靠于自动发现规则根据各种过滤器最后匹配到的结果进行监控低级自动发现经常适用于在同一台机器上有很多重复的监控项,人工操作非常繁重,这时候就可以配置一个低级自动发现,将自动发现做成模板,让对应的主机进行链接,经过一段时间的扫描后会自动的加入到监控中低级自动发现的一个重中之重就是以json格式去取值低级自动发现的原理就是依靠生成的json文件,定义原创 2021-04-20 16:32:34 · 992 阅读 · 1 评论 -
zabbix监控redis服务(二十八)
zabbix监控redisRedis使用自带的INFO命令,进行状态监控。以一种易于解释且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。1.被控端安装redis[root@192_168_81_170 ~]# yum -y install redis[root@192_168_81_170 ~]# systemctl start redis[root@192_168_81_170 ~]# systemctl enable redis取值方式[root@192_168_81原创 2021-04-20 16:22:12 · 537 阅读 · 1 评论 -
zabbix监控tomcat的jvm内存(二十七)
zabbix监控tomcat的jvm内存1.介绍tomcat监控主要是jvm,又来了jvm监控我们可以看到jvm的内存使用情况,内存溢出情况zabbix监控tomcat使用的是zabbix-java-gateway,zabbix-java-gateway需要java环境2.安装zabbix-java-gateway在zabbix-server上安装1.安装zabbix-java-gateway[root@zabbix-server ~]# yum install zabbix-java-gat原创 2021-04-15 09:41:41 · 732 阅读 · 1 评论 -
zabbix-sender+crontab+nc实现无agent监控linux主机(二十六)
zabbix-sender+crontab+nc实现无agent监控1.zabbix-sender介绍zabbix获取监控项值的每隔多少时间去主机上去取,有的自定义监控项脚本需要执行很长的时间,有时候根本没法监控,这时就可以用zabbix-sender直接给zabbix-server发送数据,不需要等待脚本取值的时间,也就是说脚本什么时候执行完,将执行的结果通过zabbix-sender直接给zabbix-server发送数据,zabbix-server也就不需要等待了zabbix-sender的效率原创 2021-04-15 09:39:11 · 1075 阅读 · 2 评论 -
zabbix-proxy分布式监控配置(二十五)
zabbix-proxy分布式监控配置1.分布式监控proxy介绍分布式proxy经常用于公司有多个机房之间进行使用,比如zabbix-server在北京的机房,还有一个机房在上海,上海的机器也要监控,如果搭建两套zabbix监控系统维护起来将非常麻烦,但是使用同一套zabbix监控系统,上海的服务器与北京的服务器也不会通信,也不能吧上海的机器全部配成公网ip。这时zabbix proxy分布式监控就可以完美的解决这个问题,只需要在上海机房搭建一个zabbix-proxy,定期的从zabbix-ser原创 2021-04-13 09:06:39 · 646 阅读 · 1 评论 -
zabbix精华篇-低级自动发现详解---批量自动获取主机所有tomcat端口并进行监控(二十四)
zabbix利用低级自动发现自动监控tomcat端口1.为什么要使用自动发现由于我们tomcat服务器特别多,且每一个上面跑的实例长达几十个,但是这些tomcat的端口也都需要监控起来,如果手动添加的话将会非常麻烦,我们可以利用自动发现,将自动发现配置一些规则并做成模板,给有tomcat的服务器链接模板就可以了,这个过程就会大大减少人工的工作量2.在被控主机安装tomcat多实例2.1.安装tomcat[root@tomcat ~]# yum -y install java[root@tomca原创 2021-04-02 09:35:30 · 791 阅读 · 1 评论 -
zabbix自动化监控---自动注册机制(二十三)
zabbix自动监控之自动注册1.自动注册介绍zabbix自动发现的效率非常慢,每次自动发现的时候都需要对所有的主机进行扫描,也类似与zabbix被动模式,每次都需要向机器进行一次探测,比如这次某个主机没有存在,下次上线了又要重新扫描一次,效率非常低下。而zabbix自动注册的原理就类似主动模式,每次都是由zabbix-agent主动去向zabbix-server说我上线了,需要加入监控,这时zabbix-server同意后立马就加入监控了,这个效率是非常高的zabbix自动注册只需要配置四个地方即原创 2021-04-01 11:01:58 · 601 阅读 · 3 评论 -
zabbix自动化监控---自动发现机制(二十二)
zabbix自动监控之自动发现1.自动发现介绍当我们有上千台主机都需要加监控的时候用自动发现会非常方便,只需要我们创建一个自动发现规则,设置自动发现的范围,在根据设置的动作就可以将已经安装好agent的Linux服务器自动的添加到监控上注意:自动发现的主机必须事先安装zabbix-agent,因此自动发现的动作就是根据system.uname这个监控项的输出作为判断的,system.uname监控项就是检查有没有安装zabbix-agent安装zabbix-agent则会输出:[root@zab原创 2021-04-01 10:57:26 · 1008 阅读 · 2 评论 -
zabbix主动模式与被动模式区别以及详细配置(二十一)
zabbix主动模式与被动模式1.zabbix主被动模式介绍被动模式:被动模式就是由zabbix server向zabbix agent发出指令获取数据, 即zabbixagent被动的去获取数据并返回给zabbix server, zabbix server周期性的向agent 索取数据, 这总模式的最大问题就是会加大zabbix server的工作量, 在数百台服务器的环境下zabbix server不能及时获取到最新数据, 但这也是默认的工作方式。主动模式是有zabbix agent主动采集数原创 2021-04-01 10:54:16 · 3721 阅读 · 4 评论 -
zabbix使用snmp监控Linux主机(二十)
使用snmp监控Linux主机1.snmp协议介绍SNMP(简单网络管理协议)也是应用层的一种协议,默认端口号为161,我们平时监控Linux主机都是安装一个agent客户端进行监控,但是有的公司还需要监控网络设备和Windows主机,这时就不得不采用snmp协议去监控设备了SNMP有一个MIB库,这个MIB库中存储着每一个监控指标的oid,所谓oid就是object id对象id,每一个监控指标都会有一个oid,并且存放在MIB库中,保证所有监控指标的oid都不会重复举一个例子:例如CPU这个监控原创 2021-03-30 11:46:24 · 874 阅读 · 2 评论 -
zabbix使用percona插件监控mysql数据库(十九)
zabbix使用percona插件监控mysql数据库监控MySQL一般最常用的插件就是percona,percona一开始是cacti监控MySQL的插件,后来觉得还不错就打包了zabbix的版本percona插件下载地址为:https://downloads.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-te原创 2021-03-30 11:41:07 · 2924 阅读 · 5 评论 -
zabbix监控应用页面访问速度并设置告警(十八)
zabbix创建web监测监控项并设置告警1.为什么要使用web监测web监测类似于一个监控项,可以监控一个站点的使用状态,原理就是通过curl命令去匹配对应的状态码并显示图像大致步骤就是: 1.首先创建web监测填写基本信息 2.然后创建步骤,步骤就是设置对某个页面进行web监测,要写状态码为200一定要勾选跟随跳转2.配置web监测2.1.创建web监测配置—主机—web监测—创建web监测点击创建web监测2.2.添加web场景信息名称:zabbix_html_sta原创 2021-03-26 10:18:12 · 1397 阅读 · 1 评论 -
使用curl模拟登陆zabbix系统(十七)
使用curl模拟登陆zabbix任何模拟登陆都分为三步: 1.获取该网站的cookie,记录请求连接、请求数据 2.模拟登陆 3.验证最核心的思想就是浏览器怎么访问,我们也怎么访问带验证码的网站无法通过shell模拟登陆1.获取zabbix网站cookie值首先访问zabbix首页,按f12进入调试页面,故意输错一个密码,这样就能得到请求文件了1.1.获取URL地址请求文件如何找,这里教一个小妙招,每一个都点一遍,包含from data的就是http://192.168原创 2021-03-26 10:12:28 · 1214 阅读 · 4 评论 -
使用zabbix监控php-fpm服务(十六)
使用zabbix监控php-fpm服务1.开启php-fpm状态监控1.开启php-fpm状态监控[root@192_168_81_220 ~]# vim /etc/php-fpm.d/www.confpm.status_path = /php_status2.配置nginx连接php-fpm[root@192_168_81_220 ~]# vim /etc/nginx/nginx.conf location /php_status { fast原创 2021-03-18 11:59:33 · 598 阅读 · 1 评论 -
使用zabbix监控nginx服务(十五)
使用zabbix监控nginx服务1.开启nginx状态监控1.安装nginx[root@192_168_81_220 ~]# yum -y install nginx2.开启状态监控页面[root@192_168_81_220 ~]# vim /etc/nginx/nginx.conf location /nginx_status { stub_status; }3.重启nginx[root@192_168_81_220 ~原创 2021-03-12 09:46:33 · 1539 阅读 · 2 评论 -
zabbix自定义TCP 11种状态监控模板(十四)
zabbix自定义监控模板如果一直对多个主机同时增加监控项那么会非常麻烦,在实际生产中有很多时候我们都需要对一批机器同时增加多个相同的监控项,如果一个一个手动添加将会非常麻烦,因此就有了模板的诞生,我们只需要创建一个模板,让需要监控的主机链接模板即可我们先手动实现监控项的大规模创建,然后再做成模板我们以tcp11种状态为例进行添加监控项tcp11中状态ESTABLISHEDSYN_SENTSYN_RECVFIN_WAIT1FIN_WAIT2TIME_WAITCLOSECLOSE_WA原创 2021-03-12 09:23:42 · 1234 阅读 · 1 评论 -
grafana增加dashboard图形(十三)
grafana增加dashboard很多公司的grafana都有特别多的dashboard,针对不同的业务做不同的监控图形今天来总结一下如何创建dashboard以CPU使用情况为例创建一个dashboard1.创建dashboard1.1.点击创建dashboard1.2.选择创建图形1.3.选择条形图1.4.增加监控项点击圆筒图标即可Group:知识点管理平台 //主机群组Host:/.*/ //主机群组中的所有主机,这里不能使用$hostApplication原创 2021-03-09 15:45:44 · 2688 阅读 · 1 评论 -
配置grafana直连zabbix数据库(十二)
配置grafana直连zabbix数据库由于grafana都是通过zabbix取值最终展示在图形中,但是由于zabbix某些监控项可能获取值的时间较长,因此我们可以让grafana直连数据库进行直接取值,从而让展示的图形更加准确1.增加MySQL数据源点击配置—Data Source—Add data source选择MySQL填写MySQL数据库信息host:192.168.81.210database:zabbixuser:zabbixpassword:123456测试数据库是原创 2021-03-09 15:43:23 · 1222 阅读 · 3 评论 -
zabbix利用grafana自定义监控图形展现(十一)
利用grafana实现监控图形展现1.修改已有的system load监控图像下面这张图是现在已经有的系统负载监控图,可以看到只有15分钟的负载并没有1分钟和5分钟的负载,我们现在修改一下图形,让他支持1分钟和5分钟的系统负载1.1.点击system load—edit1.3.填写监控项信息Group:$group //组信息Host:$host //主机信息Application:CPU //应用集item:Processor load (1 min average原创 2021-03-09 15:37:59 · 1850 阅读 · 2 评论 -
配置zabbix连接grafana展示监控图形(十)
zabbix连接grafana1.安装grafana1.获取grafana rpm包[root@zabbix-server ~]# wget https://dl.grafana.com/oss/release/grafana-6.3.0-1.x86_64.rpm2.安装grafana[root@zabbix-server ~]# yum -y localinstall grafana-6.3.0-1.x86_64.rpm3.启动grafana并设置开机自启[root@zabbix-se原创 2021-02-23 13:53:42 · 1270 阅读 · 3 评论 -
zabbix自定义聚合图形展示多台主机的监控图形(九)
zabbix聚合图形1.聚合图形介绍聚合图形就是将多个图形合并到一个页面方便运维查看聚合图形可以将一台主机的多个监控图形合并到一起,也可以将多个主机的不同监控项合并到一起2.将三台主机的CPU使用率图形做成聚合图形2.1.三台主机ip地址IP 地址192.168.81.220192.168.81.230192.168.81.2502.2.创建聚合图形点击监测—聚合图形—创建聚合图形2.3.填写图形信息名称:知识点系统集群CPU使用情况列数:2 /原创 2021-01-29 09:50:39 · 2226 阅读 · 2 评论 -
zabbix自定义监控图形(八)
zabbix自定义图形1.如何查zabbix图形监测—图形—找到要看图形的主机—选择查看的图形—应用2.解决zabbix图形中文乱码问题这是由于zabbix默认的字体版本太老,不支持中文显示导致的,我们只需要将Windows主机上的字体复制一份到zabbix字体目录即可解决此问题2.1.准备微软雅黑字体并上传至服务器Windows微软雅黑字体目录位于C:\Windows\Fonts复制微软雅黑至桌面,然后上传至zabbix服务器微软雅黑字体文件名叫做msyh.ttc上传至zabbix原创 2021-01-29 09:47:26 · 895 阅读 · 3 评论 -
zabbix实现企业微信监控报警(七)
zabbix使用企业微信监控报警1.注册企业微信使用企业微信报警需要先注册企业微信企业微信地址:https://work.weixin.qq.com/填写注册信息即可注册完成2.创建报警机器人2.1.创建应用应用管理—应用—创建应用2.2.编辑应用信息设置机器人log、描述信息、应用部门2.3.创建成功最主要的就是这两个信息AgentId 1000002Secret iV9ljCjBVm2BvFWd-t0rZGTakxaH2izz7degTA41naI原创 2021-01-27 17:25:13 · 913 阅读 · 3 评论 -
zabbix使用163邮箱实现监控报警(六)
zabbix使用163邮箱监控报警1.实现报警的基本思路设置发件人管理—报警媒介类型—创建媒体类型这里我们选择email类型的邮箱报警设置收件人点击用户—报警媒介—添加报警媒介一般来说要新建用户群组,比如开发组、运维组,创建完用户群组在创建用户,在用户设置中设置报警媒介启动动作配置—动作—启用动作默认的动作至针对管理员组生效,因此需要创建新的动作设置报警内容设置让人移动的报警内容2.使用163邮箱报警2.1.定义发件人管理—报警媒介原创 2021-01-18 10:03:20 · 1288 阅读 · 4 评论 -
zabbix自定义变量传参监控项--监控主机TCP连接状态(五)
zabbix自定义变量传参形式的监控项有时会做一些自定义监控项时,会有很多相同命令不同参数的监控项,这时我们就可以使用传参的方式大大减少配置文件的行数1.监控项传参语法格式UserParameter=监控项key[*],命令 $12.通过传参的方式对tcp11种状态进行监控2.1.编写配置文件1.编写配置文件[root@192_168_81_220 ~]# cd /etc/zabbix/zabbix_agentd.d/[root@192_168_81_220 zabbix_agentd.d原创 2021-01-18 09:57:21 · 1652 阅读 · 2 评论 -
zabbix自定义监控项实现业务系统监控(四)
1.添加自定义监控1.1.创建自定义监控我们以磁盘每秒可以传输的文件数进行监控zabbix创建自定义监控语法 UserParameter=, 首先是关键命令参数UserParameter=监控项名,shell命令1.获取磁盘tps的目录[root@192_168_81_220 ~]# iostat Linux 3.10.0-957.el7.x86_64 (192.168.81.220) 2020年09月21日 _x86_64_ (1 CPU)avg-cpu: %user %原创 2021-01-18 09:53:40 · 941 阅读 · 1 评论 -
Zabbix添加Linux监控主机(三)
zabbix添加主机环境准备ip主机名服务192168.81.210zabbix-serverzabbix-server192.168.81.220192_168_81_220zabbix-agent192.168.81.230192_168_81_230zabbix-agent1.添加一台监控主机1.1.为zabbix server添加监控1.安装zabbix-agent[root@zabbix-server ~]# yum -y instal原创 2021-01-18 09:51:38 · 1195 阅读 · 1 评论 -
centos7上部署zabbix4.0版本--最新配置(二)
1.zabbix4.0监控系统部署zabbix4.0软件分为:zabbix-server-mysql zabbix-web-mysql这里虽然是-mysql但是不是安装的数据库哟,而是这个zabbix将来使用什么版本的数据库,可以是postgresql也可以是mysql预先配置[root@zabbix-server ~]# setenforce 0[root@zabbix-server ~]# sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/sysconf原创 2020-12-30 11:39:16 · 602 阅读 · 3 评论 -
Zabbix监控系统架构原理(一)
zabbix架构及部署我们这次先安装再进行介绍zabbix1.什么是监控监控:监视,控制随着用户的增量,服务随时可能被系统oom,所谓oom就是out of memory,当系统的负载到达一定程度,内存使用率使用殆尽,就会触发这种情况,触发oom后系统会kill掉内存使用率最高的进程,服务随之崩溃,omm会触发kernel,kernel为了保障服务器正常运行,会把使用最高的进程kill1.1.模拟oom1.使用ab对zbabix页面进行高并发压测将交换分区关掉[root@zabbix-ser原创 2020-12-30 11:35:44 · 813 阅读 · 1 评论 -
利用zabbix api批量添加数百台监控主机
利用zabbix api批量添加监控主机在公司规模很庞大的时候,每次都手动添加监控主机将会很麻烦,我们可以利用zabbix的api去批量添加监控主机本次我们将实现用一台主机虚拟出100台主机,并通过api的方式自动添加监控主机有了本次方法,无需要了解python,也不需要写python脚本1.获取批量添加主机的api{ "jsonrpc": "2.0", "method": "host.create", "params": { "host": "192.16原创 2020-12-18 16:33:32 · 2731 阅读 · 9 评论 -
zabbix利用grafana实现对某个主机群组的所有主机进行监控图形展现
1.为什么要对主机群组中的所有主机生成图形在生产环境中肯定会使用grafana对一个群组中的所有主机的一些核心监控项进行图形化展现,这也是运维在巡检过程中必不可少的阶段。此次针对核心资源使用情况我们主要对一个主机群组中的所有服务器进行CPU、内存使用情况的监控下面开始实际操作2.点击创建图形选择choose visualization3.选择图形类型这里我们选择折线图4.跳转至添加监控数据的页面先点击图形中的edit点完edit后会跳转至首页,我们再点击edit即可添加监控数据原创 2020-10-25 10:07:23 · 2008 阅读 · 1 评论 -
shell脚本实现zabbix监控信息收集
zabbix信息收集一般zabbix信息收集都是写成脚本思路:将监控的信息写成函数,使用位置参数$1来调用函数即可,一般都是zabbix来传参1.tcp信息收集tcp三次握手 一般由客户端发起请求 1.首先客户端向服务器发起请求,给服务器发送一个SYN的请求包 2.服务器接收确认后给客户端回复一个ACK的确认包,在向客户端发起一个SYN的包,表示请求和客户端建立连接 3.客户端收到sync的包后会回复一个ACK的确认包,表示与服务器建立连接,三次握手结束tcp四次挥手原创 2020-06-13 23:02:07 · 1092 阅读 · 2 评论 -
centos7.6搭建监控服务器zabbix
zabbix介绍zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabb...原创 2019-04-21 15:55:16 · 2175 阅读 · 1 评论