91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

開發自己的分布式監控Prometheus Exporter時遇到的坑

發布時間:2020-04-24 09:33:19 來源:網絡 閱讀:26742 作者:Jx戰壕 欄目:軟件技術

   這里說下我在開發自己的Prometheus Exporter時遇到的幾個坑,所謂的坑,其實是在開發過程中需要注意到的幾個關鍵點,如果忽略,那么可能會產生錯誤和非預期的結果。

開發自己的分布式監控Prometheus Exporter時遇到的坑

  如果對Prometheus不了解的,可以自行谷歌或百度一下,或者可以看下我之前的一篇文章。Prometheus是基于Pull的工作模式,需要定期的從Agent端收集數據,并入庫,這里的Agent被稱為Exporter。官網和社區里目前很多成熟的expoter可以選擇,比如監控linux機器的node_exporter、監控mysql的mysqld_exporter等等。這里的大多數都是用Go語言寫的,其實理解了Exporter和Prometheus的工作原理之后就知道,exporter其實就是將收集的數據轉化為文本格式,并對外暴露接口,提供 http 請求,所以很容自己實現一個,不必拘泥于用那種語言,你可以用Java、PHP或者Python等任何你擅長的。我這里用Python Flask框架寫了一個監控vSphere Datastore的Exporter,開發過程中需要注意一下幾點:

  1. Exporter的整體文本數據格式:

    Exporter的返回的是文本內容,其中以行為單位,空行將被忽略, 文本內容最后一行為空行;

    文本內容以“# HELP”開頭的行為注釋,表示幫助信息,以“# TYPE”開頭的行表示此Metric的類型;

    exporter有四種數據類型,分別為:counter/gauge/histogram/summary。

  2. Exporter每一行文本的格式

    1. 在每一行文本的最后不能有空格,否則會不識別

    2. 在每一Metric行代表一個Key、Value對,Value的值是float類型,如果有兩個Value值,最后

      一個會被認為是時間戳進行保存,比如:

        http_requests_total{method="post",code="200"} 1027 1395066363000

    3. Metrics的Label的value值必須要用雙引號“”引起來

  3. Exporter的Content-Type必須是text類型:

    1. 這里我flask返回頁面的Content-Type設置為:text/plain

開發自己的分布式監控Prometheus Exporter時遇到的坑

    4. Prometheus有自己的python的client:

   項目地址如下:

https://github.com/prometheus/client_python

  如果不想重復造輪子,可以選擇用官網提供的lient端。

  5. Exporter接口的響應時間

     默認Prometheus是每隔15秒抓取一次數據,每次的timeout超時時間是10s,這個也可以在配置文件里自定義。要注意Exporter的接口響應時間一定要比server配置里的小。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白城市| 徐汇区| 蓝山县| 揭阳市| 英山县| 满洲里市| 出国| 仙桃市| 镇远县| 专栏| 黄骅市| 岳阳县| 施甸县| 永定县| 惠东县| 博白县| 日喀则市| 临夏县| 邯郸县| 阿合奇县| 宁武县| 台湾省| 油尖旺区| 阳原县| 蒲城县| 汨罗市| 方山县| 措勤县| 隆昌县| 孙吴县| 湄潭县| 鄢陵县| 磐石市| 班玛县| 金乡县| 长春市| 东方市| 富川| 彭泽县| 纳雍县| 阿荣旗|