在數(shù)字化大背景下,數(shù)據(jù)是重要的生產(chǎn)資料,這些數(shù)據(jù)存放在哪里,如何保障數(shù)據(jù)安全是所有企業(yè)都要考慮的事情。華為云RDS憑借安全可靠,可根據(jù)業(yè)務(wù)規(guī)模動態(tài)擴(kuò)容的特性,受到越來越多中小企業(yè)的青睞,對華為云RDS監(jiān)控的需求也隨之增長。本文將介紹如何使用Zabbix監(jiān)控華為云RDS。
一、思路
?通過華為云RDS實(shí)例列表接口獲取RDS實(shí)例,用于資源的自動發(fā)現(xiàn)
?通過華為云CES獲取監(jiān)控?cái)?shù)據(jù)準(zhǔn)
二、準(zhǔn)備工作
?用于訪問華為云的AK/SK
?python3環(huán)境
?用于調(diào)用華為云api的相關(guān)模塊依賴 https://github.com/huaweicloud/huaweicloud-sdk-python-v3
三、編寫實(shí)例自動發(fā)現(xiàn)腳本
#!/bin/python3
coding: utf-8
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkrds.v3.region.rds_region import RdsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkrds.v3 import *
import json
if name == “main”:
#這里填訪問密鑰
ak = “”
sk = “”
credentials = BasicCredentials(ak, sk) \
client = RdsClient.new_builder() \
.with_credentials(credentials) \
.with_region(RdsRegion.value_of("cn-north-4")) \
.build()
try:
request = ListInstancesRequest()
response = client.list_instances(request)
response = json.loads(str(response))
#拼接成用于自動發(fā)現(xiàn)的json數(shù)據(jù),id為RDS的實(shí)例ID,name為RDS的名稱
r = []
for i in response['instances']:
buf = {'{#INSTANCE}':i['id'],'{#INSTANCE_NANME}':i['name']}
r.append(buf)
print(json.dumps({"data":r}))
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
四、編寫監(jiān)控?cái)?shù)據(jù)獲取腳本
#!/bin/python3
coding: utf-8
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkces.v1.region.ces_region import CesRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkces.v1 import *
import json
import time
import sys
#傳入的監(jiān)控項(xiàng)
key = sys.argv[1]
#請求時(shí)間戳
from_time = int(round(time.time() * 1000)-300000)
to_time = int(round(time.time() * 1000))
if name == “main”:
#這里填訪問密鑰
ak = “”
sk = “”
credentials = BasicCredentials(ak, sk) \
client = CesClient.new_builder() \
.with_credentials(credentials) \
.with_region(CesRegion.value_of("cn-north-4")) \
.build()
try:
request = BatchListMetricDataRequest()
listDimensionsMetrics = [
MetricsDimension(
name="rds_cluster_id",
#這里是實(shí)例ID,可改為變量,模板宏即{HOST.HOST}
value=""
)
]
listMetricsbody = [
MetricInfo(
namespace="SYS.RDS",
metric_name=key,
dimensions=listDimensionsMetrics
)
]
request.body = BatchListMetricDataRequestBody(
to=to_time,
_from=from_time,
filter="max",
period="1",
metrics=listMetricsbody
)
response = client.batch_list_metric_data(request)
res = json.loads(str(response))
instance = json.dumps(res)
instances = json.loads(instance)['metrics']
for i in instances:
#取最新的一個(gè)值
print(i['datapoints'][0]['max'])
#print(i)
except exceptions.ClientRequestException as e:
print(0)
#print(e.request_id)
#print(e.error_code)
#print(e.error_msg)
五、新增模板
?新增自動發(fā)現(xiàn)規(guī)則,用于實(shí)例自動發(fā)現(xiàn)
?自動發(fā)現(xiàn)規(guī)則,鏈接監(jiān)控?cái)?shù)據(jù)獲取模板
六、驗(yàn)證
?驗(yàn)證是否可以正常發(fā)現(xiàn)實(shí)例
新增主機(jī),鏈接華為云RDS自動掃描模板后,點(diǎn)自動發(fā)現(xiàn)規(guī)則,可以正常獲取到數(shù)據(jù)
?驗(yàn)證監(jiān)控?cái)?shù)據(jù)是否獲取正常
點(diǎn)擊發(fā)現(xiàn)出來實(shí)例,測試監(jiān)控項(xiàng)可以正常獲取到數(shù)據(jù)
以上即為使用Zabbix監(jiān)控華為云RDS的操作過程。文章來源:http://www.zghlxwxcb.cn/news/detail-455229.html
這一期的Zabbix的技術(shù)分享到這就結(jié)束了,更多Zabbix內(nèi)容直接關(guān)注樂維社區(qū)(https://forum.lwops.cn/),專注運(yùn)維技術(shù)分享,關(guān)注我,運(yùn)維更無憂。文章來源地址http://www.zghlxwxcb.cn/news/detail-455229.html
到了這里,關(guān)于Zabbix技術(shù)分享——如何使用zabbix監(jiān)控華為云RDS的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!