zabbix如何选择适合的监控类型(107)

zabbix提供十几种监控类型,包括:Zabbix agent, Simple checks, SNMP, Zabbix internal, IPMI, JMX monitoring等等,那我们应该如何选择呢?凉白开在此给大家一一作一个说明

zabbix

zabbix监控类型

zabbix agent

zabbix自带的客户端程序(被动模式),zabbix server主动向它收集监控数据。agent提供丰富的key,包括不限于cpu、内存、网络、磁盘、web等等。如果你不介意或者系统支持安装此程序,那么他是首选的。需要注意的是,server检索数据有超时限制,最大超时时间30秒,如果检索数据经常超过30秒,那么,不建议你使用主动模式的agent,可以使用如下类型agent active

zabbix agent(active)

也需要安装agent(主动模式),和上一个相同。但是数据由zabbix agent主动提交至zabbix server

参考文章:

simple check

基本的检测,可以检测网络、端口、fping这些,功能很少并且无需安装客户端。

snmp check

snmp v1 check、snmp v2 check、snmp v3 check的功能都是一样的。推荐如下场景:

  • 客户基于安全考虑,不同意安装agent
  • 路由器、打印机等等设备无法安装,但是支持snmp协议
  • 不喜欢频繁对agent升级

zabbix internal

zabbix系统内部用,比如趋势数据记录数了、历史记录数量等等,日常业务监控用不上他。

zabbix trapper

也需要安装agent(主动模式),你需要借助bin/zabbix_sender将数据提交至zabbix server。如下情况适合使用:

  • 检索数据时间较长
  • 同一时间有大量的数据要提交,例如redis info信息,里面包含五六十项数据,通过zabbix_sender来一次性提交,显然比agent来取几十次要方便。

zabbix aggretage

aggregate checks是一个聚合的检测,例如我想知道某个组的host负载平均值,硬盘剩余总量,或者某几台机器的这些数据,简单的说,这个方法就是用来了解一个整体水平,而不需要我们一台台看过去。这个方法的数据全部来之数据库,所以它不需要agent。

external check

zabbix server运行脚本或者二进制文件来执行外部检测,外部检测不需要在被监控端运行任何agentd。

备注:请不要过度使用外部检测,这会严重降低zabbix系统性能

database monitor

zabbix通过调用ODBC来获取数据库的数据以及数据库状态等等信息

IPMI agent

用于监控硬件设备,例如Dell或者hp服务器的主板温度、cpu电压、盖子是不是被打开等等

SSH agent

zabbix使用提供的ssh信息(服务器用户密码或者证书)登录服务器,执行指定的脚本来检索数据。如下人适合用

  • 不会安装agent、不想相撞agent
  • 不担心账号密码/证书放在zabbix里

Telnet agent

同上,Windows不支持ssh,可以使用Telnet agent。

jmx agent

通过jmx监控java jvm,比如tomcat。目前有一个很大的不足,如果tomcat多实例,jmx agent只能监控一个。如果是多实例,建议使用agent + cmdline-jmxclient-0.10.3.jar

zabbix Calculated

计算类型,在几个key值之间做计算,例如redis自带的info命令可以监控keyspace_hits和keyspace_misses这两个值,但是redis的命中率不能直接获取,可以通过zabbix的calculated实现监控redis的命中率

监控项相关文章

 

通过如上的介绍,你知道如何选择了吗?

 

teakki

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:9   其中:访客  9   博主  0

  1. Jerry 0

    请问一下如何针对路由器、交换机等无法安装的设备创建不可访问的触发器?目前公司有多个片区,已经在zabbix上创建了流量统计等方面的模板,但没有针对不可访问的触发器(is unreachable for 5 minutes),肯定是不能使用agent.ping(因为没有安装agent),但适应icmpping提示”connection refused”。请问你在这类设备监控时使用了哪些表示不可达的触发器?触发器的表达式是什么?

  2. xidianjpf 1

    你好,我想问一下,zabbix介绍说是用外部脚本降低性能,但是对于这种自定义的监控项,在agent配置文件中设置UserParameter ,不也同样是调用执行外部脚本吗?两者之间性能所差应该不大吧

    • 凉白开 5

      @xidianjpf 本质区别:
      两者的执行者不同,外部脚本由server执行,UserParameter由agent执行。server如果消耗大量时间去执行外部脚本,自然影响性能,agent数量众多,影响不大!

      • xidianjpf 1

        @凉白开 谢谢解答,那比如需要大量时间的就应该通过active方式由agent端提交比较好是吧,另外问一下zabbix trapper会在什么情况下用到,我在agent使用zabbix_sender测试确实是好的,但感觉这个和主动模式功能很相似呀,还是说active其实也是调用了zabbix_sender方法(应该也不是)

        • 凉白开 5

          @xidianjpf 有点类似,但是不相同。active方法需要安装并启动agent,sender可以不启动agent,或者不安装agent,只拷贝一个agent

  3. 管理员 5

    1. 可以同时开启主动被动模式
    2. 你这个错误,看看系统日志,看下是否有其他方面的异常

    • terry 5

      @管理员 谢谢。

    • terry 5

      @管理员 你好,感谢指点。另外,我想问下大牛,如何监控sqlserver数据库里的业务数据,而不是sqlserver本身的运行状态?根据业务数据的值采取不同的action?您写过此类文章吗?

  4. terry 0

    请问被动和主动模式可以一起开吗?我现在老遇到这个问题,agent客户端的日志里面老有这个:
    19364:20150803:153843.088 active check configuration update from [192.168.1.186:10051] started to fail (ZBX_TCP_READ() failed: [0x0000274C] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。),大牛们有空的话解答下,不是我懒,我百度了好多解决方案,都解决不了。