|
|
第1行: |
第1行: |
− | [[category:ops]] [[category:zabbix]]
| |
− | =pre=
| |
| | | |
− | 已有 salt [[Salt yum安装]]
| + | Python decode()方法以 encoding 指定的编码格式解码字符串。默认编码为字符串编码 |
| | | |
− | 可以见 批量添加 salt Salt-ssh批量自动安装被控端minion
| + | encode() 方法为字符串类型(str)提供的方法,用于将 str 类型转换成 bytes 类型,这个过程也称为“编码”。 |
| | | |
− | =批量添加zabbix agent=
| + | 例子 |
− | ==直接用cmd.run==
| |
− | salt 'prod-mq03' cmd.run 'yum install -y zabbix-agent' #systemctl restart zabbix-agent systemctl enable zabbix-agent
| |
− | | |
− | ==zabbix state.sls ==
| |
− | 有空要试一下
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | [https://www.cnblogs.com/LYCong/p/7879805.html salt 使用state文件来配置zabbix客户端文件]
| |
− | | |
− | [https://blog.csdn.net/u011075143/article/details/78615691 salt 使用state文件来配置zabbix客户端文件]
| |
− | | |
− | [https://www.cnblogs.com/Jackie-Chen/articles/10795003.html SaltStack批量安装zabbix-agent(yum安装)]
| |
− | | |
− | [https://www.cnblogs.com/xiewenming/p/7713660.html SaltStack安装zabbix-agent-第九篇]
| |
− | | |
− | [https://www.cnblogs.com/python-study/p/5504501.html SaltStack 使用pillar安装配置管理zabbix]
| |
− | | |
− | [https://blog.csdn.net/reblue520/article/details/76286843 saltstack自动化运维系列⑦SaltStack实践配置管理安装zabbix]
| |
− | | |
− | [https://www.cnblogs.com/LYCong/p/7879805.html salt 使用state文件来源码安装和配置zabbix客户端文件]
| |
− | | |
− | =批量修改zabbix agent配置=
| |
− | <pre>
| |
− | Server=148.66.11.55
| |
− | ServerActive=148.66.11.55
| |
− | Hostname=prod-sns-mq01
| |
− | | |
− | | |
− | | |
− | sed -i '/^Hostname/ s/.*/Hostname=zabbix_hk/' /etc/zabbix/zabbix_agentd.conf
| |
− | | |
− | #zbx hostname
| |
− | salt 'prod-mq03' cmd.run 'hostname'
| |
− | prod-mq03:
| |
− | prod-mq03
| |
− | | |
− | | |
− | #这里可以取出 hostname 作变量 和作循环
| |
− | Server=148.66.01.05
| |
− | ServerActive=148.66.01.05
| |
− | | |
− | myhost=`salt 'prod-mq03' cmd.run 'hostname' |sed -n '2p' |awk '{print $1}'`
| |
− | salt 'prod-sns-mq02' cmd.run "sed -i '/^Hostname/ s/.*/Hostname=$myhost/' /etc/zabbix/zabbix_agentd.conf"
| |
− | | |
− | #这个替换太多了 不太好写匹配 要如下添加 = or 直接 inser 就是了
| |
− | salt 'prod-mq03' cmd.run "sed -i '/^Server=/ s/.*/Server=$Server/' /etc/zabbix/zabbix_agentd.conf"
| |
− | salt 'prod-mq03' cmd.run "sed -i '/^ServerActive=/ s/.*/ServerActive=$ServerActive/' /etc/zabbix/zabbix_agentd.conf"
| |
− | | |
− | | |
− | 注意 "" 结果不太对的
| |
− | salt 'prod-sns-mq02' cmd.run "hostname |sed -n '2p' |awk '{print $1}'"
| |
− | prod-sns-mq02:
| |
− | | |
− | </pre>
| |
− | =利用api批量添加主机 =
| |
− | zbx_server version 4.0
| |
− | | |
− | == get token 获得自己的token ==
| |
− | ===py2===
| |
− | <pre>
| |
− | cat api.py
| |
− | # -*- coding:utf-8 -*-
| |
− | #py2
| |
− | import urllib2
| |
− | import json
| |
− | #u zbx server ip or domain
| |
− | url = 'http://myzabbix.com/api_jsonrpc.php'
| |
− | header = {'Content-Type': 'application/json'}
| |
− | | |
− | req = json.dumps(
| |
− | {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "user.login",
| |
− | "params": {
| |
− | "user": "Admin",
| |
− | "password": "123456"
| |
− | },
| |
− | "id": 0,
| |
− | }
| |
− | )
| |
− | | |
− | def auth():
| |
− | r = urllib2.Request(url=url, headers=header, data=req)
| |
− | response = urllib2.urlopen(r)
| |
− | token = json.loads(response.read())
| |
− | print(token)
| |
− | | |
− | if __name__ == '__main__':
| |
− | | |
− | auth()
| |
− | | |
− | #token
| |
− | {u'jsonrpc': u'2.0', u'result': u'1794bcbe6d818069bff5aa499a07a960', u'id': 0}
| |
− | | |
− | </pre>
| |
− | | |
− | ===py3===
| |
− | <pre>
| |
− | #!/usr/bin/env python
| |
− | # Version = 3.5.2
| |
− | # __auth__ = ''
| |
− | import json
| |
− | from urllib import request, parse
| |
− |
| |
− | ZABBIX_URL = 'http://z.cn'
| |
− | ZABBIX_USERNAME = "Admin"
| |
− | ZABBIX_PASSWORD = "zabbix"
| |
− |
| |
− | url = "{}/api_jsonrpc.php".format(ZABBIX_URL)
| |
− | header = {"Content-Type": "application/json"}
| |
− | # auth user and password
| |
− | data = {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "user.login",
| |
− | "params": {
| |
− | "user": ZABBIX_USERNAME,
| |
− | "password": ZABBIX_PASSWORD
| |
− | },
| |
− | "id": 1,
| |
− | }
| |
− | # 由于API接收的是json字符串,故需要转化一下
| |
− | value = json.dumps(data).encode('utf-8')
| |
− |
| |
− | # 对请求进行包装
| |
− | req = request.Request(url, headers=header, data=value)
| |
− |
| |
− | # 验证并获取Auth ID
| |
− | try:
| |
− | # 打开包装过的url
| |
− | result = request.urlopen(req)
| |
− | except Exception as e:
| |
− | print("Auth Failed, Please Check Your Name And Password:", e)
| |
− | else:
| |
− | response = result.read()
| |
− | # 上面获取的是bytes类型数据,故需要decode转化成字符串
| |
− | page = response.decode('utf-8')
| |
− | # 将此json字符串转化为python字典
| |
− | page = json.loads(page)
| |
− | result.close()
| |
− | print("Auth Successful. The Auth ID Is: {}".format(page.get('result')))
| |
− | | |
− | | |
− | python3 tmp/zapi3.py
| |
− | Auth Successful. The Auth ID Is: cef1be0881b355e801678036cdc8c685
| |
− | | |
− | </pre>
| |
− | | |
− | [https://blog.51cto.com/freshair/2132748 Python调用Zabbix api之从入门到放弃——登录并获取身份验证令牌]
| |
− | | |
− | [https://www.jianshu.com/p/7a014f316e35 zabbix api token获取]
| |
− | | |
− | == 我们获取必要的相关信息 ,eg所有主机list信息==
| |
− | ===获得 groupid ===
| |
− | <pre>
| |
− | cat getgroupid.sh
| |
− | #获取指定groupid
| |
− | curl -s -X POST -H 'Content-Type:application/json' -d '
| |
− | {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "hostgroup.get",
| |
− | "params": {
| |
− | "output": "extend",
| |
− | "filter": {
| |
− | "name": [
| |
− | "Zabbix servers",
| |
− | "Linux servers",
| |
− | "sns servers"
| |
− | ]
| |
− | }
| |
− | },
| |
− | "auth": "1794bcbe6d818069bff5aa423a07a960",
| |
− | "id": 1
| |
− | }' http://myzabbix.com//api_jsonrpc.php | python3 -m json.tool
| |
− | | |
− | #这里的id一定是1
| |
− | </pre>
| |
− | [https://www.cnblogs.com/zdoubly/p/9777122.html zabbix--api学习之路--get_hostgroup获取]
| |
− | | |
− | https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/hostgroup/get
| |
− | | |
− | === templateid===
| |
− | <pre>
| |
− | #!/bin/bash
| |
− | #跑在我的freebsd12
| |
− | #获取指定groupid
| |
− | curl -s -X POST -H 'Content-Type:application/json' -d '
| |
− | {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "hostgroup.get",
| |
− | "params": {
| |
− | "output": "extend",
| |
− | "filter": {
| |
− | "name": [
| |
− | "Zabbix servers",
| |
− | "Linux servers"
| |
− | ]
| |
− | }
| |
− | },
| |
− | "auth": "1794bcbe6d818069bff5aa423a07a960",
| |
− | "id": 1
| |
− | }' http://148.66.11.55/zabbix/api_jsonrpc.php | python3 -m json.tool
| |
− | | |
− | | |
− | #output
| |
− | "result": [
| |
− | {
| |
− | "groupid": "2",
| |
− | "name": "Linux servers",
| |
− | "internal": "0",
| |
− | "flags": "0"
| |
− | },
| |
− | {
| |
− | "groupid": "4",
| |
− | "name": "Zabbix servers",
| |
− | | |
− | </pre>
| |
− | | |
− | === hostadd===
| |
− | | |
− | https://www.zabbix.com/documentation/4.0/manual/api/reference/host/create
| |
− | <pre>
| |
− | 批量添加版 用法 分别添加 ip and hostname
| |
− | | |
− | | |
− | #!/bin/bash
| |
− | #注释中文导致不成功
| |
− | #"host": "'prod-sns-mq02'", #这里一般改为你要的hostname
| |
− | IP=(
| |
− | 40.243.52
| |
− | 41.102.111
| |
− | 40.218.197
| |
− | 40.216.19
| |
− | )
| |
− | HOSTNAME=(
| |
− | prod-sns-php01
| |
− | prod-sns-php02
| |
− | prod-sns-mq01
| |
− | prod-sns-mq03
| |
− | )
| |
− | | |
− | myend=`expr ${#IP[@]} - 1`
| |
− | | |
− | for no in `seq 0 ${myend}`
| |
− | #for no in `seq 2 3` #这个是手工决定 数量
| |
− | do
| |
− | | |
− | curl -s -X POST -H 'Content-Type:application/json' -d '
| |
− | {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "host.create",
| |
− | "params": {
| |
− | "host": "'${HOSTNAME[$no]}'",
| |
− |
| |
− | "interfaces": [
| |
− | {
| |
− | "type": 1,
| |
− | "main": 1,
| |
− | "useip": 1,
| |
− | "ip": "'${IP[$no]}'",
| |
− | "dns": "",
| |
− | "port": "10050"
| |
− | }
| |
− | ],
| |
− | "groups": [
| |
− | {
| |
− | "groupid": "2",
| |
− | "groupid": "16"
| |
− | }
| |
− | ],
| |
− | "templates": [
| |
− | {
| |
− | "templateid": "10001"
| |
− | }
| |
− | ]
| |
− | },
| |
− | "auth": "1794bcbe6d818069bff5aa4207a960",
| |
− | "id": 1
| |
− | }' http://zbx.com/zabbix/api_jsonrpc.php | python -m json.tool
| |
− |
| |
− | done
| |
− | | |
− | #要添加多一个群组
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | #!/bin/bash
| |
− | #注释中文导致不成功
| |
− | #"host": "'prod-sns-mq02'", #这里一般改为你要的hostname
| |
− | IP="
| |
− | 121.41.103.113
| |
− | "
| |
− | for node_ip in ${IP};
| |
− | do
| |
− | curl -s -X POST -H 'Content-Type:application/json' -d '
| |
− | {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "host.create",
| |
− | "params": {
| |
− | "host": "'prod-sns-es01'",
| |
− |
| |
− | "interfaces": [
| |
− | {
| |
− | "type": 1,
| |
− | "main": 1,
| |
− | "useip": 1,
| |
− | "ip": "'${node_ip}'",
| |
− | "dns": "",
| |
− | "port": "10050"
| |
− | }
| |
− | ],
| |
− | "groups": [
| |
− | {
| |
− | "groupid": "2",
| |
− | "groupid": "16"
| |
− | }
| |
− | ],
| |
− | "templates": [
| |
− | {
| |
− | "templateid": "10001"
| |
− | }
| |
− | ]
| |
− | },
| |
− | "auth": "1794bcbe6d818069bff5aa423a07a960",
| |
− | "id": 1
| |
− | }' http://148.66.11.55/zabbix/api_jsonrpc.php | python -m json.tool
| |
− | done
| |
− | | |
− | #要添加多一个群组
| |
− | | |
− | </pre>
| |
− | === 别人例子===
| |
| <pre> | | <pre> |
− | 获取 KEY
| + | In [38]: dic["温度"] = items[0][3] |
− | | |
− | !/usr/bin/env python2.7
| |
− | #coding=utf-8
| |
− | import json
| |
− | import urllib2
| |
− | # based url and required header
| |
− | url = "http://monitor.example.com/api_jsonrpc.php"
| |
− | header = {"Content-Type": "application/json"}
| |
− | # auth user and password
| |
− | data = json.dumps(
| |
− | {
| |
− | "jsonrpc": "2.0",
| |
− | "method": "user.login",
| |
− | "params": {
| |
− | "user": "Admin",
| |
− | "password": "zabbix"
| |
− | },
| |
− | "id": 0
| |
− | })
| |
− | # create request object
| |
− | request = urllib2.Request(url,data)
| |
− | for key in header:
| |
− | request.add_header(key,header[key])
| |
− | # auth and get authid
| |
− | try:
| |
− | result = urllib2.urlopen(request)
| |
− | except URLError as e:
| |
− | print "Auth Failed, Please Check Your Name And Password:",e.code
| |
− | else:
| |
− | response = json.loads(result.read())
| |
− | result.close()
| |
− | print "Auth Successful. The Auth ID Is:",response['result']
| |
− | | |
− | 获取 hostlist 所有主机列表
| |
− | | |
− | #!/usr/bin/env python2.7
| |
− | #coding=utf-8
| |
− | import json
| |
− | import urllib2
| |
− | #xiaorui.cc
| |
− | url = "http://10.10.10.61/api_jsonrpc.php"
| |
− | header = {"Content-Type": "application/json"}
| |
− | # request json
| |
− | data = json.dumps(
| |
− | {
| |
− | "jsonrpc":"2.0",
| |
− | "method":"host.get",
| |
− | "params":{
| |
− | "output":["hostid","name"],
| |
− | "filter":{"host":""}
| |
− | },
| |
− | "auth":"dbcd2bd8abc0f0320fffab34c6d749d3",
| |
− | "id":1,
| |
− | })
| |
− | # create request object
| |
− | request = urllib2.Request(url,data)
| |
− | for key in header:
| |
− | request.add_header(key,header[key])
| |
− | # get host list
| |
− | try:
| |
− | result = urllib2.urlopen(request)
| |
− | except URLError as e:
| |
− | if hasattr(e, 'reason'):
| |
− | print 'We failed to reach a server.'
| |
− | print 'Reason: ', e.reason
| |
− | elif hasattr(e, 'code'):
| |
− | print 'The server could not fulfill the request.'
| |
− | print 'Error code: ', e.code
| |
− | else:
| |
− | response = json.loads(result.read())
| |
− | result.close()
| |
− | print "Number Of Hosts: ", len(response['result'])
| |
− | for host in response['result']:
| |
− | print "Host ID:",host['hostid'],"Host Name:",host['name']
| |
− | | |
− | | |
− | eg
| |
− | Number Of Hosts: 2
| |
− | Host ID: 10084 Host Name: Zabbix server
| |
− | Host ID: 10413 Host Name: xps
| |
− | 添加主机
| |
| | | |
− | #!/usr/bin/env python2.7
| + | In [39]: dic["温度"] |
− | #coding=utf-8
| + | Out[39]: '17 ~ 27\xe2\x84\x83' |
− | import json
| |
− | import urllib2
| |
− | #xiaorui.cc
| |
− | url = "http://10.10.10.61/api_jsonrpc.php"
| |
− | header = {"Content-Type": "application/json"}
| |
− | # request json
| |
− | data = json.dumps(
| |
− | {
| |
− | "jsonrpc":"2.0",
| |
− | "method":"host.create",
| |
− | "params":{
| |
− | "host": "10.10.10.67","interfaces":
| |
− | [{"type": 1,"main": 1,"useip": 1,"ip": "10.10.10.67","dns": "","port": "10050"}],
| |
− | "groups": [{"groupid": "2"}],"templates": [{"templateid": "10087"}]
| |
− | },
| |
− | "auth":"dbcd2bd8abc0f0320fffab34c6d749d3",
| |
− | "id":1,
| |
− | }
| |
− | )
| |
− | # create request object
| |
− | request = urllib2.Request(url,data)
| |
− | for key in header:
| |
− | request.add_header(key,header[key])
| |
− | # get host list
| |
− | try:
| |
− | result = urllib2.urlopen(request)
| |
− | except URLError as e:
| |
− | if hasattr(e, 'reason'):
| |
− | print 'We failed to reach a server.'
| |
− | print 'Reason: ', e.reason
| |
− | elif hasattr(e, 'code'):
| |
− | print 'The server could not fulfill the request.'
| |
− | print 'Error code: ', e.code
| |
− | else:
| |
− | response = json.loads(result.read())
| |
− | result.close()
| |
− | print 'ok'zai
| |
| | | |
| + | In [42]: print (dic["温度"].decode('utf-8')) |
| + | 17 ~ 27℃ |
| | | |
| + | In [50]: print (dic["天气"].decode(encoding='utf-8')) |
| + | 晴 |
| </pre> | | </pre> |
| | | |
− | ==批量改 agent 配置==
| |
− | ===ssh 方式 ===
| |
− | <pre>
| |
− |
| |
− | IP=(
| |
− | 172.31.27.83
| |
− | 172.31.25.239
| |
− | 172.31.16.171
| |
− | 172.31.26.183
| |
− | 172.31.31.249
| |
− | 172.31.25.199
| |
− | 172.31.22.218
| |
− | 172.31.24.104
| |
− | 172.31.19.164
| |
− | )
| |
− |
| |
− | myend=`expr ${#IP[@]} - 1`
| |
− |
| |
− | for no in `seq 0 ${myend}`
| |
− | do
| |
− | ssh -i id_rsa -o "StrictHostKeyChecking no" root@${IP[$no]} "sed -i 's!Server=148.66.11.55!Server=38.20.125.2!' /etc/zabbix/zabbix_agentd.conf && systemctl restart zabbix-agent"
| |
− |
| |
− |
| |
− | done
| |
− | </pre>
| |
− |
| |
− | =进阶=
| |
− | 写成通用的py脚本 ?
| |
− |
| |
− | [https://www.jianshu.com/p/e087cace8ddf 利用zabbix API(python)批量查询主机、模板、添加删除主机]
| |
− |
| |
− | [https://www.cnblogs.com/reblue520/p/7614347.html 通过zabbix自带api进行主机的批量添加操作信息填写成列表]
| |
− |
| |
− |
| |
− |
| |
− | [http://aishad.top/wordpress/?p=460 zabbix高级使用五:通过zabbix API添加监控主机has used]
| |
− |
| |
− |
| |
− |
| |
− | [https://blog.51cto.com/13120271/2163782 Zabbix 调用API 批量添加主机等]
| |
− |
| |
− | [https://blog.csdn.net/qq_34355232/article/details/83823680 zabbix api获取指定组中的主机的名字并将其修改]
| |
− |
| |
− | [https://blog.csdn.net/weixin_42290927/article/details/88292931 zabbix 添加主机 API基础 ]
| |
− |
| |
− | [https://blog.csdn.net/weixin_34107955/article/details/89821524 Zabbix 调用API 批量添加主机 (读取Excel)]
| |
− |
| |
− |
| |
− | [https://blog.csdn.net/weixin_34242509/article/details/92306225 zabbix调用api接口批量添加主机]
| |
− |
| |
− | =zabbix api 数据展示=
| |
− |
| |
− | https://github.com/evan886/cmdb_salt_zab
| |
− |
| |
− | | |
− |
| |
− | Zabbix数据库模型(二次开发必备)
| |
− |
| |
− | https://github.com/livestalker-archive/django-zabbix-api
| |
− |
| |
− | [https://www.zhihu.com/question/62351896 如何通过zabbix的api获取前端最近20个问题?]
| |
− |
| |
− | 先 [https://blog.csdn.net/u011085172/article/details/77374879 python 通过zabbix api来获取当前trigger(告警)并打印出信息]
| |
− | [https://blog.csdn.net/u011085172/article/details/77480245 django bootstrap 获取zabbix告警信息并展示]
| |
− |
| |
− | [https://blog.51cto.com/yangrong/1559123 python调用zabbix api接口实时展示数据]
| |
− |
| |
− |
| |
− |
| |
− | 和那个项目是一样的呀 就是那个作者
| |
− | [https://blog.csdn.net/qq_28513801/article/details/100828148?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-5.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-5.nonecase 基于Python调用zabbix监控的API接口详解,将数据展现到前台过程、思路分析]
| |
− |
| |
− | [https://zhuanlan.zhihu.com/p/38489604 安全管理平台项目记录(1):zabbix API测试]
| |
− |
| |
− |
| |
− | [https://blog.51cto.com/rfyiamcool/1358792 关于python调用zabbix api接口的自动化实例 [结合saltstack<nowiki>]</nowiki>]
| |
− |
| |
− | 应该最终是出图
| |
− |
| |
− | [https://blog.csdn.net/qq_37534835/article/details/89156591 Python拉取zabbix数据并使用matplotlib模块绘图]
| |
− |
| |
− | [https://blog.csdn.net/weixin_39658619/article/details/111984197?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-5&spm=1001.2101.3001.4242 python做监控界面_Zabbix与Python不得不说的基情——用Python定制自己的zabbix界面]
| |
− |
| |
− | [https://blog.csdn.net/qq_35465132/article/details/78963269?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-15.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-15.control 前端调用zabbix告警数据]
| |
− |
| |
− |
| |
− | [https://www.zhihu.com/question/62351896 如何通过zabbix的api获取前端最近20个问题?] 简单实现了一下,根据自己的需要处理数据就行了,好好看看官方文档,写的还是比较全的。
| |
− |
| |
− | [https://blog.51cto.com/dreamgirl1314/2044918 python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上 原创]
| |
− |
| |
− | [https://blog.51cto.com/youerning/1748157 基于zabbix用Python写一个运维流量气象图]
| |
− |
| |
− | [https://blog.51cto.com/youerning/1735450 从无到有写一个运维APP(一)]
| |
− | [https://blog.51cto.com/youerning/1740152 从无到有写一个运维APP(二) ]
| |
− |
| |
− | [https://blog.51cto.com/youerning/1939987 从无到有写一个运维APP(三)完结篇 推荐 原创 ]
| |
− |
| |
− | [https://blog.51cto.com/u_15127502/2654995 Python采集linux服务器数据在Django Web界面展示 原创 ]
| |
− |
| |
− | [https://blog.51cto.com/dreamgirl1314/2044918 python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上 原创 ] 没有采集部分呀
| |
− |
| |
− | [https://blog.csdn.net/weixin_38320674/article/details/108591529 Python采集linux服务器数据在Django Web界面展示]没有采集部分呀
| |
− |
| |
− | [https://blog.51cto.com/dragondragon/1939323?xiangguantuijian&02 Django在web页面展示linux服务器的文本内容 原创 ]
| |
− |
| |
− |
| |
− | [https://zhidao.baidu.com/question/813182718179234572.html 如何把zabbix里的数据展示到前端 ]
| |
− |
| |
− | [https://blog.csdn.net/weixin_33804582/article/details/85088016?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-18.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-18.control 把zabbix图形整合至运维平台]
| |
− |
| |
− | [https://blog.csdn.net/weixin_34050389/article/details/92809386?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control 抽取Zabbix的图形整合到自己后台]
| |
− |
| |
− |
| |
− | [https://blog.csdn.net/weixin_33910137/article/details/85215637 zabbix二次开发之从mysql取值在运维平台js图表展现]
| |
− |
| |
− | [https://blog.csdn.net/fishmai/article/details/51850588?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control zabbix二次开发集成运维平台展现监控图表]
| |
− |
| |
− | [http://xiaorui.cc/archives/319 zabbix二次开发集成运维平台展现监控图表]
| |
− |
| |
− | [https://blog.csdn.net/weixin_43790276/article/details/90664236 Python使用pyzabbix调用Zabbix API]
| |
− |
| |
− | [https://blog.51cto.com/dreamgirl1314/2044918 python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上]
| |
− |
| |
− | [https://blog.csdn.net/h106140873/article/details/90678121?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-4&spm=1001.2101.3001.4242 python调用zabbix api接口实时展示数据]
| |
− |
| |
− | [https://github.com/icyway/reportform 调用zabbix的api接口,获取所有监控主机的cpu负载、内存、磁盘使用情况,将采集的数据存入数据库, 最后并使用django框架,进行前端展示。]
| |
− |
| |
− | =see also=
| |
− |
| |
− | [https://blog.csdn.net/China_AT001/article/details/115057058 python3获取zabbix API数据]
| |
− |
| |
− | [https://blog.csdn.net/weixin_41738417/article/details/103234310 python3 调用zabbix API实现批量增加删除主机,主机各种监控项]
| |
− |
| |
− | [https://www.jianshu.com/p/1fdcc595fed0 python脚本对接zabbix API添加监控]
| |
− |
| |
− | [https://blog.csdn.net/wuyongpeng0912/article/details/108708053 Python调用Zabbix API实现自定义功能]
| |
− |
| |
− | [https://segmentfault.com/a/1190000014241994 调用ZABBIX的API获取节点主机信息小记]
| |
− |
| |
− | [https://www.cnblogs.com/ssgeek/p/9279775.html zabbix api的使用]
| |
| | | |
− | [https://blog.51cto.com/zengestudy/1850578 通过Zabbix API 添加host]
| + | Python decode()方法 |
| + | 和 encode() 方法正好相反,decode() 方法用于将 bytes 类型的二进制数据转换为 str 类型,这个过程也称为“解码”。 |
| | | |
− | [https://www.cnblogs.com/wumingxiaoyao/p/7478749.html python3 + zabbix api 的使用]
| + | decode() 方法的语法格式如下: |
| | | |
− | [https://blog.csdn.net/yqw7410/article/details/105619139?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242 基于Zabbix api二次封装开发_获取数据和页面展示] | + | bytes.decode([encoding="utf-8"][,errors="strict"]) |
| + | 该方法中各参数的含义如表 2 所示。 |
| | | |
| | | |
− | [https://blog.csdn.net/sdewendong/article/details/103583236?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control zabbix二次开发详细例子说明]
| |
| | | |
| + | =参考= |
| | | |
− | [https://blog.csdn.net/lihaiyong92/article/details/83057584?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control 通过http请求 zabbix api 获取监控的流量数据] | + | [http://c.biancheng.net/view/4305.html Python encode()和decode()方法:字符串编码转换] |
| + | [http://www.runoob.com/python/att-string-decode.html Python 解码字符串 decode()方法] |
| | | |
− | [https://blog.51cto.com/nginxs/1889120 运维python进行(三) 用python写一个自己zabbix的调用方法 原创 ] | + | [https://www.w3school.com.cn/python/ref_string_encode.asp Python 编码字符串encode()方法] |