国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

AMP實現(xiàn)Prometheus Exporter數(shù)據(jù)對接

IT那活兒 / 2412人閱讀
AMP實現(xiàn)Prometheus Exporter數(shù)據(jù)對接

點擊上方“IT那活兒”,關注后了解更多內(nèi)容,不管IT什么活兒,干就完了!!!





背  景



Prometheus是一個開源的系統(tǒng)監(jiān)控和報警系統(tǒng),現(xiàn)在已經(jīng)加入到CNCF基金會,成為繼k8s之后第二個在CNCF托管的項目,在kubernetes容器管理系統(tǒng)中,通常會搭配Prometheus進行監(jiān)控,同時也支持多種exporter采集數(shù)據(jù),還支持pushgateway進行數(shù)據(jù)上報,Prometheus性能足夠支撐上萬臺規(guī)模的集群。

我們知道 zabbix 在監(jiān)控界占有不可撼動的地位,功能強大。但是對容器監(jiān)控顯得力不從心。為解決監(jiān)控容器的問題,對APM進行擴展,支持采集Prometheus exporter數(shù)據(jù),實現(xiàn)APM容器化監(jiān)控。





使用說明



1. 功能說明

對接prometheus性能數(shù)據(jù),實現(xiàn)snc-proxy/snc-agent采集prometheus【exporter】數(shù)據(jù)。

2. 使用范圍

采集prometheus性能數(shù)據(jù)。

3. 功能邏輯

3.1 snc-proxy/snc-agen添加支持prometheus采集協(xié)議。

主要實現(xiàn)邏輯:

1)定義監(jiān)控格式為prometheus.xx.xx[{$PURL},key,label1="xx",label2="xx",...],label為可變參數(shù);

2)添加PrometheusMetricProvider指標消費類,繼承AbstractMetricsConsumer,類型為prometheus;

3)根據(jù)監(jiān)控項參數(shù)key值,對prometheus metric數(shù)據(jù)進行篩選;

4)根據(jù)監(jiān)控項參數(shù)label值,對完成步驟2的數(shù)據(jù)進行進一步篩選,label值支持正則表達式和通配符;

5)處理篩選結果。普通監(jiān)控項賽選結果為1條,返回對象格式json文本,賽選結果為多條,返回結果數(shù)組格式json文本;自發(fā)現(xiàn)監(jiān)控項返回自發(fā)現(xiàn)監(jiān)控項結果。

3.2 AMP自定義prometheus node_exporter監(jiān)控模板。

3.3 通過snc-agen監(jiān)控工作原理,實現(xiàn)數(shù)據(jù)采集。

4. 格式規(guī)范/使??式

以prometheus.開頭。

prometheus metric數(shù)據(jù)格式:

4.1 普通監(jiān)控項

prometheus.xx.xx[{$PURL},key,label1="xx",label2="xx",...]
  • 第?個參數(shù):prometheus metric數(shù)據(jù)url訪問連接;

  • 第二個參數(shù):prometheus metric返回數(shù)據(jù)格式中的"{xxx}"前的key值信息;

  • 后續(xù)參數(shù):數(shù)量不固定,為Prometheus metric返回數(shù)據(jù)格式中的"{xxx}"中的信息。

樣例:

prometheus.system.cup.count[http://XXX.XXX.XX.7:8000/actuator/prometheus,system_cpu_count]

#獲取系統(tǒng)CPU數(shù)量信息

prometheus.jvm.memory.used.heap[http://XXX.XXX.XX.7:8000/actuator/prometheus,jvm_memory_used_bytes,area="heap"]

#獲取jvm heap區(qū)內(nèi)存使用情況

prometheus.logback.events.total[http://XXX.XXX.XX.7:8000/actuator/prometheus,logback_events_total,level="*"]

#獲取日志事件數(shù)信息

4.2 特殊監(jiān)控項

prometheus.cache.metric[{$PURL},300]
  • prometheus.cache.metric為固定值;

  • 第一個參數(shù):prometheus metric數(shù)據(jù)url訪問連接;

  • 第二個參數(shù):緩存時間,單位秒。

普通監(jiān)控項每次采集都要通過http請求訪問Prometheus exporter獲取數(shù)據(jù),配置這個鍵值后會把Prometheus metric的返回信息緩存至snc-agent或者snc-proxy,有效期內(nèi)其他鍵值采集數(shù)據(jù)直接從緩存中獲取,否則每次都要http訪問獲取。

4.3 自發(fā)現(xiàn)配置

prometheus.discovery.metric[{$PURL},key,label1="xx",label2="xx",...]
  • prometheus.discovery.metric為固定鍵值;

  • 第?個參數(shù):prometheus metric數(shù)據(jù)url訪問連接;

  • 第二個參數(shù):prometheus metric返回數(shù)據(jù)格式中的"{xxx}"前的key值信息;

  • 后續(xù)參數(shù):數(shù)量不固定,為Prometheus metric返回數(shù)據(jù)格式中的"{xxx}"中的信息。

自發(fā)現(xiàn)只適用于發(fā)現(xiàn)為Prometheus metric結果信息中格式為 xxx{label1="xx",label2="xx",...}的信息。





配置詳情



1. 設備名 agent

采集方式:Zabbix agent

鍵值:agent.activehost[{HOST.HOST}] 

數(shù)據(jù)類型:字符

2. 緩存 Prometheus metric 信息

采集方式:Zabbix agent(active) 

鍵值:prometheus.cache.metric[{$PURL},300] 

數(shù)據(jù)類型:字符

  • prometheus.cache.metric為固定值;

  • {$PURL}為Prometheus metric的http請求地址;

  • 300為緩存有效時間。

配置這個鍵值后會把Prometheus metric的返回信息緩存至snc-agent或者snc-proxy,有效期內(nèi)其他鍵值采集數(shù)據(jù)直接從緩存中獲取,否則每次都要http訪問獲取。

3. 普通監(jiān)控項配置

采集方式:Zabbix agent(active) 

鍵值:prometheus.xx.xx[{$PURL},key,label1="xx",label2="xx",...]

  • {$PURL}為Prometheus metric的http請求地址;

  • key為Prometheus metric返回數(shù)據(jù)格式中的"{xxx}"前的信息;

  • label為Prometheus metric返回數(shù)據(jù)格式中的"{xxx}"中的信息,label不是必須輸入,長度可變。

首先會根據(jù)key對Prometheus metric信息進行篩選,如果鍵值包含label,再根據(jù)label進行進一步篩選,label的值支持通配符和正則表達式。

篩選結果為單條數(shù)據(jù),返回對象格式json文本。

例:

{
    "metric": {
      "exception": "None",
      "method": "GET",
      "uri": "/**",
      "outcome": "REDIRECTION",
      "status": "304"
    },
    "value": "0.0"
}

篩選結果為多條數(shù)據(jù),返回數(shù)組格式的json文本。

例:

[
  {
    "metric": {
      "exception": "None",
      "method": "GET",
      "uri": "/**",
      "outcome": "REDIRECTION",
      "status": "304"
    },
    "value": "0.0"
  },
  {
    "metric": {
      "exception": "None",
      "method": "OPTIONS",
      "uri": "root",
      "outcome": "SUCCESS",
      "status": "200"
    },
    "value": "0.0"
  }
]

配置監(jiān)控項,如果想要獲取返回結果中的某個信息,可以使用預處理JSON路徑獲取結果中的某個信息。

4. 依賴監(jiān)控項配置

普通監(jiān)控項返回結果為對象格式JSON文本或者數(shù)組格式JSON文本,如果想要基于普通監(jiān)控項的監(jiān)控信息進行解析,可以添加依賴監(jiān)控項,主要項為想要解析的普通監(jiān)控項。

5. 自發(fā)現(xiàn)配置

5.1 自發(fā)現(xiàn)規(guī)則配置

采集方式:Zabbix agent(active) 

鍵值:prometheus.discovery.metric[{$PURL},key,label1="xx",label2="xx",...],label為可選參數(shù)。

自發(fā)現(xiàn)只適用于發(fā)現(xiàn)為Prometheus metric結果信息中格式為 xxx{label1="xx",label2="xx",...}的信息。

5.2 監(jiān)控項原型配置

采集方式:Zabbix agent(active)

鍵值:prometheus.xx.xx[{$PURL},key,label="{#LABEL}"]

其中{#xxx}為自發(fā)現(xiàn)規(guī)則鍵值中的label轉(zhuǎn)換為大寫的信息。如果自發(fā)先規(guī)則鍵值中沒有傳label,則{#xxx}變量為所有篩選結果 xxx{label1="xx",label2="xx",...}中的label的大寫信息。

自發(fā)現(xiàn)監(jiān)控項:





版  本



基于GA03版本實現(xiàn)snc-proxy-agent的擴展。





展  望



實現(xiàn)支持prometheus exporter數(shù)據(jù)HTTP訪問授權驗證。



本文作者:趙璐璐

本文來源:IT那活兒(上海新炬王翦團隊)

?

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/129557.html

相關文章

  • #yyds干貨盤點# Prometheus Exporter(五)BlackBox Exporte

    摘要:本文已經(jīng)收錄在合集都可以采集那些指標常用合集中。允許通過和對接口進行黑盒探測監(jiān)控。我們來看這個示例文件,其他是經(jīng)常搭配服務發(fā)現(xiàn)來進行工作的,比如搭配基于的服務發(fā)現(xiàn)來進行。小結其實在監(jiān)控系統(tǒng)中非常實用,尤其是監(jiān)控和監(jiān)控。 本文已經(jīng)收錄在 Prometheus 合集 Prometheus 都可以采集那些指標?-- ...

    番茄西紅柿 評論0 收藏2637
  • 容器監(jiān)控實踐—Prometheus基本架構

    摘要:根據(jù)配置文件,對接收到的警報進行處理,發(fā)出告警。在默認情況下,用戶只需要部署多套,采集相同的即可實現(xiàn)基本的。通過將監(jiān)控與數(shù)據(jù)分離,能夠更好地進行彈性擴展。參考文檔本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見 系統(tǒng)架構圖 1.x版本的Prometheus的架構圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...

    gghyoo 評論0 收藏0
  • 容器監(jiān)控實踐—Prometheus基本架構

    摘要:根據(jù)配置文件,對接收到的警報進行處理,發(fā)出告警。在默認情況下,用戶只需要部署多套,采集相同的即可實現(xiàn)基本的。通過將監(jiān)控與數(shù)據(jù)分離,能夠更好地進行彈性擴展。參考文檔本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見 系統(tǒng)架構圖 1.x版本的Prometheus的架構圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...

    elina 評論0 收藏0
  • 容器監(jiān)控實踐—node-exporter

    摘要:比如定義了基礎的數(shù)據(jù)類型以及對應的方法收集事件次數(shù)等單調(diào)遞增的數(shù)據(jù)收集當前的狀態(tài),比如數(shù)據(jù)庫連接數(shù)收集隨機正態(tài)分布數(shù)據(jù),比如響應延遲收集隨機正態(tài)分布數(shù)據(jù),和是類似的庫的詳細解析可以參考本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見 概述 Prometheus從2016年加入CNCF,到2018年8月畢業(yè),現(xiàn)在已經(jīng)成為Kubernetes的官方監(jiān)控方案,接下來的幾篇文章將詳細解讀Promethu...

    Pink 評論0 收藏0
  • 容器監(jiān)控實踐—node-exporter

    摘要:比如定義了基礎的數(shù)據(jù)類型以及對應的方法收集事件次數(shù)等單調(diào)遞增的數(shù)據(jù)收集當前的狀態(tài),比如數(shù)據(jù)庫連接數(shù)收集隨機正態(tài)分布數(shù)據(jù),比如響應延遲收集隨機正態(tài)分布數(shù)據(jù),和是類似的庫的詳細解析可以參考本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見 概述 Prometheus從2016年加入CNCF,到2018年8月畢業(yè),現(xiàn)在已經(jīng)成為Kubernetes的官方監(jiān)控方案,接下來的幾篇文章將詳細解讀Promethu...

    VPointer 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<