運維別卷系列 - 云原生監控平臺 之 03.prometheus label 實踐

文章目錄

    • @[toc]
    • label 簡介
    • 自定義標簽
    • relabel_configs
      • regex
      • relabel_action
    • metric_relabel_configs
      • 兩者的區別
    • 實踐

label 簡介

  • label 對于 Prometheus 來說,屬于數據處理的方式,Prometheus 是通過指定的 label 來查詢數據

  • Prometheus 的 target 中實例,都會包含一些默認的 metadata label,比如基于 kubernetes 服務發現的會有類似 __meta_kubernetes_namespace="monitor" 這種 label

  • 下面就是上次咱們基于 kubernetes_sd_configs 服務發現加入的 node-exporter,可以看到,Prometheus 注入了這些 metadata label,這些是不會顯示在 /metrics 頁面里面的

在這里插入圖片描述

自定義標簽

針對于 Prometheus 聯邦集群,自定義標簽就可以很好的去區分環境,也可以細化查詢的維度

  • 比如我基于之前的 Prometheus 配置文件,給 Prometheus 增加了一個 label
- job_name: prometheusmetrics_path: '/metrics'static_configs:- targets: ['prometheus-svc:9090']labels:env: study

可以從 target 里面看到我們增加的 label

在這里插入圖片描述

graph 里面也可以指定我們自定義的 label 來查詢數據(這里因為就一個 Prometheus,就演示一下效果)

在這里插入圖片描述

relabel_configs

relabel_configs

  • Relabeling is a powerful tool to dynamically rewrite the label set of a target before it gets scraped. Multiple relabeling steps can be configured per scrape configuration. They are applied to the label set of each target in order of their appearance in the configuration file.
  • 重新標記是一個強大的工具,可以在目標被抓取之前動態重寫目標的標簽集。每個抓取配置可以配置多個重新標記步驟。它們將按照它們在配置文件中的出現順序應用于每個目標的標簽集。
  • Initially, aside from the configured per-target labels, a target’s job label is set to the job_name value of the respective scrape configuration. The __address__ label is set to the : address of the target. After relabeling, the instance label is set to the value of __address__ by default if it was not set during relabeling. The __scheme__ and __metrics_path__ labels are set to the scheme and metrics path of the target respectively. The __param_ label is set to the value of the first passed URL parameter called .
  • 最初,除了配置的每個目標標簽外,目標的 job 標簽設置為相應抓取配置的 job_name 值。__address__ 標簽設置為目標的 <host>:<port> 地址。重新標記后,如果在重新標記期間未設置 instance 標簽,則默認設置為 __address__ 值。__scheme____metrics_path__ 標簽分別設置為目標的方案和指標路徑。__param_ 標簽設置為第一個傳遞的 URL 參數的值,稱為 <name>
  • The __scrape_interval__ and __scrape_timeout__ labels are set to the target’s interval and timeout. This is experimental and could change in the future.
  • __scrape_interval____scrape_timeout__ 標簽設置為目標的間隔和超時。這是實驗性的,將來可能會改變。
  • Additional labels prefixed with __meta_ may be available during the relabeling phase. They are set by the service discovery mechanism that provided the target and vary between mechanisms.
  • 在重新標記階段,可以使用以 __meta_ 為前綴的其他標簽。它們由提供目標的服務發現機制設置,并且因機制而異。
  • Labels starting with __ will be removed from the label set after target relabeling is completed.
  • 目標重新標記完成后,將從標簽集中刪除以 __ 開頭的標簽。
  • If a relabeling step needs to store a label value only temporarily (as the input to a subsequent relabeling step), use the __tmp label name prefix. This prefix is guaranteed to never be used by Prometheus itself.
  • 如果重新標記步驟只需要臨時存儲標簽值(作為后續重新標記步驟的輸入),請使用 __tmp 標簽名稱前綴。這個前綴保證永遠不會被 Prometheus 本身使用。

regex

  • <regex> 是任何有效的 RE2 正則表達式。
  • replacekeepdroplabelmaplabeldroplabelkeep 操作需要它。
  • 正則表達式錨定在兩端。要取消錨定正則表達式,請使用 .*<regex>.*

relabel_action

重新標記操作有以下幾個

  • replace:將 regex 與連接的 source_labels 匹配。然后,將 target_label 設置為 replacement,將 replacement 中的匹配組引用 (${1}${2}, …) 替換為其值。如果 regex 不匹配,則不進行替換。
  • lowercase:將連接的 source_labels 映射到其小寫字母。
  • uppercase:將連接的 source_labels 映射到其大寫字母。
  • keep:丟棄 regex 與連接的 source_labels 不匹配的目標。
  • drop:丟棄 regex 與連接 source_labels 匹配的目標。
  • keepequal:丟棄與連接的 source_labels 不匹配的目標 target_label
  • dropequal:丟棄與連接的 source_labels 匹配 target_label 的目標。
  • hashmod:將 target_label 設置為串聯 source_labels 的哈希值的 modulus
  • labelmap:將 regex 與所有源標簽名稱匹配,而不僅僅是 source_labels 中指定的名稱。然后將匹配標簽的值復制到 replacement 給出的標簽名稱,并將 replacement 中的匹配組引用 (${1}${2}, …) 替換為其值。
  • labeldrop:將 regex 與所有標簽名稱匹配。任何匹配的標簽都將從標簽集中刪除。
  • labelkeep:將 regex 與所有標簽名稱匹配。任何不匹配的標簽都將從標簽集中刪除。

必須注意 labeldroplabelkeep,以確保在刪除標簽后,指標仍是唯一標記的。

metric_relabel_configs

metric_relabel_configs

  • Metric relabeling is applied to samples as the last step before ingestion. It has the same configuration format and actions as target relabeling. Metric relabeling does not apply to automatically generated timeseries such as up.
  • metric_relabel_configs 應用于樣本,作為攝取前的最后一步。它具有與 relabel_config 相同的配置格式和操作。指標重新標記不適用于自動生成的時間序列,例如 up
  • One use for this is to exclude time series that are too expensive to ingest.
  • 這樣做的一個用途是排除成本太高而無法攝取的時間序列。

兩者的區別

  • relabel_configs 在抓取(采集)之前對任何目標及其標簽進行高級修改。
  • metric_relabel_configs 在攝取(存儲)之前對任何目標及其標簽進行高級修改。

實踐

  • 同樣,采用咱們之前部署 node-exporter 的配置文件。這里就取一小段做演示
  • 這里是將 __meta_kubernetes_namespace 重新標記成 kubernetes_namespace
  - source_labels: [__meta_kubernetes_namespace]action: replacetarget_label: kubernetes_namespace

這樣,就可以看到新增了一個 label

在這里插入圖片描述

就可以用這個重新標記的 label 來做查詢了

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12509.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

css 步驟條虛線漸變色效果實現

效果如圖所示&#xff1a; 思路&#xff1a; 使用元素覆蓋的方式實現視覺上虛線的效果 實現代碼&#xff1a; html布局 <ul class"details-cont"><li class"details-li" v-for"item in 3" :key"item"><div class&qu…

(教程)gpt-4o如何使用,怎么體驗?gpt-4o和gpt-4-turbo的區別

今天OpenAI發布了gpt-4o&#xff0c;我體驗之后&#xff0c;gpt-4o簡直逆天了。中文能力也挺別強。速度比現在的gpt4還要快。 早在 5 月 11 日&#xff0c;Sam 就在推文中表示&#xff1a;OpenAI 并沒有推出 GPT-5&#xff0c;或搜索引擎&#xff0c;但團隊一直在努力研發一些…

Git版本控制工具的原理及應用詳解(一)

本系列文章簡介&#xff1a; 隨著軟件開發的復雜性不斷增加&#xff0c;版本控制成為了開發團隊中不可或缺的工具之一。在過去的幾十年里&#xff0c;版本控制工具經歷了各種發展和演變&#xff0c;其中Git無疑是目前最受歡迎和廣泛應用的版本控制工具之一。 Git的出現為開發者…

Nodejs 第七十章(OSS)

OSS OSS&#xff08;Object Storage Service&#xff09;是一種云存儲服務&#xff0c;提供了一種高度可擴展的、安全可靠的對象存儲解決方案 OSS 對象存儲以對象為基本存儲單元&#xff0c;每個對象都有唯一的標識符&#xff08;稱為對象鍵&#xff09;和數據。這些對象可以…

【保姆級介紹下運維】

&#x1f308;個人主頁: 程序員不想敲代碼啊 &#x1f3c6;CSDN優質創作者&#xff0c;CSDN實力新星&#xff0c;CSDN博客專家 &#x1f44d;點贊?評論?收藏 &#x1f91d;希望本文對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出指正&#xff0c;讓我們共…

編譯安裝Python3

1、源碼安裝 1、安裝依賴軟件包 yum -y install gcc gcc-c zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel # python3.7版本安裝 2、下載 curl -o python3.6.5.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz // 或者 w…

2024年小學生古詩文大會備考:吃透歷年真題和知識點(持續)

根據往年的安排&#xff0c;2024年小學生古詩文大會預計這個月就將啟動。該如何備考2024年小學生古詩文大會呢&#xff1f;根據往期的經驗&#xff0c;只要吃透這些真題和背后的知識點&#xff0c;通過上海小學生古詩文大會的初選&#xff08;初賽&#xff09;一點問題都沒有。…

數據庫SQL語言實戰(八)

目錄 練習題 題目一 題目二 題目三 題目四 題目五 題目六 題目七 題目八 題目九 題目十 練習題 題目一 找出年齡小于20歲且是“物理學院”的學生的學號、姓名、院系名稱,按學號排序 create or replace view test6_01 as select S.sid,S.name,S.dname fr…

Myql 數據庫采用RAID存儲帶來電池充放電問題原因以及處理方式

一. 背景 Mysql作為數據庫, 在某些特定情況下會采用RAID&#xff08;冗余磁盤陣列&#xff09;進行存儲. 以保證數據庫的性能以及可靠性. 1.1. RAID種類 RAID&#xff08;冗余磁盤陣列&#xff0c;Redundant Array of Independent Disks&#xff09;是一種用于數據存儲的技術…

淺析Free RTOS中Queue的應用

目錄 概述 1 認識Queue 1.1 Queue定義 1.2 FreeRTOS中的Queue 1.3 Queue狀態 1.4 Queue內容 1.5 發送和接收Message 1.5.1 發送message 1.5.2 接收Message 2 Queue的特性 2.1 數據存儲 2.2 可被多任務存取 2.3 讀Queue時阻塞 2.4 寫Queue時阻塞 3 使用Queue 3.1…

怎么把圖片上的字去掉

將圖片上的字去掉通常需要使用圖像編輯軟件或在線工具。以下是一些常用的方法和步驟&#xff1a; 使用Adobe Photoshop&#xff1a; 打開Photoshop&#xff0c;導入需要編輯的圖片。 選擇“橡皮擦工具”或“克隆圖章工具”。 如果使用“橡皮擦工具”&#xff0c;調整橡皮擦的…

YOLOv9改進策略 | 低照度圖像篇 | 2024最新改進CPA-Enhancer鏈式思考網絡(適用低照度、圖像去霧、雨天、雪天)

一、本文介紹 本文給大家帶來的2024.3月份最新改進機制&#xff0c;由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations論文提出的CPA-Enhancer鏈式思考網絡&#xff0c;CPA-Enhancer通過引入鏈式思考提示機制&am…

【提示學習論文】TCP:Textual-based Class-aware Prompt tuning for Visual-Language Model

TCP:Textual-based Class-aware Prompt tuning for Visual-Language Model&#xff08;CVPR2024&#xff09; 基于文本的類感知提示調優的VLMKgCoOp為baseline&#xff0c;進行改進&#xff0c;把 w c l i p w_{clip} wclip?進行投影&#xff0c;然后與Learnable prompts進行…

樹莓派|角速度和加速度傳感器

角速度傳感器和加速度傳感器是常見的慣性傳感器&#xff0c;常用于測量物體的旋轉和線性運動。 角速度傳感器&#xff08;Gyroscope&#xff09;用于測量物體繞三個軸&#xff08;X、Y、Z&#xff09;的旋轉速度或角速度。它可以提供關于物體在空間中的旋轉方向和角度變化的信…

時光知識付費系統,如何制定適合自己的課程?該如何做?

在線教育平臺的網課非常多&#xff0c;而且課程之間的相似度非常高&#xff0c;不同是教的老師不同。很多人在制定課程的時候&#xff0c;通常都是被廣告吸引的&#xff0c;之后發現課程不是自己想要的&#xff0c;并不適合自己。 想要制定適合自己的課程&#xff0c;首先要清楚…

計算機視覺與深度學習實戰:以Python為工具,基于特征匹配的英文印刷字符識別

注意:本文的下載教程,與以下文章的思路有相同點,也有不同點,最終目標只是讓讀者從多維度去熟練掌握本知識點。 下載教程:計算機視覺與深度學習實戰-以MATLAB和Python為工具_基于特征匹配的英文印刷字符識別_項目開發案例教程.pdf 一、引言 隨著人工智能技術的飛速發展,計…

用爬蟲解決問題

使用爬蟲解決問題是一個常見的技術手段&#xff0c;特別是在需要自動化獲取和處理大量網頁數據的情況下。以下是一個詳細的步驟說明&#xff0c;包括如何使用 Python 和常用的爬蟲庫&#xff08;如 requests 和 BeautifulSoup&#xff09;來構建一個簡單的爬蟲&#xff0c;解決…

matlab二次插值函數 interp2

在MATLAB中&#xff0c;interp2函數用于執行二維插值操作。該函數可以接受多種不同的插值方法&#xff0c;其中包括linear&#xff08;線性插值&#xff09;和nearest&#xff08;最臨近插值&#xff09;。這兩種插值方法的插值結果存在明顯的差異。 linear&#xff08;線性插值…

引用存儲復制屬性

當執行 this.tableDataSim.push(this.simForm) 時&#xff0c;將 this.simForm 對象添加到 this.tableDataSim 數組中。如果 this.simForm 是一個對象&#xff0c;并且 this.tableDataSim 數組中之前的對象是通過引用方式存儲的&#xff0c;那么之前的對象會被改變&#xff0c;…

使用 Python 和機器學習預測股票漲跌幅

使用 Tushare API 獲取深圳股市歷史數據 引言 這篇文章將會演示如何使用 Tushare Pro API 獲取深圳股市的歷史交易數據&#xff0c;并將數據保存到CSV文件中。Tushare 是一款提供實時和歷史金融市場的數據服務&#xff0c;支持多種語言&#xff0c;具有豐富的數據源和強大的功…