⛑️

Kubernetes 上の Pod が出してるログを見るために Helm で Promtail を入れて Loki に送りつける

2022/11/29に公開

やりたいこと

Promtail を使って、Pod の標準出力を追いかけたくなりました!!

やりかた

  1. DaemonSet と ConfigMap を書いて、自分で Promtail を各ワーカーノードに配る
    Grafana Lokiを使ったKubelet Logging入門 が参考になります。

  2. 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