Zabbix“专家坐诊”第72期问答汇总

Q:我写的脚本,怎么通过阿里云监控本地,脚本应该放在哪里?
A:哪里都行,调用的时候执行脚本的路径还有权限是正确的就行
Q:是放在阿里云还是放在本地的zabbix-proxy上?
A:那你的监控方式是什么?外部检查还是agent调用。如果是agent监控方式,就把脚本放在agent端,如果是外部检查的方式就把脚本放到zabbix-proxy
Q:好的,谢谢
Q:我有个ssh获取网络设备信息的需求和论坛的这篇文章类似,现在卡在转换预处理转换Json这一步,想请问以下您js预处理处理文本有没有比文章多一些细节的思路?

A:我记得这篇文章好像使用javascript来转成json的。因为用ssh处理的话,他无法把获取的数据作为参数传到某个脚本处理。当时才用javascript做预处理的,你可以试着用python的paramiko执行网络设备的命令,然后对数据处理
Q:我已经写了一多半卡到最后遇到点问题,暂时不想花精力换别的了,预处理的细节您这没法公开吧?
A:不是啊,主要是当时考虑到不同设备获取的结果用的javascript做的处理都不同,所以觉得没必要写的那么详细
Q:嗯,还有就是如果处理成Json之后,监控项应该怎么创建?看您文章上的图里创建了好多的监控项

A:这些其实我是用zabbix_sender创建的,等会,我给你看看,你看到图片的那些监控项就是下面那个

Q:zabbix_sender这套路没用过,看不太懂,Json取出来之后还需要另外写脚本?
A:是的。因为不用其他脚本做处理,那个速率的值很难处理。你想一下,获取{#INDEX}是很容易,但是如果要获取{#INDEX}对应的{#VALUE},是比较难的。这种方式有个不好的地方就是,会多了很多个光口协商速率触发的方法的监控项,所以不建议这样做
Q:我已经取到key、value格式的json

您的意思是即便我取到之后也没法直接用这个Json来创建监控项原型?
A:监控项原型不会识别你这个json格式的,自动发现规则的json有固定的格式
Q:是说只要我能处理成特定格式的json,还是可以依据这个创建监控项原型?
A:是的

Q:请教一下,为什么我获取主机进入流量只有这么点?

这种方法获取的流量
PerfCounter=Net_Incoming," \Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/sec “,30
PerfCounter=Net_Outgoing,” \Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/sec",30
A:看下你的item原型进程
Q:

A:你用zabbix_get这个键值试一下,你用zabbix_get这个键值试一下

Q:好的,这个是值

A:那应该没错啊
Q:那哪地方填错了?
A:没有啊,你的值应该是对的,只不过你的单位应该填错了
Q:填bps吗?
A:嗯,不会是B
Q:填这个单位也是少呀
A:你这里的值就只有那么小啊

Q:不正常我觉得,我用python写的流量监控脚本不是这样,这个感觉才正常和防火墙上的流量能对上,我直接把单位改成KB,又大了。

A:现在你的值肯定是对的,只是你的单位可能写错了
Q:用B,bps都很小,还有别的单位?
A:这个单位不是随便选的
Q:我知道呀,但这个值太小呀,是不是这种方法不行,因为我试过,明明是500K的流量,显示只有10几到30几kb
A:如果你觉得你的python脚本获取的流量比较准。那你可以用自定义键值,获取你python脚本获取的数据。
Q:主要是看看这个能不能用,python那个没这个方便
A:你试一下bps,然后预处理乘以8
Q:也试过,也不大,就多一点,30-50bps,拷20M文件时只有10kb…

Q:请问专家,zabbix 4.4以上如何监控 oracle? 之前的 orabixx用不了
A:你可以用通过python脚本远程Oracle数据库,执行一些内置的查询语句,查看Oracle的一些状态信息

Q:现在Zabbix5.0 是不是不太主流??感觉搜的资料大部分还是4的版本?
A:是主流 放心用
Q:搜资料好难。。。5.0 好像有点新。。唉
A:是有一点区别,你也可以用4.x版本 也没问题的
Q:5.0照着官网指导点了一遍没成功,有个webSQL下载不下来

在这里插入图片描述