tjtjtjのメモ

自分のためのメモです

fluent-plugin-grafana-loki を再度試した

準備

loki

docker run -d -p 3100:3100 \
  --net=loki \
  --name=loki \
  grafana/loki

grafana

docker run -d -p 3000:3000 \
  --net=loki \
  --name=grafana \
  grafana/grafana

fluent-plugin-grafana-loki

docker run -d -p 24224:24224 \
  -e LOKI_URL=http://loki:3100 \
  -v ".../lokiprac/step3_retry/conf/:/fluentd/etc/loki/" \
  --net=loki \
  --name=fluentd \
  grafana/fluent-plugin-grafana-loki

loki.conf

<source>
  @type forward
</source>

<match loki.dev.qwer.**>
  @type loki
  url "#{ENV['LOKI_URL']}"
  username "#{ENV['LOKI_USERNAME']}"
  password "#{ENV['LOKI_PASSWORD']}"
  extra_labels {"env":"dev", "app":"qwer"}
</match>

<match loki.dev.asdf.**>
  @type loki
  url "#{ENV['LOKI_URL']}"
  username "#{ENV['LOKI_USERNAME']}"
  password "#{ENV['LOKI_PASSWORD']}"
  extra_labels {"env":"dev", "app":"asdf"}
</match>

<match loki.prod.qwer.**>
  @type loki
  url "#{ENV['LOKI_URL']}"
  username "#{ENV['LOKI_USERNAME']}"
  password "#{ENV['LOKI_PASSWORD']}"
  extra_labels {"env":"prod", "app":"qwer"}
</match>

<match loki.prod.asdf.**>
  @type loki
  url "#{ENV['LOKI_URL']}"
  username "#{ENV['LOKI_USERNAME']}"
  password "#{ENV['LOKI_PASSWORD']}"
  extra_labels {"env":"prod", "app":"asdf"}
</match>

確認

fluent-cat

$ echo '{"message":"qwer"}' | ./fluent-cat -p 24224 loki.dev.qwer
$ echo '{"message":"asdf"}' | ./fluent-cat -p 24224 loki.dev.asdf

コンテナでping -> fluentd ログドライバー -> fluent-plugin-grafana-loki -> loki に流す。

docker run --log-driver=fluentd \
    --log-opt fluentd-address=localhost:24224 \
    --log-opt tag=loki.prod.qwer \
    alpine:3.9 ping localhost

PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.116 ms
64 bytes from 127.0.0.1: seq=1 ttl=64 time=0.103 ms
64 bytes from 127.0.0.1: seq=2 ttl=64 time=0.086 ms
64 bytes from 127.0.0.1: seq=3 ttl=64 time=0.108 ms
64 bytes from 127.0.0.1: seq=4 ttl=64 time=0.110 ms
64 bytes from 127.0.0.1: seq=5 ttl=64 time=0.096 ms
64 bytes from 127.0.0.1: seq=6 ttl=64 time=0.115 ms
^C
--- localhost ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 0.086/0.104/0.116 ms

今回はうまくいった

まだ https://github.com/grafana/loki/issues/271 が発生するが、retension とかの問題?