ログ収集ツールの比較
2375 ワード
ログ・ストレージ・ツール
2つの大きなログ・ストレージ・ツール
elasticsearch
およびloki
.loki
は軽量レベルのストレージであり、全文インデックスを確立しないため、全文を調べるのは複雑である.ログ収集ツール
2つのログ・ストレージ・ツールから2つのログ収集ツールが引き出されます.
es
:fluentd
(fluentd es
プラグインが取り付けられている)、filebeat
loki
:fluentd
(fluentd loki
プラグインが取り付けられている)、promtail
、純docker
コンテナに対してdocker log plugin loki
を使用してdocker
コンテナログ収集を行うことができます.docker
プラグインdocker log plugin loki
sudo docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
オフラインマウント
まず、1台のネットワーク機器で上記のコマンドを使用して
docker log plugin loki
をインストールします.次に、次のパッケージコマンドを実行します.cd /var/lib/docker
tar -czf plugins.tar.gz plugin
その後、
plugins.tar.gz
パケットファイルをオフラインノードにコピーします.オフラインノードでは、以下のコマンドを実行してプラグイン
docker log plugin loki
をインストールします.docker plugin disable grafana/loki-docker-driver:latest -f
docker plugin rm grafana/loki-docker-driver:latest -f
tar -zxf plugins.tar.gz -C /var/lib/docker
service docker restart
docker plugin enable grafana/loki-docker-driver:latest
使用する場合は、
logging
の構成を追加します.たとえばversion: '2'
services:
ui:
image: nginx:1.15
volumes:
- ./static/:/usr/share/nginx/html
ports:
- "8888:80"
network_mode: "bridge"
links:
- "loki"
logging:
driver: loki
options:
loki-url: "http://loki:3100/loki/api/v1/push"
loki:
...
fluentd
およびpromtail
は、いずれもコンテナおよびバイナリ配置方式を有する.ただし、
fluentd
バイナリインストールはruby
環境に依存します.promtail
およびfilebeat
のバイナリ動作は、いずれも他の依存性を有しない.推奨事項:
ノードが
docker
をサポートしている場合:コンテナ化アプリケーション
fluentd
とpromtail
を用いてログを収集する.ログ記憶用
loki
であり、コンテナアプリケーションログのみを収集するには、プラグインdocker log plugin loki
が使用される.ノードが
docker
をサポートしていない場合、ログ記憶用
es
バイナリインストールfilebeat
を選択してログを収集する.ログ記憶用
loki
バイナリインストールpromtail
を選択してログを収集する.