ログ収集ツールの比較

2375 ワード

ログ・ストレージ・ツール


2つの大きなログ・ストレージ・ツールelasticsearchおよびloki.lokiは軽量レベルのストレージであり、全文インデックスを確立しないため、全文を調べるのは複雑である.

ログ収集ツール


2つのログ・ストレージ・ツールから2つのログ収集ツールが引き出されます.es:fluentd(fluentd esプラグインが取り付けられている)、filebeatloki: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をサポートしている場合:
    コンテナ化アプリケーションfluentdpromtailを用いてログを収集する.
    ログ記憶用lokiであり、コンテナアプリケーションログのみを収集するには、プラグインdocker log plugin lokiが使用される.
    ノードがdockerをサポートしていない場合、
    ログ記憶用esバイナリインストールfilebeatを選択してログを収集する.
    ログ記憶用lokiバイナリインストールpromtailを選択してログを収集する.