简介
Zabbix 是一款开源的监控工具,它能够监控网络和应用程序的健康状态。Zabbix 支持多种协议,包括 SNMP、IPMI、JMX、Telnet 等,能够监控服务器、交换机、路由器、虚拟机等多种设备和服务。
实时导出功能
Zabbix 提供了实时导出功能,允许用户将触发器事件、监控项采集值和趋势数据实时导出。这些数据以换行符分隔的 JSON 格式导出,确保了数据的及时性和机器可读性。
配置和使用
要启用实时导出,需要修改 Zabbix 的配置文件,通常位于 /etc/zabbix/zabbix_server.conf 。配置项包括:
与 Zabbix API 对比
操作步骤
结合 Zabbix Real-time export 功能将实时数据发送到观测云中心。
Zabbix 从 5.0 到 7.0 版本都支持将实时数据写到文件中。实时数据中有三种数据格式:events/history/trends ,其中 history 和 trends 都是以指标形式展示。而 events 则可以通过 Webhook 方式发送到观测云。
前置准备
Zabbix ≥ 5.0
安装最新版本 DataKit
Zabbix 配置
修改 Zabbix 配置文件,一般位于 /etc/zabbix/zabbix_server.conf 。
注意:不同 Zabbix 版本导出数据的配置方式有些差异,可根据对应的版本选择正确的配置方式:
### Option: ExportDir# Directory for real time export of events, history and trends in newline delimited JSON format.# If set, enables real time export.## Mandatory: noExportDir=/data/zbx/datakit
### Option: ExportFileSize# Maximum size per export file in bytes.# Only used for rotation if ExportDir is set.## Mandatory: no# Range: 1M-1GExportFileSize=32M
### Option: ExportType# List of comma delimited types of real time export - allows to control export entities by their# type (events, history, trends) individually.# Valid only if ExportDir is set.## Mandatory: no# Default:# ExportType=events,history,trends
复制代码
修改其中的配置项:
ExportDir=/data/zbx/datakitExportFileSize=32M
复制代码
修改文件的权限:
mkdir -p /data/zbx/datakitchown zabbix:zabbix -R /data/zbx/datakitchmod u+rw -R /data/zbx/datakit/
复制代码
注意:配置文件大小时根据主机配置衡量,太大的文件容易造成磁盘空间不足。并且应当定期删除 .old 文件。这里设置成为 32M 就是考虑到文件系统的负载太大。
配置好之后,重启服务:
systemctl restart zabbix-server
复制代码
采集器配置
进入 DataKit 安装目录下的 conf.d/zabbix_exporter 目录,复制 zabbix_exporter.conf.sample 并命名为 zabbix_exporter.conf 。示例如下:
[[inputs.zabbix_exporter]] ## zabbix server web. localhostAddr = "http://localhost/zabbix/api_jsonrpc.php" user_name = "Admin" user_pw = "zabbix" ## measurement yaml Dir measurement_config_dir = "/data/zbx/yaml"
## exporting object.default is item. all is <trigger,item,trends>. objects = "item"
## update items and interface data. ## like this: All data is updated at 2 o'clock every day. crontab = "0 2 * * *"
# [inputs.zabbix_exporter.tags] # key1 = "value1" # key2 = "value2" # ...
## mysql database:zabbix , tables: items,interface. [inputs.zabbix_exporter.mysql] db_host = "127.0.0.1" db_port = "3306" user = "zabbix" pw = "xxxxx" # zabbix 用户密码
# Zabbix server version 5.x. [inputs.zabbix_exporter.export_v5] # zabbix realTime exportDir path export_dir = "/data/zbx/datakit/"
复制代码
配置 item_type 的规范文件
由于 Zabbix 原始指标名主要以解释性说明为主,观测云根据 Zabbix 不同 Item_type 中的 Item_key 作为指标,Item_key 中的 param 作为标签,更多 Item_type 详情可查看Zabbix 官方文档 。
如 zabbix agent 下 Processesitem 组的 proc.mem 为例:
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
- measurement: Processes metric: proc_mem key: proc.mem params: - name - user - mode - cmdline - memtype values: - '' - '' - sum - '' - ''
复制代码
将上述 yaml 文件放置在 zabbix_exporter.conf 里 measurement_config_dir 配置的文件目录中,这里应是 /data/zbx/yaml 。
配置好后,重启 DataKit。
效果展示
接入 Zabbix 指标后,可以在「观测云」-「指标」-「指标管理」,管理 Zabbix 相关指标。
在「观测云」-「场景」-「仪表板」,可以创建 Zabbix 指标相关的仪表板。
在「观测云」-「监控」-「监控器」,可以创建 Zabbix 相关的监控告警。
评论