成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

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

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





背  景



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

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





使用說(shuō)明



1. 功能說(shuō)明

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

2. 使用范圍

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

3. 功能邏輯

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

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

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

2)添加PrometheusMetricProvider指標(biāo)消費(fèi)類,繼承AbstractMetricsConsumer,類型為prometheus;

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

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

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

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

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

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

以prometheus.開頭。

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

4.1 普通監(jiān)控項(xiàng)

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

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

  • 后續(xù)參數(shù):數(shù)量不固定,為Prometheus metric返回?cái)?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)控項(xiàng)

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

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

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

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

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

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

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

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

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

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





配置詳情



1. 設(shè)備名 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請(qǐng)求地址;

  • 300為緩存有效時(shí)間。

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

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

采集方式:Zabbix agent(active) 

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

  • {$PURL}為Prometheus metric的http請(qǐng)求地址;

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

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

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

篩選結(jié)果為單條數(shù)據(jù),返回對(duì)象格式j(luò)son文本。

例:

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

篩選結(jié)果為多條數(shù)據(jù),返回?cái)?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)控項(xiàng),如果想要獲取返回結(jié)果中的某個(gè)信息,可以使用預(yù)處理JSON路徑獲取結(jié)果中的某個(gè)信息。

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

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

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結(jié)果信息中格式為 xxx{label1="xx",label2="xx",...}的信息。

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

采集方式:Zabbix agent(active)

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

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

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





版  本



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





展  望



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



本文作者:趙璐璐

本文來(lái)源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

?

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/129557.html

相關(guān)文章

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

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

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

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

    gghyoo 評(píng)論0 收藏0
  • 容器監(jiān)控實(shí)踐—Prometheus基本架構(gòu)

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

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

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

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

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

    VPointer 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<