Lokiがログ収集システムを構築

ロキ

ロキとは

Lokiは、Prometheusに触発された、水平方向にスケーラブルで可用性の高いマルチテナントログ集約システムです。非常に費用対効果が高く、操作が簡単になるように設計されています。ログコンテンツのインデックスを作成しませんが、ログストリームごとにタグのセットを設定します

LokiドキュメントのURL:https//grafana.com/docs/loki/latest/

ダウンロードURL:https//github.com/grafana/loki/releases

lokiをインストールします

  • ソフトウェアパッケージを入手する
    ここに画像の説明を挿入します
  • パッケージを解凍します
unzip loki-linux-amd64.zip
[root@localhost loki]# ll
-rwxr-xr-x 1 root root 88166400 May 20  2020 loki-linux-amd64
-rw-r--r-- 1 root root 26432293 Feb 22 11:26 loki-linux-amd64.zip
  • 構成ファイルの書き込み
vim loki.yaml
---
auth_enabled: false

server:
  http_listen_port: 3100

ingester:
  lifecycler:
    address: 192.168.0.181
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s
  max_transfer_retries: 0

schema_config:
  configs:
    - from: 2020-07-01
      store: boltdb
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 168h

storage_config:
  boltdb:
    directory: /loki/index

  filesystem:
    directory: /loki/chunks

limits_config:
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h
  ingestion_rate_mb: 15

chunk_store_config:
  max_look_back_period: 0s

table_manager:
  retention_deletes_enabled: false
  retention_period: 0s
  • ロキを始める
[root@localhost loki]# nohup ./loki-linux-amd64 -config.file=./loki.yaml >./loki.log 2>&1 &
[1] 108017
[root@localhost loki]# ps -fe|grep loki
root     108017  79258  9 16:00 pts/0    00:00:00 ./loki-linux-amd64 -config.file=./loki.yaml

promtailをインストールします

Promtailは、elkのlogstash、filebeatなどと同様に、ログ収集を担当します。dockerコンテナーログを収集する場合は、dockerプラグインを使用してコンテナーログを収集できます。

  • パッケージを入手して解凍します
    ここに画像の説明を挿入します
  • pormtail構成ファイルを構成します
vim promtail.yaml
---
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: ./positions.yaml

clients:
  - url: http://192.168.0.181:3100/loki/api/v1/push

scrape_configs:
 - job_name: zzz
   static_configs:
   - labels:
      app: zzz
      host: 192.168.0.181
      env: prod
      __path__: /var/log/messages
  • プロムテールを開始
nohup ./promtail-linux-amd64 -config.file=./promtail.yaml > ./promtail.log 2>&1 &
[root@localhost loki]# ps -fe|grep promtail
root     113788  79258  1 17:00 pts/0    00:00:00 ./promtail-linux-amd64 -config.file=./promtail.yaml

ログを表示するようにgrafanaを構成する

ここに画像の説明を挿入します
ここに画像の説明を挿入します

Dockerコンテナログを収集する

  • Dockerのバージョンを確認する
[root@localhost local]# docker --version
Docker version 18.09.7, build 2d0083d

dockerのログドライバーをloki13バージョンに変更する必要があります。変更は失敗します

  • プラグインをインストールする
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
[root@localhost local]# docker plugin list
ID                  NAME                DESCRIPTION           ENABLED
5df430512cf6        loki:latest         Loki Logging Driver   true
  • コンテナテストを開始します
docker run -itd -p 80:80 --log-driver=loki --log-opt loki-url="http://192.168.0.181:3100/loki/api/v1/push" --log-opt max-size=50m --log-opt max-file=10 nginx

curlコマンドを使用してnginxにアクセスし、それをgrafanaで表示します

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_33235529/article/details/114873844