zabbix运维过程中遇到的问题及处理方法

使用zabbix对服务器主动运维已经好几个月,在几个月的使用过程中,笔者发现了zabbix的很多优点,也看到了它的一些不足,这些不足甚至导致在一些极端情况下使运维工作出现问题。下面我将遇到的问题及解决方法分享给大家,希望在你遇到相同问题时有一个解决方案。

监控服务器down机不报警

当监控服务器突然down掉时,在我对每台服务器都设置了内存、流量等报警阀值的情况下,zabbix并没有触发报警。


image.png

机器down是很严重的运维问题,down了还不报警,如果没及时发现,这就上升到饭碗问题的高度。

定位问题

如果你了解zabbix的运行机制,可以很快的定位问题原因。这是因为zabbix使用的是c/s模式,每台监控目标机都需要安装agent,zabbix服务器采用轮询的方式从监控目标机的agent获取数据。但如果目标机down了,目标机的agent通常也无法工作,就导致了zabbix采集不到数据。而zabbix有个机制,对于自定义项(item),如果采集不到agent的值,就保留最后一次获得的值。试想如果目标机down之前的采集值是正常的,那不报警的情况就发生了,因为采信值一直使用down机前的数据,不会更新,直到再次成功采集到目标机的值。

处理方法

解决问题的方法就是增加一个目标机是否存活的检测,并且不能依赖于agent来检测,之前说过如果目标机down掉,就再也采集不到agent的值。因为管理的机器上百台,还是必须用zabbix来做这事,一番查找,zabbix提供了一个“简单检查”(simple check)功能,该功能独立于agent作业,所以即使目标机downb,依然可以进行检测。
判断主机是否存活,最通常的方式是使用ping命令来检测,但这个方法有一定局限性,对于禁ping的机器无法检测,但在大多数场景还是适用的,我们先用用,看看效果。

具体操作

要实现这个功能,需要在zabbix服务器安装一款名为fping的软件.

#下载软件
wget http://www.fping.org/dist/fping-3.10.tar.gz

#软件解压
tar xzvf fping-3.10.tar.gz

#进入软件目录,配置安装软件
./configure --prefix=/usr/local/fping/
make && make install

#配置zabbix_server.conf
#在文件末尾增加一行配置
FpingLocation=/usr/local/fping/sbin/fping

#重启zabbix agent
#centos 6
service zabbix_agentd restart
#centos 7
systemctl restart zabbix_agentd

#设置fping权限,fping命令是由zabbix进程来调用。但fping安装后默认是root.root权限,需要调整。
cd /usr/local/fping/sbin/
chown root:zabbix fping
chmod 4710 fping

配置完成后,前端页面会自动增加fping相关的模板。


image.png

将其链接到你正在使用中的模板即可。


image.png

添加好以后,你可以在模板的监控项中发现自动添加了3个监控项


image.png

顾名思义,ICMP loss表示丢包率,ICMP ping表示是否可PING通,ICMP response time表示响应时间。

这里我们主要使用ICMP ping,监控项有了,接下来就是触发器设置,根据监控的值来决定是否触发并报警。这个触发器在安装fping时也自动帮我们设置好了。


image.png

简单解释一下表达式,以Ping不可达触发器为例。
{centos6.x monitor for linux:agent.ping.last()}<>1,前面都是固定格式,我们只看ping.last()<>1, last表示最后一次监控项获取的结果,为1表示主机可达,不为1表示主机不可达(PING不通),所以意思就是当主机不可达时,触发报警。

通过以上设置后,我们就可以不再依赖agent,由zabbix server直接监控目标机的通断状态,其实就是通过fping命令轮询的发出指令。即使目标机down机,也能够立即获取监控项并触发报警。

另一种独立监控目标机的方法

如前节所提,此方法对禁ping的目标机是没有办法监控的,我们需要另辟蹊径。
我们知道目标机一定会向公众或特定人群提供服务,提供服务就需要开放端口(TCP或UDP)。有了开放端口,我们就好办事情了,只需监控目标机的开放端口,测试其端口是否打开来判断主机是否存活。

简单检查(simple check)

zabbix提供了一项名为简单检查的功能可以实现我们的目标。


image.png

在新建监控项中,类型选择简单检查,键值设置为net.tcp.service[tcp,,10410],这个表达式的意思是“使用TCP协议,开放端口为10410",其它设置使用默认即可。
设置好以后,zabbix server每30秒会以轮询的方式向模板中的所有主机的10410端口发送检测,判断端口是否已经打开。

有了监控项,我们接下来设置触发器,即如果监测端口未打开,需要立即报警。


image.png

核心设置还是表达式,和前面提到的表达式类似,当last的值为0时,表示端口未正常打开,就要触发报警。

这种方式是以监控端口的状态来判断主机通断,一般防火墙策略不会阻止服务端口的通信。

利用以上两种方式,应该可以绝大多数的监控场景,至少我所监控的场景已能够完全满足。希望能带给大家一些帮助,如果你有更好的方法,也欢迎一起交流。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容