13 远程监控Zabbix状态

概述

可以通过另一个Zabbix实例或第三方工具远程访问Zabbix server和proxy的一些内部指标。这可能很有用,以便支持者/服务提供商可以远程监控其客户端Zabbix server/proxy,或者在Zabbix不是主要监控工具的组织中,Zabbix内部指标可以由第三方系统在设置监控。

Zabbix内部统计信息暴露于新的“StatsAllowedIP”中列出的一组可配置地址 server/proxy 参数。只接受来自这些地址的请求。

监控项

要在另一个Zabbix实例上配置内部统计信息的查询,可以使用两项:

  • zabbix[stats,<ip>,<port>] 内部监控项 - 用于直接远程查询Zabbix server/proxy。<ip>和<port>用于标识目标实例。
  • zabbix.stats[<ip>,<port>] Agent监控项 - 用于基于代理的Zabbix server/proxy的远程查询。<ip>和<port>用于标识目标实例。

另请参见: Internal items, Zabbix agent items

下图根据上下文说明了这两个项的用法。

13 远程监控Zabbix状态 - 图1

  • 13 远程监控Zabbix状态 - 图2 - Server → external Zabbix instance (zabbix[stats,<ip>,<port>])
  • 13 远程监控Zabbix状态 - 图3 - Server → proxy → external Zabbix instance (zabbix[stats,<ip>,<port>])
  • 13 远程监控Zabbix状态 - 图4 - Server → agent → external Zabbix instance (zabbix.stats[<ip>,<port>])
  • 13 远程监控Zabbix状态 - 图5 - Server → proxy → agent → external Zabbix instance (zabbix.stats[<ip>,<port>])

要确保目标实例允许外部实例查询它,请在目标实例的“StatsAllowedIP”参数中列出外部实例的地址。

内部指标

状态监控项收集统计信息后返回一个JSON,这是其他依赖监控项从中获取数据的基础。以下内部指标 的用法:

  • zabbix[boottime]
  • zabbix[hosts]
  • zabbix[items]
  • zabbix[items_unsupported]
  • zabbix[preprocessing_queue] (server only)
  • zabbix[process,<type>,<mode>,<state>] (only process type based statistics)
  • zabbix[rcache,<cache>,<mode>]
  • zabbix[requiredperformance]
  • zabbix[triggers] (server only)
  • zabbix[uptime]
  • zabbix[vcache,buffer,<mode>] (server only)
  • zabbix[vcache,cache,<parameter>]
  • zabbix[version]
  • zabbix[vmware,buffer,<mode>]
  • zabbix[wcache,<cache>,<mode>] (‘trends’ cache type server only)

模版

Zabbix server和Zabbix proxy 远程监控 模板:

  • Template App Remote Zabbix server
  • Template App Remote Zabbix proxy

请注意,为了使用模板远程监视多个外部实例,每个外部实例监视都需要一个单独的主机。

捕捉器执行过程

Zabbix实例接收内部指标请求由trapper进程处理,trapper进程验证请求、收集、创建JSON数据缓冲区并将准备好的JSON发回,例如从服务器:

  1. {
  2. "response": "success",
  3. "data": {
  4. "boottime": N,
  5. "uptime": N,
  6. "hosts": N,
  7. "items": N,
  8. "items_unsupported": N,
  9. "preprocessing_queue": N,
  10. "process": {
  11. "alert manager": {
  12. "busy": {
  13. "avg": N,
  14. "max": N,
  15. "min": N
  16. },
  17. "idle": {
  18. "avg": N,
  19. "max": N,
  20. "min": N
  21. },
  22. "count": N
  23. },
  24. ...
  25. },
  26. "queue": N,
  27. "rcache": {
  28. "total": N,
  29. "free": N,
  30. "pfree": N,
  31. "used": N,
  32. "pused": N
  33. },
  34. "requiredperformance": N,
  35. "triggers": N,
  36. "uptime": N,
  37. "vcache": {
  38. "buffer": {
  39. "total": N,
  40. "free": N,
  41. "pfree": N,
  42. "used": N,
  43. "pused": N
  44. },
  45. "cache": {
  46. "requests": N,
  47. "hits": N,
  48. "misses": N,
  49. "mode": N
  50. }
  51. },
  52. "vmware": {
  53. "total": N,
  54. "free": N,
  55. "pfree": N,
  56. "used": N,
  57. "pused": N
  58. },
  59. "version": "N",
  60. "wcache": {
  61. "values": {
  62. "all": N,
  63. "float": N,
  64. "uint": N,
  65. "str": N,
  66. "log": N,
  67. "text": N,
  68. "not supported": N
  69. },
  70. "history": {
  71. "pfree": N,
  72. "free": N,
  73. "total": N,
  74. "used": N,
  75. "pused": N
  76. },
  77. "index": {
  78. "pfree": N,
  79. "free": N,
  80. "total": N,
  81. "used": N,
  82. "pused": N
  83. },
  84. "trend": {
  85. "pfree": N,
  86. "free": N,
  87. "total": N,
  88. "used": N,
  89. "pused": N
  90. }
  91. }
  92. }
  93. }

内部队列监控项

另外还有两个监控项可以远程查询另一个Zabbix实例上的内部队列统计信息:

  • zabbix[stats,<ip>,<port>,queue,<from>,<to>] 内部监控项 - 用于将内部队列查询直接发送到Zabbix server/proxy
  • zabbix.stats[<ip>,<port>,queue,<from>,<to>] agent监控项 - 用于将内部队列查询直接发送到Zabbix server/proxy

参考: Internal items, Zabbix agent items