⛑️
Kubernetes 上の Pod が出してるログを見るために Helm で Promtail を入れて Loki に送りつける
やりたいこと
Promtail を使って、Pod の標準出力を追いかけたくなりました!!
やりかた
-
DaemonSet と ConfigMap を書いて、自分で Promtail を各ワーカーノードに配る
Grafana Lokiを使ったKubelet Logging入門 が参考になります。 -
Helm を使って Promtail のセットアップを行う
今回は、こちらの Kubernetesアプリケーションのモニタリングことはじめ を参考にしながらセットアップをしてみました。
やったこと
Helm で Grafana のリポジトリを追加する
$ helm repo add grafana https://grafana.github.io/helm-charts
$ helm repo update
Promtail をインストールする
Promtail を 使って、Grafana Cloud の Loki にログを転送したいと思いますので、転送先となる URL を渡すための YAML ファイルを作成しておきます。
promtail.yml
config:
clients:
- url: "https://!!!HASHSTRINGS!!!@logs-prod3.grafana.net/loki/api/v1/push"
そして、先ほど作成した YAML ファイルを引数にして、 Helm コマンドで Promtail を導入していきます。
$ kubectl create namespace monitoring
$ helm upgrade --install --values promtail.yml --namespace monitoring promtail grafana/promtail
ちゃんとログが送られているかは、ワーカーノードごとに作成された Promtail の Pod ログを見ると分かります。
全台見るのが面倒くさいときは、以下のようにセレクターを使って横断で見ることも出来ます。
$ kubectl -n monitoring logs -f -l app.kubernetes.io/name=promtail
やったー!!
Grafana Cloud 上で Loki のログが見えるようになりました。
Discussion