Zabbix API/Stream
通过调用 Zabbix API/Stream 方式采集 Zabbix 监控数据
安装配置¶
Zabbix 支持两种方式上报数据
- Zabbix API:版本要求
≥ 5.0 - Zabbix Stream:版本要求
≥ 6.4
观测云 支持两种方式采集 Zabbix 监控数据
- DataKit
- DataFlux Function
DataKit 方式¶
配置 pythond 配置文件¶
进入 DataKit 的配置文件目录 conf.d,进入 samples 目录,复制 pythond.conf.sample 为 pythond.conf, 修改如下配置
[[inputs.pythond]]
# Python input name
name = 'zabbix_collect' # required
# System environments to run Python
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]
evns = ['ZABBIX_HOST=http://127.0.0.1/zabbix', 'ZABBIX_USER=Admin', 'ZABBIX_PASSWD=zabbix', 'ZABBIX_VERSION=7.0', 'COLLECT_TYPE=api']
# Python path(recomment abstract Python path)
cmd = "python3" # required. python3 is recommended.
# Python scripts relative path
dirs = ["zabbix"]
- 其中
ZABBIX_HOST,ZABBIX_USER,ZABBIX_PASSWD,ZABBIX_VERSION填写实际Zabbix的地址用户名、密码、版本、类型。 - 如果
COLLECT_TYPE填写api,后续会调用 Zabbix API 获取数据,否则填写stream,会调用 Zabbix Stream 获取数据。 - 版本要求,Zabbix 只有
6.4以上版本才可以使用stream方式。
复制脚本¶
进入 DataKit 目录,进入 pythond 目录,创建zabbix目录,点击下方链接下载脚本到zabbix目录下
目录格式如下:
调整完成后重启 DataKit 。
DataFlux Function 方式¶
安装 Func¶
推荐开通 观测云集成 - 扩展 - 托管版 Func: 一切前置条件都自动安装好, 请继续脚本安装
如果自行部署 Func 参考自行部署 Func
Zabbix API 方式获取指标¶
-
登陆Func 控制台,点击【脚本市场】,进入观测云脚本市场,搜索:
integration_zabbix -
点击【安装】后,输入相应的参数:
- zabbix host
- zabbix user
- zabbix password
-
zabbix version
-
点击【部署启动脚本】,系统会自动创建
Startup脚本集,并自动配置相应的启动脚本。 -
开启后可以在「管理 / 自动触发配置」里看到对应的自动触发配置。点击【执行】,即可立即执行一次,无需等待定期时间。稍等片刻,可以查看执行任务记录以及对应日志。
Zabbix Stream 方式获取指标¶
Zabbix Stream 方式获取指标,需要给 Zabbix 服务端配置一个可以执行的 stream url,当前使用 Function 创建 API 方式来生成这个 url。
-
登陆 Func 控制台,点击【脚本市场】,进入观测云脚本市场,搜索:
integration_zabbix_stream,点击安装; -
创建 API ,登陆 func,点击
管理 -> 同步API (建议使用异步 API)-> 新建, 执行一栏选择刚导入脚本中的Zabbix Receiver方法,在参数指定中配置采集任务相关的配置,需要指定以下参数信息: - zabbix_host
- zabbix_user
- zabbix_passwd
- zabbix_version 为实际的值
- base64 为 Zabbix 入参,此处填
INPUT_BY_CALLER -
创建 Zabbix 连接器
登陆 Zabbix, 点击
管理 -> 常规 -> 连接器,点击创建连接器,URL 处输入上一步创建的 url,信息类型选择数字和浮点数,点击添加; -
修改
zabbix_server.conf, 修改StartConnectors为10,保存并重启zabbix-server服务.
toml
StartConnectors=10