性能計(jì)數(shù)器監(jiān)控參考 :SqlServer 監(jiān)控發(fā)布中未分發(fā)的命令數(shù)
但 open-falcon 不能監(jiān)控 windows 性能計(jì)數(shù)器,因此只能自定義監(jiān)控推送監(jiān)控信息。open-falcon 使用 python 可以推送數(shù)據(jù),因此需安裝python(腳本使用python2.7)。
自定義push數(shù)據(jù)到open-falcon 參考:自定義push數(shù)據(jù)到open-falcon
#coding=gbk#python2.7.13import requestsimport timeimport jsonimport pymssql# 推送默認(rèn)參數(shù)# https://book.open-falcon.org/zh/usage/data-push.htmlendpoint = "KK-PC"metric = "repl."timestamp = int(time.time())step = 300value = 0counterType = "GAUGE"tags = "db="# 存儲(chǔ)過程參數(shù)聲明(保存到j(luò)son中),用于執(zhí)行sp_replmonitorsubscriptionpendingcmds"""EXEC distribution.sys.sp_replmonitorsubscriptionpendingcmds @publisher = N'publisher',@publisher_db = N'publisher_db',@publication = N'publication_name',@subscriber = N'subscriber',@subscriber_db = N'subscriber_db',@subscription_type =0"""publicationlist = [ { "publisher": "KK-PC", "publisherdb": "DB01", "publication": "repl_test_DB01", "subscriber": "AA-PC", "subscriberdb": "DB01", }, { "publisher": "KK-PC", "publisherdb": "DB02", "publication": "repl_test_DB02", "subscriber": "AA-PC", "subscriberdb": "DB02", }, { "publisher": "KK-PC", "publisherdb": "DB03", "publication": "repl_test_DB03", "subscriber": "AA-PC", "subscriberdb": "DB03", }, { "publisher": "KK-PC", "publisherdb": "DB04", "publication": "repl_test_DB04", "subscriber": "AA-PC", "subscriberdb": "DB04", },]def main(): #連接數(shù)據(jù)庫執(zhí)行存儲(chǔ)過程 #dbdate 保存存儲(chǔ)過程結(jié)果;pbdate 保存名稱 dbdate = [] pbdate = [] conn=pymssql.connect(host='.',database='distribution') cur=conn.cursor() for i in publicationlist: sql = """ EXEC distribution.sys.sp_replmonitorsubscriptionpendingcmds @publisher = N'"""+i["publisher"]+"""' ,@publisher_db = N'"""+i["publisherdb"]+"""' ,@publication = N'"""+i["publication"]+"""' ,@subscriber = N'"""+i["subscriber"]+"""' ,@subscriber_db = N'"""+i["subscriberdb"]+"""' ,@subscription_type =0""" cur.execute(sql) dbdate.append(cur.fetchall()) pbdate.append(i["publisher"]+"."+i["publisherdb"]) cur.close() conn.close() #配置推送的json格式,都添加到 payload 中 payload = [] data = {"endpoint":endpoint,"metric":metric,"timestamp":timestamp,"step":step,"value":value,"counterType":counterType,"tags":tags} for item,repl in zip(dbdate,pbdate): data = data.copy() data["endpoint"] = endpoint data["metric"] = metric + "pendingcmdcount" data["timestamp"] = timestamp data["step"] = step data["value"] = item[0][0] data["counterType"] = counterType data["tags"] = tags + repl payload.append(data) data = data.copy() data["endpoint"] = endpoint data["metric"] = metric + "estimatedPRocesstime" data["timestamp"] = timestamp data["step"] = step data["value"] = item[0][1] data["counterType"] = counterType data["tags"] = tags + repl payload.append(data) r = requests.post("http://127.0.0.1:1988/v1/push", data=json.dumps(payload)) print r.textif __name__ == "__main__": main()創(chuàng)建定時(shí)任務(wù),每個(gè)5分鐘執(zhí)行一次。
新聞熱點(diǎn)
疑難解答
圖片精選