批量添加11种有限状态机监控项
实验环境:
10.0.0.200-zabbix-server
10.0.0.203-zabbix-agent
实验过程:
通过curl模拟图形化浏览器利用zaabix-web通过账号密码验证时POST的账号"数据流"以及创建的监控项时POST的数据流,配合数组实现批量化创建监控项。
1.打开zabbix-web主页面与F12(开发者工具)。
2.登录后找到 index.php,将 URL、方法、状态码、数据流记载下来。
3.通过curl模拟图形化浏览器登录zabbix-web并将登录后的cookie下载(以方便后期POST监控项表单数据时维持会话状态不需要再次登录账号密码)
curl -c cookie.txt -L -X POST -d 'name=Admin&password=zabbix&autologin=1&enter=Sign+in' http://10.0.0.200/zabbix/index.php
-L :因为状态码是302(临时重定向)做了页面跳转,因此需要加 -L 参数让curl支持重定向。
-X :指定动作为 POST
-d :将账号密码的数据流进行提交
-c :下载跳转后页面的cookie
4.agent需配置11种有限状态机的自定义监控项。
逻辑:[]中括号内以11种有限状态机作为参数传入脚本的$1中配合grep过滤出该状态机的连接情况并统计。
5.创建任意一个监控线并获取其表单数据流(模板提前创建)。
<将提交监控项 URL、方法、数据流截获下来>
6.失败
#!/bin/bash
state="
ESTABLISHED
SYN-SENT
SYN-RECV
FIN-WAIT-1
FIN-WAIT-2
TIME-WAIT
CLOSED
CLOSE-WAIT
LAST-ACK
LISTENING
CLOSEING"
for i in $state ;do
curl -L -X POST -b cookie.txt -d "sid=t708a0dcr5kbtint&form_refresh=1&form=create&hostid=10428&name=TCP_STATE_$i&type=0&key=tcp_state%5B$i%5D&url=&query_fields%5Bname%5D%5B1%5D=&query_fields%5Bvalue%5D%5B1%5D=&timeout=3s&post_type=0&posts=&headers%5Bname%5D%5B1%5D=&headers%5Bvalue%5D%5B1%5D=&status_codes=200&follow_redirects=1&retrieve_mode=0&http_proxy=&http_username=&http_password=&ssl_cert_file=&ssl_key_file=&ssl_key_password=¶ms_es=¶ms_ap=¶ms_f=&value_type=3&units=&delay=10s&delay_flex%5B0%5D%5Btype%5D=0&delay_flex%5B0%5D%5Bdelay%5D=&delay_flex%5B0%5D%5Bschedule%5D=&delay_flex%5B0%5D%5Bperiod%5D=&history_mode=1&history=90d&trends_mode=1&trends=365d&valuemapid=0&new_application=&applications%5B%5D=1881&inventory_link=0&description=&status=0&add=%E6%B7%BB%E5%8A%A0" http://10.0.0.200/zabbix/items.php
done
posted on 2021-08-20 16:15 1251618589 阅读(3) 评论(0) 编辑 收藏 举报