Prometheus 學習筆記 - 基本架構與資料結構

Prometheus Overview 架構 Exporter: 要被採集的目標 job 中曝露 metrics 的組件,負責轉換資訊成 prometheus 可解讀的格式。由於某些早於 prometheus 的 service 因為某些原因,不想主動在服務中曝露 metrics,故可以用一些額外的 exporter 將這些 service 中的 metrics 轉成 prometheus 格式,並曝露埠。 node exporter mysql exporter Push Gateway: 由於有些任務時間太短,可能不到 prometheus pull 的週期,可讓這些 jobs 主動把 metrics push 到這個 push gateway,好讓 premetheus server 可以 pull。 Prometheus Server Retrieval(retrieval system): 主要負責 pull 指定的 target # /etc/prometheus/prometheus.yml scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "node_exporter" static_configs: - targets: ["localhost:9100"] TSDB: 時間序列資料庫,存放 pull 到的 metrics HTTP Server: 為 PromeQL 查詢提供接口 Service Discovery: kubernetes: 自動發現 k8s 中 pod 增加減少以及 probe 異動等等 file_sd: 通過 config 實現服務的自動發現 Alert Manager: 當 prometheus server 發現某某某 job 已經達到設定好的通知閾值進行通知的 service。 PromeQL: 無論是自帶 web UI 或是串接 Grafana,都是通過 http 進行 PromeQL 查詢後做視覺化處理 TSDB 中的時間序列資料。 資料結構 下面範例中會有更詳細說明 ...

Raspberry pi 4 + piCorePlayer 7.0.0 折騰筆記

前言 鑒於想要剛好逛到 Raspberry pi 4 出了(2019),剛好手邊又有兩顆閒置的喇叭,於是產生了做一套網路串流音樂撥放器。用到的硬體如下: Raspberry pi 4b 4G ver 1.2 樹莓派的部分選用 4G 版本,由於 4G 跟 8G 版本差價有點大,僅作為多媒體撥放器,應該不需要那麼大量的記憶體,故降梯成本僅選用 4G 版本。 至於 1.2 版本差在哪裡可以參考這篇文章,主要修正了 type-C 供電問題。 Argon ONE m.2 由於 pi 4b 的 cpu 較 3b+ 升級很多,同時發熱量也提升了,故得選用一個同時具有散熱、美觀、擴充的外殼,剛好手邊有汰換下來的 m.2 SATA SSD,於是選擇了 Argon ONE m.2。 直流電源供應器 儘管線性電源如 Keces P3 或便宜一點 ifi iPower X 或是老虎魚都是很好的穩定 5V 直流電源供應器,但由於使用樹莓派就是不想花大錢,用比系統本身還高價如此多的周邊,似乎有點本末倒置,魚是只用了手機的 type-C 5V/3A 變壓器作為電源供應器。 硬體安裝 硬體安裝部分不在這次探討範圍,由於每個人使用的外殼均不相同,文章中就假設是裸機設定。 系統選擇 由於是第一次接觸 Raspberry pi as audio player,一開始是看到 Volumio 與 Moode 等等,也實際安裝了一次 Volumio,但由於慧根不夠(X),或是不知道撞到了什麼,只要不小心設定錯音訊,便會導致系統無法撥音樂,也懶得 debug 了,於是想說乾脆來挑戰看看 piCorePlayer。 ...