简介
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: no
ExportDir=/data/zbx/datakit
### Option: ExportFileSize
# Maximum size per export file in bytes.
# Only used for rotation if ExportDir is set.
#
# Mandatory: no
# Range: 1M-1G
ExportFileSize=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/datakit
chown zabbix:zabbix -R /data/zbx/datakit
chmod 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 相关的监控告警。
评论