开源服务器监控工具——zabbix(二)

基本知识及安装操作见:开源服务器监控工具——zabbix(一)

使用脚本操作zabbix

我们可以利用脚本来对zabbix进行操作,可以使用脚本进行登陆zabbix,发现、删除和创建要监控的主机,我们需要将要执行的操作写入脚本中。

登陆

mkdir /zabbix
cd /zabbix
vim zabbix-api.sh
写入:

curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "westos"
    },
    "id": 1,
    "auth": null
}' http://172.25.6.11/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
给脚本可执行权限:chmod +x zabbix-api.sh
执行脚本:./zabbix-api.sh
在这里插入图片描述

发现

这个脚本可以自动发现可以使用zabbix-server监控的主机,我们创建第二个脚本get.sh,内容如下:

curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
    ],
    "selectInterfaces": [
           "interfaceid",
           "ip"
       ]
},
    "id": 2,
    "auth":"此处写执行上一个脚本得到的result后面的"
}' http://172.25.6.11/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
给脚本执行权限并执行脚本:
在这里插入图片描述
可以看到,我们使用脚本发现了zabbix-server监控的主机server1-172.25.66.1

删除

我们可以利用删除脚本直接删除zabbix-server所监控的主机,前面我们已经监控了server1,现在我们使用删除脚本来将server1删除,脚本delete.sh内容如下:

curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "填写执行上个脚本最后得到的hostid" 
    ],
    "id": 2,
    "auth": "不变"
}' http://172.25.6.11/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
给予脚本执行权限并执行脚本:
在这里插入图片描述
执行成功后,我们可以到zabbix的web页面中,在配置栏的主机选项中可以看到监控的server1主机已经消失

创建

我们也可以用脚本创建被监控主机,创建后,就可以在zabbix的web页面中看到,脚本create.sh内容如下:

curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server1",
        "interfaces": [
                {
                        "type": 1,
                        "main": 1,
                        "useip": 1,
                        "ip": "172.25.66.1",
                        "dns": "",
                        "port": "10050"
                }
        ],
        "groups": [
                {
                        "groupid": "2"
                }
        ],
        "templates": [
        {

          "templateid": "10001"
        }
        ]
},
    "id": 2,
    "auth":"不变"
}' http://172.25.66.11/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
在这里插入图片描述
给脚本执行权限并执行:
在这里插入图片描述
执行后,在web页面就会出现server1主机
在这里插入图片描述

为zabbix添加模板

模板
模板:里边可以配置监控项、触发器、图形等,作用是在主机上可以直接link模板,继承模板中的配置。主机套用模板后,就拥有了模板中的配置:监控项、触发器、图形。
比如创建了一个监控磁盘大小的监控项,然后创建了触发器、和图形。那个机器想监控磁盘大小,直接套用此模板就行了。100台机器需要监控磁盘,直接套用这一个模板就可以,无需添加100次监控项、触发器和图形。
平时工作中,我们需要监控web、mysql、redis、nginx 这些服务器,众多服务器的业务都是一样的,所以我们只要事先创建好模板,然后所有服务器链接这个模板即可,如果后续有修改、新增功能,只需要修改模板即可。

添加http模板

在用来当模板的被监控主机中下载http并启动,然后进入zabbix的web页面中执行以下操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加mysql模板

在zabbix-server主机中:
cd /var/lib
mkdir zabbix
cd zabbix
编辑一个隐藏文件.my.cnf
vim .my.cnf
在这里插入图片描述
写入:

[msyql]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock

在这里插入图片描述
重启zabbix-agent服务
systemctl restart zabbix-agent
然后在zabbix的web页面中执行以下操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gd0306/article/details/86742442