博客 / 詳情

返回

Promtail 對接日誌最佳實踐

Promtail 介紹

Promtail 是由 Grafana Labs 開發的日誌收集代理,主要用於從本地系統或容器中採集日誌,並將其發送到 Loki 或兼容 Loki 協議的系統,本次為對接到觀測雲。

觀測雲

觀測雲是一款專為 IT 工程師打造的全鏈路可觀測產品,它集成了基礎設施監控、應用程序性能監控和日誌管理,為整個技術棧提供實時可觀察性。這款產品能夠幫助工程師全面瞭解端到端的用户體驗追蹤,瞭解應用內函數的每一次調用,以及全面監控雲時代的基礎設施。此外,觀測雲還具備快速發現系統安全風險的能力,為數字化時代提供安全保障。

實驗環境

  • 操作系統:Ubuntu 22.04
  • 日誌源:/var/log/message
  • 採集工具:Promtail
  • 目標平台:觀測雲(通過本地 DataKit,地址為 http://localhost:9529/v1/write/promtail)

部署 DataKit

DataKit 是一個開源的、跨平台的數據收集和監控工具,由觀測雲開發並維護。它旨在幫助用户收集、處理和分析各種數據源,如日誌、指標和事件,以便進行有效的監控和故障排查。DataKit 支持多種數據輸入和輸出格式,可以輕鬆集成到現有的監控系統中。

登錄觀測雲控制枱,在「集成」 - 「DataKit」選擇對應安裝方式,當前採用 Linux 主機部署 DataKit。

圖片

開啓 Promtail 採集器

進入 DataKit 安裝目錄下的 /usr/local/datakit/conf.d/log 目錄,複製promtail.conf.sample 並命名為 promtail.conf。示例如下:

cp promtail.conf.sample  promtail.conf

備註:

  • 對於 v0.3.0 及之前的版本需要配置 legacy = true,即使用 POST /api/prom/push,可以用 Legacy 版本 API 處理接收 Promtail 的日誌數據。
  • 之後的版本使用默認配置,即 legacy = false,即使用 POST /loki/api/v1/push

實驗環境部署

下載安裝(本次驗證僅為主機安裝,也可 kubernetes 部署)

wget https://github.com/grafana/loki/releases/latest/download/promtail-linux-amd64.zip
unzip promtail-linux-amd64.zip
chmod +x promtail-linux-amd64
sudo mv promtail-linux-amd64 /usr/local/bin/promtail
#驗證 Promtail 安裝成功
promtail --version

配置 Promtail

vim /etc/promtail/promtail.yaml
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://localhost:9529/v1/write/promtail?source=promtail

scrape_configs:
  - job_name: system
    static_configs:
      - targets:
          - localhost
        labels:
          job: varlogs
          __path__: /var/log/message

運行 Promtail

#前台測試
promtail -config.file=/etc/promtail/promtail.yaml
#後台測試
sudo tee /etc/systemd/system/promtail.service > /dev/null <<EOF
[Unit]
Description=Promtail Log Collector
After=network.target

[Service]
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/promtail.yaml
Restart=always
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target
EOF
#追加日誌測試
echo "test log from promtail at $(date)" | sudo tee -a /var/log/message

驗證

查看採集器狀態

圖片

在觀測雲中查看日誌功能 Promtail 數據源日誌

圖片

總結

觀測雲通過對接 Promtail 後,無需額外適配即可協助用户使用 Promtail 將主機和容器日誌實時推送到觀測雲;通過標籤化管理和與指標、追蹤數據的統一關聯,幫助工程師迅速實現多維度分析、故障定位和業務洞察,有效降低了日誌管理複雜度和運維成本,提升了全鏈路觀測的效率與準確性。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.