目录
二、zabbix的使用
1、官方使用文档
2、通过浏览器添加agent主机——将server7和server8设置为agent主机
(1)配置软件源(server7/8)
(2)安装(server7/8)
(3)配置agent端(server7/8)
(4)在管理界面添加主机——手动添加
(5)在管理界面添加主机——自动扫描添加
(6)在管理界面添加主机——自动注册添加
3、通过API添加agent主机
(1)zabbix的API官方文档说明
(2)执行脚本获取zabbix主机的基本信息并验证
(3)检索主机(拿着获取到的“result”的值)
(4)通过API删除主机
(5)通过API创建主机
二、zabbix的使用
注意:由于后续实验中需要主机名和IP解析,因此需要更改一下主机名,对应关系为“server6/7/8”和“172.25.254.6/7/8”
1、官方使用文档
注意:由于后续实验中需要主机名和IP解析,因此需要更改一下主机名,对应关系为“server6/7/8”和“172.25.254.6/7/8”
Zabbix 用户手册https://www.zabbix.com/documentation/5.0/zh/manual
2、通过浏览器添加agent主机——将server7和server8设置为agent主机
(1)配置软件源(server7/8)
添加zabbix源。从server1中将zabbix源复制到server7和server8中。
并在server7和server8中取消gpgcheck验证
(2)安装(server7/8)
yum install -y zabbix-agent
(3)配置agent端(server7/8)
更改配置文件
vim /etc/zabbix/zabbix_agentd.conf #更改配置文件如下所示
117 Server=172.25.254.6
158 ServerActive=172.25.254.6
169 Hostname=server7
systemctl enable --now zabbix-agent.service #设置开机自启动
(4)在管理界面添加主机——手动添加
以添加server7为例
添加监控项,里边有各种各样的模板,可以直接选择。
添加完成后出现一些监控项,框里的部分显示绿色就表示正常(灰色表示不生效,红色表示错误)
(5)在管理界面添加主机——自动扫描添加
启用自动扫描服务
更改自动扫描规则
自动扫描完以后会在主机界面显示刚才自动添加的主机(server8)
自动发现的局限:使用自动扫描功能只支持按照通用模板进行标准化扫描,如果需要添加其他种类的主机,就需要其他模板。因此引入“自动注册”。
(6)在管理界面添加主机——自动注册添加
先从主机界面删除server8,以server8为例自动注册过来。
停用server端的“自动动作”和“自动发现”功能
在“配置-动作”界面添加“”自动注册”功能
添加动作:
添加操作:
自动注册设置完成后,执行时会将所有包含“server”关键字的主机执行相应的注册动作。设置完成后重启server8的zabbix服务,agent就会自动连接
systemctl restart zabbix-agent.service #重启zabbix-agent服务
#如果restart不行的话,就先stop后start一下
server端就会自动扫描到主机名为“server8”的agent主机。
3、通过API添加agent主机
(1)zabbix的API官方文档说明
19. APIhttps://www.zabbix.com/documentation/5.0/zh/manual/api
(2)执行脚本获取zabbix主机的基本信息并验证
[root@server8 ~]# curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
(3)检索主机(拿着获取到的“result”的值)
1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
2 {
3 "jsonrpc": "2.0",
4 "method": "host.get",
5 "params": {
6 "output": [
7 "hostid",
8 "host"
9 ],
10 "selectInterfaces": [
11 "interfaceid",
12 "ip"
13 ]
14 },
15 "id": 2,
16 "auth": "cc27cbe13e301fa3114b91cd160de99b"
17 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
脚本执行后,会自动检索当前已连接的server和agent 主机。
(4)通过API删除主机
关闭浏览器管理界面的“自动发现”和“自动注册”
删除server8,脚本中对应写入server8的ID
1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
2 {
3 "jsonrpc": "2.0",
4 "method": "host.delete",
5 "params": [
6 "10436"
7 ],
8 "id": 2,
9 "auth": "cc27cbe13e301fa3114b91cd160de99b"
10 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
删除完成后,再次检索主机,已经没有了server8。同时在浏览器中对应的server8也会消失。
(5)通过API创建主机
1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
2 {
3 "jsonrpc": "2.0",
4 "method": "host.create",
5 "params": {
6 "host": "server8",
7 "interfaces": [
8 {
9 "type": 1,
10 "main": 1,
11 "useip": 1,
12 "ip": "172.25.254.8", #要创建的主机IP
13 "dns": "",
14 "port": "10050" #新建的主机的端口
15 }
16 ],
17 "groups": [
18 {
19 "groupid": "2" #要加入的组ID
20 }
21 ],
22 "tags": [
23 {
24 "tag": "server3", #标签(可不加)
25 "value": "Linux server"
26 }
27 ],
28 "templates": [
29 {
30 "templateid": "10001" #使用的模板ID
31 }
32 ]
33 },
34 "id": 2,
35 "auth": "cc27cbe13e301fa3114b91cd160de99b" #zabbix主服务器的地址
36 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
新建脚本并执行后,可以看到主机已经添加:
其中,获取主机组ID的方式:由此可知,groupid=2
获取模板ID:这里用到的模板ID为“10001”
yum install -y zabbix-agent
(3)配置agent端(server7/8)
更改配置文件
vim /etc/zabbix/zabbix_agentd.conf #更改配置文件如下所示
117 Server=172.25.254.6
158 ServerActive=172.25.254.6
169 Hostname=server7
systemctl enable --now zabbix-agent.service #设置开机自启动
(4)在管理界面添加主机——手动添加
以添加server7为例
添加监控项,里边有各种各样的模板,可以直接选择。
添加完成后出现一些监控项,框里的部分显示绿色就表示正常(灰色表示不生效,红色表示错误)
(5)在管理界面添加主机——自动扫描添加
启用自动扫描服务
更改自动扫描规则
自动扫描完以后会在主机界面显示刚才自动添加的主机(server8)
自动发现的局限:使用自动扫描功能只支持按照通用模板进行标准化扫描,如果需要添加其他种类的主机,就需要其他模板。因此引入“自动注册”。
(6)在管理界面添加主机——自动注册添加
先从主机界面删除server8,以server8为例自动注册过来。
停用server端的“自动动作”和“自动发现”功能
在“配置-动作”界面添加“”自动注册”功能
添加动作:
添加操作:
自动注册设置完成后,执行时会将所有包含“server”关键字的主机执行相应的注册动作。设置完成后重启server8的zabbix服务,agent就会自动连接
systemctl restart zabbix-agent.service #重启zabbix-agent服务 #如果restart不行的话,就先stop后start一下
server端就会自动扫描到主机名为“server8”的agent主机。
3、通过API添加agent主机
(1)zabbix的API官方文档说明
19. APIhttps://www.zabbix.com/documentation/5.0/zh/manual/api
(2)执行脚本获取zabbix主机的基本信息并验证
[root@server8 ~]# curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
(3)检索主机(拿着获取到的“result”的值)
1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
2 {
3 "jsonrpc": "2.0",
4 "method": "host.get",
5 "params": {
6 "output": [
7 "hostid",
8 "host"
9 ],
10 "selectInterfaces": [
11 "interfaceid",
12 "ip"
13 ]
14 },
15 "id": 2,
16 "auth": "cc27cbe13e301fa3114b91cd160de99b"
17 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
脚本执行后,会自动检索当前已连接的server和agent 主机。
(4)通过API删除主机
关闭浏览器管理界面的“自动发现”和“自动注册”
删除server8,脚本中对应写入server8的ID
1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
2 {
3 "jsonrpc": "2.0",
4 "method": "host.delete",
5 "params": [
6 "10436"
7 ],
8 "id": 2,
9 "auth": "cc27cbe13e301fa3114b91cd160de99b"
10 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
删除完成后,再次检索主机,已经没有了server8。同时在浏览器中对应的server8也会消失。
(5)通过API创建主机
1 curl -s -XPOST -H 'Content-Type: application/json-rpc' -d '
2 {
3 "jsonrpc": "2.0",
4 "method": "host.create",
5 "params": {
6 "host": "server8",
7 "interfaces": [
8 {
9 "type": 1,
10 "main": 1,
11 "useip": 1,
12 "ip": "172.25.254.8", #要创建的主机IP
13 "dns": "",
14 "port": "10050" #新建的主机的端口
15 }
16 ],
17 "groups": [
18 {
19 "groupid": "2" #要加入的组ID
20 }
21 ],
22 "tags": [
23 {
24 "tag": "server3", #标签(可不加)
25 "value": "Linux server"
26 }
27 ],
28 "templates": [
29 {
30 "templateid": "10001" #使用的模板ID
31 }
32 ]
33 },
34 "id": 2,
35 "auth": "cc27cbe13e301fa3114b91cd160de99b" #zabbix主服务器的地址
36 }' http://172.25.254.6/zabbix/api_jsonrpc.php |python -m json.tool
新建脚本并执行后,可以看到主机已经添加:
其中,获取主机组ID的方式:由此可知,groupid=2
获取模板ID:这里用到的模板ID为“10001”



