如何在 Linux 上安裝和配置 Prometheus? (Ubuntu 和 CentOS)

已發表: 2019-08-26

如何在 Linux 主機上設置和配置 Prometheus - Crunchify 技巧

什麼是普羅米修斯?

Prometheus 是世界一流的監控系統,默認帶有時間序列數據庫。 它是最初於 2012 年構建的開源系統。

世界 500 強公司一直在使用 Prometheus 來收集其基礎設施和應用程序的指標。 Prometheus 支持多維數據模型,時間序列數據主要標識為 Metrics。

沒有特殊的數據存儲要求,因為 Prometheus 在其自己的安裝中使用了時序Time Series DB (TSDB) 部分。

在本教程中,我們將通過超級簡單的步驟在 Linux Ubuntu 和 CentOS 上安裝 Prometheus。

讓我們開始吧:

Step-1 驗證 Linux 操作系統版本

命令: cat /etc/os-release

以下步驟適用於Ubuntu Linux OS

Step-2 創建 Prometheus 數據和配置文件夾

命令

讓我們驗證兩個文件夾:

Step-3 更改數據文件夾的所有權

這是避免後續步驟中的權限問題所必需的。

Step-4 創建 prometheus.yml 文件

轉到文件夾/crunchify/prometheus/conf並創建文件prometheus.yml

prometheus.yml 文件內容:

Note:在上述文件中 - 將 IP 替換為您的主機/虛擬機 IP。

這是本教程的Directory structure

Linux 上的 Prometheus 設置 - 目錄樹結構

步驟 5 確保您已在 VM 上安裝 Docker。

如何檢查 Docker 是否安裝?

這意味著 docker 未安裝在您的主機/VM 上。 請完全按照 Docker 安裝教程在您的主機/VM 上安裝 Docker。

Step-6 安裝 Docker Compose

Pre-requisite是在執行以下步驟之前先安裝 Docker。 (第 5 步)

執行以下三個命令:

Step-7 驗證 Docker Compose 版本

恭喜 - docker compose 已成功安裝在您的 VM 上。

Step-8 創建 docker-compose.yml 文件

轉到文件夾 /crunchify/prometheus。

docker-compose.yml 文件內容:

Step-9 安裝 Prometheus Start/Stop 作為系統控制的一部分。

創建文件vi /etc/systemd/system/prometheus.service

prometheus.service 文件內容:

Step-10 啟動 Prometheus 服務

Prometheus 服務器在 Linux 上啟動:

Prometheus 服務器在 Linux Ubuntu 上啟動

恭喜!! 您已在主機上成功啟動 Prometheus。

讓我們玩一下 Prometheus Dashboard 和 UI


如何驗證 Prometheus 是否正常運行?

Prometheus 指標端點 - Crunchify 提示


如何使用 Prometheus 驗證主機或虛擬機的 UP 狀態?

如何使用 Prometheus 驗證主機或虛擬機的 UP 狀態?


如何在瀏覽器上查看 Prometheus 配置?

如何在瀏覽器上查看 Prometheus 配置


Prometheus 運行時信息

正常運行時間2019-08-26 03:07:24.244852166 +0000 UTC
工作目錄/普羅米修斯
配置重新加載成功的
上次成功的配置重新加載2019-08-26 03:07:24 +0000 UTC
頭塊533
頭部時間序列533
WAL 腐敗0
協程36
GOMAXPROCS 1
GOGC
神蟲
存儲保留15天

普羅米修斯構建信息

版本2.12.0
修訂43acd0e2e93f9f70c49b2267efa0124f1e759e86
分支
構建用戶根@7a9dbdbe0cc7
建造日期20190818-13:53:16
版本去1.12.8

Prometheus 命令行標誌:

alertmanager.notification-queue-容量10000
alertmanager.timeout 10s
配置文件/etc/prometheus/prometheus.yml
日誌格式日誌文件
日誌級別信息
query.lookback-delta 5m
query.max-並發20
query.max-samples 50000000
查詢超時2m
rules.alert.for-grace-period 10m
rules.alert.for-outage-tolerance 1小時
rules.alert.resend-delay 1m
storage.remote.flush-deadline 1m
storage.remote.read-concurrent-limit 10
storage.remote.read-sample-limit 50000000
storage.tsdb.allow-overlapping-blocks 錯誤的
storage.tsdb.max-block-duration 36小時
storage.tsdb.min-block-duration 2小時
storage.tsdb.no-lockfile 錯誤的
storage.tsdb.path /普羅米修斯
storage.tsdb.retention 0s
storage.tsdb.retention.size 0B
storage.tsdb.retention.time 0s
storage.tsdb.wal-壓縮錯誤的
storage.tsdb.wal 段大小0B
web.console.libraries 控制台庫
web.console.templates 控制台
web.cors.origin .*
web.enable-admin-api 錯誤的
web.enable-生命週期錯誤的
web.external-url
web.listen-address 0.0.0.0:9090
web.max-連接512
web.page-title Prometheus 時序採集和處理服務器
web.read-timeout 5m
web.route-前綴/

你都準備好了。 您已successfully installed Prometheus並驗證了它的所有功能。