大家好,又见面了,我是你们的朋友全栈君。
基本知识及安装操作见:开源服务器监控工具——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页面中执行以下操作:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133546.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...