1.新建服务主机
1.1图形化添加
1.1.1手动添加
1.1.2.自动发现
1.1.3.自动注册
1. 2.API(命令行添加)
Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于: 创建新的应用程序以使用Zabbix;
将Zabbix与第三方软件集成; 自动执行常规任务。 大多数API至少包含四种方法: get,create,update 和
delete,分别是检索,创建,更新和删除数据,但是某些API提供一套完全不同的一组方法。
1.3.用户登录,主机检索
用户登录:在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。以Zabbix Admin用户身份登录:
[root@server1 ~]# vim zabbix.api
1 curl -XPOST http://172.25.6.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d'
2 {
3 "jsonrpc": "2.0",
4 "method": "user.login",
5 "params": {
6 "user": "Admin",
7 "password":"zabbix"
8 },
9 "id": 1,
10 "auth": null
11 }'|python -m json.tool
[root@server1 ~]# sh zabbix.api ##下面为API返回的响应
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 220 100 68 100 152 746 1667 --:--:-- --:--:-- --:--:-- 1688
{
"id": 1, #相应请求的标识符
"jsonrpc": "2.0", #JSON-RPC协议的版本
"result": "53b4420e818fcfd98c7168a1c2e79087" #用户身份验证令牌
}
1.4.主机检索
[root@server1 ~]# vim zabbix.api
12 curl -XPOST http://172.25.6.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
13 {
14 "jsonrpc": "2.0",
15 "method": "host.get",
16 "params": {
17 "output": [
18 "hostid",
19 "host"
20 ],
21 "selectInterfaces": [
22 "interfaceid",
23 "ip"
24 ]
25 },
26 "id": 1,
27 "auth":"53b4420e818fcfd98c7168a1c2e79087"
28 }' | python -m json.tool
[root@server1 ~]# sh zabbix.api
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 597 100 307 100 290 3497 3303 --:--:-- --:--:-- --:--:-- 3528
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"host": "Zabbix server",
"hostid": "10084",
"interfaces": [
{
"interfaceid": "1",
"ip": "127.0.0.1"
}
]
},
{
"host": "server2",
"hostid": "10265",
"interfaces": [
{
"interfaceid": "4",
"ip": "172.25.6.2"
}
]
},
{
"host": "server3",
"hostid": "10266",
"interfaces": [
{
"interfaceid": "5",
"ip": "172.25.6.3"
}
]
}
]
}
1.5.主机删除
[root@server1 ~]# vim zabbix.api
29 curl -XPOST http://172.25.6.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
30 {
31 "jsonrpc": "2.0",
32 "method": "host.delete",
33 "params": [
34 "10266"
35 ],
36 "id": 1,
37 "auth":"53b4420e818fcfd98c7168a1c2e79087"
38 }' | python -m json.tool
[root@server1 ~]# sh zabbix.api
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 220 100 68 100 152 1046 2338 --:--:-- --:--:-- --:--:-- 2375
{
"id": 1,
"jsonrpc": "2.0",
"result": "f20a2783ccb06ebac7d78fa08feaa37c"
}
1.5.主机创建
[root@server1 ~]# vim zabbix.api
39 curl -XPOST http://172.25.6.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
40 {
41 "jsonrpc": "2.0",
42 "method": "host.create",
43 "params": {
44 "host": "server3",
45 "interfaces": [
46 {
47 "type": 1,
48 "main": 1,
49 "useip": 1,
50 "ip": "172.25.6.3",
51 "dns": "",
52 "port": "10050"
53 }
54 ],
55 "groups": [ 56 {
57 "groupid": "2" ## linux servers组的id
58 }
59 ],
60 "templates": [
61 {
62 "templateid": "10001" ## 模板 Template OS Linux的id
63 }
64 ]
65 },
66 "auth": "53b4420e818fcfd98c7168a1c2e79087",
67 "id": 1
68 }' | python -m json.tool
[root@server1 ~]# sh zabbix.api
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 649 100 55 100 594 134 1454 --:--:-- --:--:-- --:--:-- 1452
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"hostids": [
"10271"
]
}
}