使用 loki 收集 查詢 k8s 容器日誌

2022-09-13 22:33:33 字數 1398 閱讀 6912

使用 helm 安裝,預設情況下只部署 loki 和 promtail。

# 新增 repo

helm repo add grafana

# 安裝 chart

helm upgrade --install loki-stack grafana/loki-stack -n loki-stack --create-namespace

由於 promtail 被預設配置為處理 docker 格式的日誌,而筆者使用的是 containerd,需要更改 promtail 的 configmap 設定為處理 cri (containerd) 格式的日誌:

# 修改 configmap 後需要重新部署 promtail

kubectl rollout restart -n loki-stack daemonsets/loki-stack-promtail

部署完成後,會開始自動收集 k8s 容器日誌。

如果還未安裝 grafana,可以參考這裡。

為了在 grafana 查詢日誌,需要把 loki 作為資料來源新增到 grafana

進入查詢頁面

這裡舉例查詢 loki-stack namespace 下所有容器的日誌

點選 show logs 執行搜尋

可以在 log browser 填寫自定義 logql 表示式,然後點選右上角 run query 執行搜尋,簡單應用:

|= "start"- 搜尋 loki-stack namespace 下所有包含 start 字串的日誌

logql 表示式功能豐富,具體參見:

k8s 容器鉤子

有兩個鉤子暴露在容器中 poststart 這個鉤子在建立容器之後立即執行。但是,不能保證鉤子會在容器入口點之前執行。沒有引數傳遞給處理程式。kind deployment metadata name testlifecycle labels spec replicas 1 selector mat...

容器編排工具k8s

如何實踐 1 搜尋kubunetes online kubernetes playground katacoda pod k8s最小排程單位 docker pause 二個容器 deployments 維持pod一定數量 service 解決deploytemnets內部之間的乙個負載均衡 dns解...

k8s的 容器映象

my registry.example.com 5000 example web example v1.0.1 2.綠色部分 registry 埠 3.紫色部分 repository 名字 4.紅色部分 image 名字 5.棕色部分 image 標籤 更新映象 如果您期望每次啟動 pod 時,都強...