Zabbix JSON-RPC

1 Zabbix概述

1) 是一个企业级的分布式开源监控方案

2) 是一个高度集成的网络监控解决方案

3) 是一款能够监控各种网络参数以及服务器健康性和完整性的软件


2 常用名词解释

1) 主机(host):一台你想监控的网络设备,用IP或域名表示

2) 监控项(item):你想要接收的主机的特定数据,一个度量数据

3) Zabbix Server:实现监控的核心程序,主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等

4) Zabbix Agent:一个部署在监控对象上的,能够主动监控本地资源和应用的程序

5) Zabbix Proxy:一个帮助Zabbix Server收集数据,分担Zabbix Server的负载的程序

6) 数据库存储:所有的配置信息和zabbix收集到的数据都被存储在数据库中


3 安装(从容器安装)

1) 下载所需镜像

$ docker pull zabbix/zabbix-agent
$ docker pull zabbix/zabbix-server-mysql
$ docker pull zabbix/zabbix-web-nginx-mysql
$ docker pull zabbix/zabbix-proxy-mysql
$ docker pull zabbix/zabbix-java-gateway

2) 使用方法示例

# 启动一个空的MySQL服务器实例
$ docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -d mysql:5.7

4 Zabbix API

说明

1) 基于Web的API,作为Web前端的一部分提供,使用JSON-RPC 2.0协议

2) 身份认证Token:在访问Zabbix中的任何数据之前,需要登录并获取身份验证令牌

3) 请求URL:http://company.com/zabbix/api_jsonrpc.php,eg. http://10.1.1.170/api_jsonrpc.php

4) Method参数:请求api方法,eg. “user.login”、”item.get”


实例

1) 获取Zabbix API版本

curl -X POST -H "Content-Type":application/json-rpc --data '{"jsonrpc":"2.0", "method":"apiinfo.version", "id":1, "auth":null, "params":{}}' http://10.1.1.170/api_jsonrpc.php


2) 标准Zabbix Admin用户身份登录,返回认证token

curl -X POST -H "Content-Type":application/json-rpc --data '{"jsonrpc":"2.0", "method":"user.login", "id":1, "auth":null, "params":{"user":"Admin", "password":"zabbix"}}' http://10.1.1.170/api_jsonrpc.php

3) 检索所有已配置主机的ID、主机名和接口

curl -X POST -H "Content-Type":application/json-rpc --data '{"jsonrpc":"2.0", "method":"host.get", "id":1, "auth":"71d431b6092f75ca235fd9475d56b965", "params":{"output":["hostid","host"], "selectInterfaces":["interfaceid","ip"]}}' http://10.1.1.170/api_jsonrpc.php



5 参考

https://www.zabbix.com/documentation/3.4/zh/manual (Zabbix中文文档)

猜你喜欢

转载自blog.csdn.net/u013096666/article/details/78684061
今日推荐