grafana lokiでdocker containerのログを見る

色々紆余曲折を経ましたが、入れれました。

plugin いれる

# docker plugin install grafana/loki-docker-driver:2.9.2 --alias loki --grant-all-permissions

daemon.json設定する

/etc/docker にdaemon.jsonファイルをおく

{
  "debug": true,
  "log-driver": "loki",
  "log-opts": {
    "loki-url": "http://localhost:3100/loki/api/v1/push",
    "loki-batch-size": "400"
  }
}

docker-compose.yamlを変更

environmentとentrypointに以下を追加。grafana上からui上でも設定できる

grafana:
    image: grafana/grafana
 (略)
    environment:
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
    entrypoint:
      - sh
      - -euc
      - |
        mkdir -p /etc/grafana/provisioning/datasources
        cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
        apiVersion: 1
        datasources:
        - name: Loki
          type: loki
          access: proxy 
          orgId: 1
          url: http://loki:3100
          basicAuth: false
          isDefault: true
          version: 1
          editable: false
        EOF
        /run.sh      

dockerをrestart

docker compose down
systemctrl restart docker.service
docker compose up -d

grafanaで見てみる

explore でcontainerが出てくるのでみたいcontainerを選択