拉斯维加斯(3499-官方认证)浏览器-Made in Las Vegas /index.php/interflow/technology/11501?utm_source=rss&utm_medium=rss&utm_campaign=zabbix%25e8%2587%25aa%25e5%258a%25a8%25e5%258f%2591%25e7%258e%25b0%25ef%25bc%259apython-json%25e6%25a8%25a1%25e5%259d%2597%25e5%25ba%2594%25e7%2594%25a8%25e4%25bb%258b%25e7%25bb%258d Fri, 03 Mar 2023 02:29:05 +0000 /?p=11501 json妯″潡鐨勬搷浣滀娇鐢ㄧ浉瀵硅緝涓虹畝鍗曪紝鍦ㄤ娇鐢ㄧ殑鏃跺€欑洿鎺ュ鍏ュ氨鍙互銆傚湪zabbix杩愮淮涓紝甯歌鐨勮嚜鍔ㄥ彂鐜板満鏅紝浣跨敤python鐨刯son妯″潡锛屽鐞嗚捣鏁版嵁锛屼細闈炲父鐨勭畝鍗曘€侟/p>

zabbix鑷姩鍙戠幇锛歱ython-json妯″潡搴旂敤浠嬬粛鏈€鍏堝嚭鐜板湪涔愮淮瀹樼綉銆侟/p> ]]> 涓€锛嶞strong>JSON妯″潡浠嬬粛

json妯″潡鏄痯ython鍐呯疆鐨勫簱锛屽叾涓昏鍔熻兘鏄皢搴忓垪鍖栨暟鎹粠鏂囦欢閲岃鍙栧嚭鏉ユ垨鑰呭瓨鍏ユ枃浠躲€傝妯″潡鏈夊洓涓柟娉曪細dump()銆乴oad()銆乨umps()銆乴oads()锛孅/em>鍏朵腑dump锛堬級鏄皢鏁版嵁瀛樺叆鏂囦欢涓紝load锛堬級鏄敤浜庤鍙栨枃浠讹紱鑰宒umps()鍜宭oads()鏄python瀵硅薄杩涜鎿嶄綔銆俤umps()鏄皢python瀵硅薄缂栫爜鎴恓son瀛楃涓诧紝loads()鏄皢json瀛楃涓茶В鐮佹垚python瀵硅薄銆侟/p>

json妯″潡鐨勬搷浣滀娇鐢ㄧ浉瀵硅緝涓虹畝鍗曪紝鍦ㄤ娇鐢ㄧ殑鏃跺€欑洿鎺ュ鍏ュ氨鍙互銆傚湪zabbix杩愮淮涓紝甯歌鐨凕a href="/index.php/7829-2">鑷姩鍙戠幇鍦烘櫙锛屼娇鐢╬ython鐨刯son妯″潡锛屽鐞嗚捣鏁版嵁锛屼細闈炲父鐨勭畝鍗曘€侟/p>

浜岋紟搴旂敤鍦烘櫙绀轰緥

浠ヤ笅缁撴灉锛屼负璋冪敤闃块噷浜戠殑鎺ュ彛鏁版嵁浣滀负婕旂ず锛岀浉鍏虫晱鎰熸暟鎹凡鍋氳劚鏁忓鐞嗐€侟/p>

2.1鑷姩鍙戠幇涓绘満
2.1.1 python澶勭悊鑴氭湰
#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkcore.auth.credentials import AccessKeyCredential
from aliyunsdkcore.auth.credentials import StsTokenCredential
from aliyunsdkslb.request.v20140515.DescribeLoadBalancersRequest import DescribeLoadBalancersRequest
import json
# 杩欓噷濉 ACCESS_KEY 鍜孲ECRET_KEY
credentials = AccessKeyCredential('', '')
# use STS Token
# credentials = StsTokenCredential('', '', '')
# 杩欓噷濉祫婧愭墍灞炲尯鍩
client = AcsClient(region_id='cn-hangzhou', credential=credentials)
request = DescribeLoadBalancersRequest()
request.set_accept_format('json')

response = client.do_action_with_exception(request)
res = json.loads(response)
r = []
# 鎷兼帴鎴愮敤浜巣abbix鑷姩鍙戠幇璧勬簮鐨勬牸寮 锛岃繖閲屼娇鐢  LoadBalancerId 浣滀负涓绘満鍚嶇О   LoadBalancerName 浣滀负鍙鍚嶇О
for i in res['LoadBalancers']['LoadBalancer']:
        buf = {'{#PROJECT}':'acs_slb_dashboard', '{#INSTANCE}':i['LoadBalancerId'], '{#INSTANCE_NANME}':i['LoadBalancerName']}
        r.append(buf)
print(json.dumps({"data":r})
2.2.2 杩斿洖鐨勫師濮嬫暟鎹?/strong>
u'LoadBalancers': {u'LoadBalancer': [{u'BusinessStatus': u'Normal', u'CreateTimeStamp': 1665537209000, u'LoadBalancerStatus': u'active', u'PayType': u'PayOnDemand', u'InternetChargeType': u'4', u'VpcId': u'', u'RegionIdAlias': u'cn-hangzhou', u'Tags': {u'Tag': [{u'TagKey': u'ack.aliyun.com', u'TagValue': u'cc5bc5d2683a44ae9b1a8eb816'}, {u'TagKey': u'kubernetes.do.not.delete', u'TagValue': u'a2d1f65d7fb1d468197ad23ba183fc45'}]}, u'RegionId': u'cn-hangzhou', u'ResourceGroupId': u'rg-acfmxrtftvdl', u'InstanceChargeType': u'PayBySpec', u'VSwitchId': u'', u'InternetChargeTypeAlias': u'paybytraffic', u'Address': u'120.26.67.000', u'AddressIPVersion': u'ipv4', u'LoadBalancerSpec': u'slb.s1.small', u'LoadBalancerId': u'lb-bp1py79ytly0dl', u'AddressType': u'internet', u'MasterZoneId': u'cn-hangzhou-b', u'DeleteProtection': u'on', u'ModificationProtectionReason': u'managed.by.ack', u'SlaveZoneId': u'cn-hangzhou-g', u'Bandwidth': 5120, u'SpecBpsFlag': False, u'ModificationProtectionStatus': u'ConsoleProtection', u'NetworkType': u'classic', u'LoadBalancerName': u'a2d1f65d7fb1d468197ad23ba1', u'CreateTime': u'2022-10-12T09:13Z'}, {u'BusinessStatus': u'Normal', u'CreateTimeStamp': 1665480995000, u'LoadBalancerStatus': u'active', u'InternetChargeType': u'4', u'VpcId': u'vpc-bp1y7ysljuhh0mgz', u'RegionIdAlias': u'cn-hangzhou', u'Tags': {u'Tag': [{u'TagKey': u'ack.aliyun.com', u'TagValue': u'cc5bc5d2683a44ae9b1a8eb816'}]}, u'RegionId': u'cn-hangzhou', u'ResourceGroupId': u'rg-acfmxrtftvdlxuq', u'InstanceChargeType': u'PayBySpec', u'VSwitchId': u'vsw-bp19iupfrliiqgwjnnxoc', u'InternetChargeTypeAlias': u'paybytraffic', u'Address': u'192.168.33.000', u'AddressIPVersion': u'ipv4', u'LoadBalancerSpec': u'slb.s2.small', u'LoadBalancerId': u'lb-bp1wjgyg379yn', u'AddressType': u'intranet', u'MasterZoneId': u'cn-hangzhou-k', u'DeleteProtection': u'on', u'PayType': u'PayOnDemand', u'SlaveZoneId': u'cn-hangzhou-j', u'Bandwidth': 5120, u'SpecBpsFlag': False, u'ModificationProtectionStatus': u'ConsoleProtection', u'NetworkType': u'vpc', u'LoadBalancerName': u'ManagedK8SSlbIntranet-cc5bc5d2683a44ae9b1a8eb80', u'CreateTime': u'2022-10-11T17:36Z'}]}, u'TotalCount': 2, u'PageNumber': 1, u'RequestId': u'034B0F9E-87DE-59F4-9406-456B.', u'PageSize': 2}
2.2.3 澶勭悊鍚庣殑鏁版嵁

{“data”: [{“{#PROJECT}”: “acs_slb_dashboard”, “{#INSTANCE_NANME}”: “a2d1f65d7fb1d468197ad23b”, “{#INSTANCE}”: “lb-bp1py79ytly0dlt”}, {“{#PROJECT}”: “acs_slb_dashboard”, “{#INSTANCE_NANME}”: “ManagedK8SSlbIntranet-cc5bc5d2683a44ae9b1a8eb”, “{#INSTANCE}”: “lb-bp1wjgyg379ynw61”}]}

涓夛紟缁撹

瀵规瘮shell锛孭ython鐨刯son妯″潡鍦ㄦ暟鎹鐞嗘柟闈紝鍏惰剼鏈殑鍙鎬с€佺畝娲佹€ч兘浼氭湁鎵€鎻愬崌锛屽苟涓斿鐞嗚繃绋嬩篃鏃犻渶鑺辫垂杩囧鐨勪簨浠跺啓澶勭悊杩囩▼鐨勪唬鐮侊紝鑳芥湁鏁堟彁鍗囪繍缁翠汉鍛樼殑宸ヤ綔鏁堢巼銆侟/p>

鏈湡鐨勫垎浜唴瀹瑰埌杩欏氨缁撴潫浜嗐€傚ぇ瀹跺ソ锛屾垜鏄箰涔愶紝涓撴敞IT杩愮淮鎶€鏈爺绌朵笌鍒嗕韩锛屽叧娉ㄦ垜锛屽涔犳洿澶歾abbix浣跨敤鎶€宸с€傚悓鏃舵杩庡皬浼欎即浠埌涔愮淮绀惧尯鐣欒█鎻愰棶鎴栬€呭姞鍏ユ垜浠瑉abbix鎶€鏈瓟鐤慟Q缇?17295020锛屽叡鍚屾帰璁▃abbix鎶€鏈棶棰樸€侟/p>

涔愮淮绀惧尯

zabbix鑷姩鍙戠幇锛歱ython-json妯″潡搴旂敤浠嬬粛鏈€鍏堝嚭鐜板湪涔愮淮瀹樼綉銆侟/p> ]]>