六花踏雪

六花踏雪

LogstashはデータをLokiにプッシュします

logstash がデータを loki に送信する#

logstash を実行する#

# logstash
version: '3'
services:
  logstash:
    image: docker.elastic.co/logstash/logstash:8.12.0
    container_name: logstash_server
    restart: always
    ports:
      - 8065:8065
    environment:
      - LS_JAVA_OPTS=-Xmx1024m -Xms1024m
    volumes:
      - ./config/logstash.conf:/etc/logstash/conf.d/logstash.conf # ホストの設定を読み込む
    entrypoint:
      - logstash
      - -f
      - /etc/logstash/conf.d/logstash.conf
    logging:
      driver: "json-file"
      options:
        max-size: "200m"
        max-file: "3"

logstash を実行した後にコンテナに入る#

# logstash-output-lokiプラグインをインストールする
logstash-plugin install logstash-output-loki

logstash の設定を変更する#

// logstash.conf
input {
  tcp {
      port=> 8065
      codec => "json"
  }
}

output {
     loki{
      url => "http://loki:3100/loki/api/v1/push"
  }
}

logstash を再起動する

loki を実行する#

# loki
version: '3'
services:
  loki:
    image: grafana/loki
    container_name: loki
    restart: always
    ports:
      - "3100:3100"
    command: -config.file=/etc/loki/local-config.yaml

grafana を実行する#

version: '3'
services:
    grafana:
      image: grafana/grafana
      container_name: grafana
      hostname: grafana
      restart: always
      ports:
          - "3000:3000"

grafana に入って左側のメニューを開き、Administration をクリックする

Untitled

Plugin をクリックし、loki を検索する

Untitled 1

オプションに入ったら Add new data source をクリックする

Untitled 2

loki のアドレスを入力する、http://localhost:3100

Untitled 3

Untitled 4

設定成功

ログをクエリする#

左側のメニューで、explore を選択し、フィルタ条件を選んだ後、Run query でクエリを実行する

Untitled 5

参考

https://github.com/grafana/loki/issues/9755

https://grafana.com/docs/loki/latest/send-data/logstash/

https://github.com/grafana/loki/issues/2886

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。