{"id":11209,"date":"2022-12-06T14:25:16","date_gmt":"2022-12-06T06:25:16","guid":{"rendered":"https:\/\/www.lwops.cn\/?p=11209"},"modified":"2022-12-06T14:25:16","modified_gmt":"2022-12-06T06:25:16","slug":"zabbix%e6%8a%80%e6%9c%af%e5%88%86%e4%ba%ab-%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8zabbix%e7%9b%91%e6%8e%a7%e5%8d%8e%e4%b8%ba%e4%ba%91rds","status":"publish","type":"post","link":"https:\/\/www.lwops.cn\/index.php\/interflow\/technology\/11209","title":{"rendered":"zabbix\u6280\u672f\u5206\u4eab\u2014\u2014\u5982\u4f55\u4f7f\u7528zabbix\u76d1\u63a7\u534e\u4e3a\u4e91RDS"},"content":{"rendered":"\n
\u5728\u6570\u5b57\u5316\u5927\u80cc\u666f\u4e0b\uff0c\u6570\u636e\u662f\u91cd\u8981\u7684\u751f\u4ea7\u8d44\u6599\uff0c\u8fd9\u4e9b\u6570\u636e\u5b58\u653e\u5728\u54ea\u91cc\uff0c\u5982\u4f55\u4fdd\u969c\u6570\u636e\u5b89\u5168\u662f\u6240\u6709\u4f01\u4e1a\u90fd\u8981\u8003\u8651\u7684\u4e8b\u60c5\u3002\u534e\u4e3a\u4e91RDS\u51ed\u501f\u5b89\u5168\u53ef\u9760\uff0c\u53ef\u6839\u636e\u4e1a\u52a1\u89c4\u6a21\u52a8\u6001\u6269\u5bb9\u7684\u7279\u6027\uff0c\u53d7\u5230\u8d8a\u6765\u8d8a\u591a\u4e2d\u5c0f\u4f01\u4e1a\u7684\u9752\u7750\uff0c\u5bf9\u534e\u4e3a\u4e91RDS\u76d1\u63a7\u7684\u9700\u6c42\u4e5f\u968f\u4e4b\u589e\u957f\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528zabbix\u76d1\u63a7\u534e\u4e3a\u4e91RDS\u3002<\/p>\n\n\n\n
\u2022\u901a\u8fc7\u534e\u4e3a\u4e91RDS\u5b9e\u4f8b\u5217\u8868\u63a5\u53e3\u83b7\u53d6RDS\u5b9e\u4f8b\uff0c\u7528\u4e8e\u8d44\u6e90\u7684\u81ea\u52a8\u53d1\u73b0 <\/p>\n\n\n\n
\u2022\u901a\u8fc7\u534e\u4e3a\u4e91CES\u83b7\u53d6\u76d1\u63a7\u6570\u636e\u51c6<\/p>\n\n\n\n
\u2022\u7528\u4e8e\u8bbf\u95ee\u534e\u4e3a\u4e91\u7684AK\/SK<\/p>\n\n\n\n \u2022python3\u73af\u5883 <\/p>\n\n\n\n \u2022\u7528\u4e8e\u8c03\u7528\u534e\u4e3a\u4e91api\u7684\u76f8\u5173\u6a21\u5757\u4f9d\u8d56 https:\/\/github.com\/huaweicloud\/huaweicloud-sdk-python-v3<\/p>\n\n\n\n \u2022\u65b0\u589e\u81ea\u52a8\u53d1\u73b0\u89c4\u5219\uff0c\u7528\u4e8e\u5b9e\u4f8b\u81ea\u52a8\u53d1\u73b0<\/p>\n\n\n\n \u2022\u81ea\u52a8\u53d1\u73b0\u89c4\u5219\uff0c\u94fe\u63a5\u76d1\u63a7\u6570\u636e\u83b7\u53d6\u6a21\u677f<\/p>\n\n\n\n \u2022\u9a8c\u8bc1\u662f\u5426\u53ef\u4ee5\u6b63\u5e38\u53d1\u73b0\u5b9e\u4f8b <\/p>\n\n\n\n \u65b0\u589e\u4e3b\u673a\uff0c\u94fe\u63a5\u534e\u4e3a\u4e91RDS\u81ea\u52a8\u626b\u63cf\u6a21\u677f\u540e\uff0c\u70b9\u81ea\u52a8\u53d1\u73b0\u89c4\u5219\uff0c\u53ef\u4ee5\u6b63\u5e38\u83b7\u53d6\u5230\u6570\u636e<\/p>\n\n\n\n \u2022\u9a8c\u8bc1\u76d1\u63a7\u6570\u636e\u662f\u5426\u83b7\u53d6\u6b63\u5e38 <\/p>\n\n\n\n \u70b9\u51fb\u53d1\u73b0\u51fa\u6765\u5b9e\u4f8b\uff0c\u6d4b\u8bd5\u76d1\u63a7\u9879\u53ef\u4ee5\u6b63\u5e38\u83b7\u53d6\u5230\u6570\u636e<\/p>\n\n\n\n \u4ee5\u4e0a\u5373\u4e3a\u4f7f\u7528zabbix\u76d1\u63a7\u534e\u4e3a\u4e91RDS\u7684\u64cd\u4f5c\u8fc7\u7a0b\u3002<\/p>\n\n\n\n \u8fd9\u4e00\u671f\u7684zabbix\u7684\u6280\u672f\u5206\u4eab\u5230\u8fd9\u5c31\u7ed3\u675f\u4e86\uff0c\u66f4\u591azabbix\u5185\u5bb9\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u6211\u7684\u5f80\u671f\u5185\u5bb9\uff1azabbix\u76d1\u63a7\u65e5\u5fd7\u65b9\u6cd5\u5206\u4eab<\/a>\uff1bzabbix\u6280\u672f\u5206\u6790<\/a><\/p>\n\n\n\n<\/figure>\n\n\n\n
\u4e09\u3001\u7f16\u5199\u5b9e\u4f8b\u81ea\u52a8\u53d1\u73b0\u811a\u672c<\/strong><\/h2>\n\n\n\n
#!\/bin\/python3\r\n# coding: utf-8\r\nfrom huaweicloudsdkcore.auth.credentials import BasicCredentials\r\nfrom huaweicloudsdkrds.v3.region.rds_region import RdsRegion\r\nfrom huaweicloudsdkcore.exceptions import exceptions\r\nfrom huaweicloudsdkrds.v3 import *\r\nimport json\r\nif __name__ == \"__main__\":\r\n #\u8fd9\u91cc\u586b\u8bbf\u95ee\u5bc6\u94a5\r\n ak = \"\"\r\n sk = \"\"\r\n\r\n credentials = BasicCredentials(ak, sk) \\\r\n\r\n client = RdsClient.new_builder() \\\r\n .with_credentials(credentials) \\\r\n .with_region(RdsRegion.value_of(\"cn-north-4\")) \\\r\n .build()\r\n\r\n try:\r\n request = ListInstancesRequest()\r\n response = client.list_instances(request)\r\n response = json.loads(str(response))\r\n #\u62fc\u63a5\u6210\u7528\u4e8e\u81ea\u52a8\u53d1\u73b0\u7684json\u6570\u636e\uff0cid\u4e3aRDS\u7684\u5b9e\u4f8bID\uff0cname\u4e3aRDS\u7684\u540d\u79f0\r\n r = []\r\n for i in response['instances']:\r\n buf = {'{#INSTANCE}':i['id'],'{#INSTANCE_NANME}':i['name']}\r\n r.append(buf)\r\n print(json.dumps({\"data\":r}))\r\n\r\n except exceptions.ClientRequestException as e:\r\n print(e.status_code)\r\n print(e.request_id)\r\n print(e.error_code)\r\n print(e.error_msg)\n<\/code><\/pre>\n\n\n\n
\u56db\u3001\u7f16\u5199\u76d1\u63a7<\/a>\u6570\u636e\u83b7\u53d6\u811a\u672c<\/strong><\/h2>\n\n\n\n
#!\/bin\/python3\r\n# coding: utf-8\r\nfrom huaweicloudsdkcore.auth.credentials import BasicCredentials\r\nfrom huaweicloudsdkces.v1.region.ces_region import CesRegion\r\nfrom huaweicloudsdkcore.exceptions import exceptions\r\nfrom huaweicloudsdkces.v1 import *\r\nimport json\r\nimport time\r\nimport sys\r\n#\u4f20\u5165\u7684\u76d1\u63a7\u9879\r\nkey = sys.argv[1]\r\n#\u8bf7\u6c42\u65f6\u95f4\u6233\r\nfrom_time = int(round(time.time() * 1000)-300000)\r\nto_time = int(round(time.time() * 1000))\r\nif __name__ == \"__main__\":\r\n #\u8fd9\u91cc\u586b\u8bbf\u95ee\u5bc6\u94a5\r\n ak = \"\"\r\n sk = \"\"\r\n\r\n credentials = BasicCredentials(ak, sk) \\\r\n\r\n client = CesClient.new_builder() \\\r\n .with_credentials(credentials) \\\r\n .with_region(CesRegion.value_of(\"cn-north-4\")) \\\r\n .build()\r\n\r\n try:\r\n request = BatchListMetricDataRequest()\r\n listDimensionsMetrics = [\r\n MetricsDimension(\r\n name=\"rds_cluster_id\",\r\n #\u8fd9\u91cc\u662f\u5b9e\u4f8bID\uff0c\u53ef\u6539\u4e3a\u53d8\u91cf\uff0c\u6a21\u677f\u5b8f\u5373{HOST.HOST}\r\n value=\"\"\r\n )\r\n ]\r\n listMetricsbody = [\r\n MetricInfo(\r\n namespace=\"SYS.RDS\",\r\n metric_name=key,\r\n dimensions=listDimensionsMetrics\r\n )\r\n ]\r\n request.body = BatchListMetricDataRequestBody(\r\n to=to_time,\r\n _from=from_time,\r\n filter=\"max\",\r\n period=\"1\",\r\n metrics=listMetricsbody\r\n )\r\n response = client.batch_list_metric_data(request)\r\n res = json.loads(str(response))\r\n instance = json.dumps(res)\r\n instances = json.loads(instance)['metrics']\r\n for i in instances:\r\n #\u53d6\u6700\u65b0\u7684\u4e00\u4e2a\u503c\r\n print(i['datapoints'][0]['max'])\r\n #print(i)\r\n\r\n except exceptions.ClientRequestException as e:\r\n print(0)\r\n #print(e.request_id)\r\n #print(e.error_code)\r\n #print(e.error_msg)<\/code><\/pre>\n\n\n\n
\u4e94\u3001\u65b0\u589e\u6a21\u677f<\/strong><\/h2>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
\u516d\u3001\u9a8c\u8bc1<\/strong><\/h2>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n