ホームページ  >  記事  >  運用・保守  >  Linux でコンテナの監視とログ分析に Docker を使用するにはどうすればよいですか?

Linux でコンテナの監視とログ分析に Docker を使用するにはどうすればよいですか?

王林
王林オリジナル
2023-07-29 22:49:091287ブラウズ

Linux でコンテナの監視とログ分析に Docker を使用するにはどうすればよいですか?

はじめに:
Docker は、開発者がアプリケーションを簡単に構築、配布、実行できるようにする人気のコンテナ化テクノロジです。ただし、アプリケーションの数が増加するにつれて、コンテナの監視とログ分析の重要性が増します。この記事では、Linux システム上でコンテナーの監視とログ分析に Docker を使用する方法を紹介し、対応するコード例を示します。

1. コンテナのモニタリング

  1. コンテナのモニタリングに cAdvisor を使用する
    cAdvisor は、Google のオープンソースのコンテナモニタリング ツールで、コンテナの CPU、メモリ、ネットワーク、およびコンテナのモニタリング データを提供できます。ディスクです。 cAdvisor を使用してコンテナを監視する手順は次のとおりです。

ステップ 1: cAdvisor のインストールと起動
cAdvisor は次のコマンドでインストールできます:

docker run --detach=true --name=cadvisor --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 gcr.io/cadvisor/cadvisor:latest

起動後、 http://localhost:8080 にアクセスして監視データを表示できます。

ステップ 2: 指定したコンテナーを監視する
次のコマンドを使用して、指定したコンテナーを監視できます。

docker run --detach=true --name=cadvisor --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 gcr.io/cadvisor/cadvisor:latest -c docker_container_name

ここで、docker_container_name は監視対象のコンテナーの名前です。

  1. Prometheus と Grafana を使用したコンテナ監視
    Prometheus は、コンテナ監視に使用できる時系列ベースの監視システムです。 Grafana は、Prometheus によって収集されたデータを表示および分析できるオープンソースのデータ視覚化ツールです。 Prometheus と Grafana を使用したコンテナ監視の手順は次のとおりです:

ステップ 1: Prometheus のインストールと構成
Prometheus は次のコマンドでインストールできます:

docker run -d --name=prometheus -p 9090:9090 -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

構成ファイルprometheus.yml サンプルの内容は次のとおりです。

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']

実行後、http://localhost:9090 にアクセスすると監視データが表示されます。

ステップ 2: Grafana のインストールと構成
次のコマンドを使用して Grafana をインストールできます:

docker run -d --name=grafana -p 3000:3000 grafana/grafana

インストール後、http://localhost:3000 にアクセスして Grafana を構成し、Prometheus を追加します情報元 。その後、収集されたデータを表示および分析するためのダッシュボードを作成できます。

2. ログ分析

  1. コンテナ ログ分析に ELK を使用する
    ELK は、Elasticsearch、Logstash、Kibana で構成される、一般的に使用されるログ分析ソリューションです。コンテナ ログ分析に ELK を使用する手順は次のとおりです:

ステップ 1: Elasticsearch のインストールと構成
Elasticsearch は次のコマンドでインストールできます:

docker run -d --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.15.1

インストール後http://localhost:9200 にアクセスして、Elasticsearch が適切に実行されていることを確認できます。

ステップ 2: Kibana のインストールと構成
Kibana は次のコマンドでインストールできます:

docker run -d --name=kibana -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" docker.elastic.co/kibana/kibana:7.15.1

インストール後、http://localhost:5601 にアクセスして Kibana を構成できます。データソースとしての Elasticsearch。

ステップ 3: Logstash のインストールと構成
Logstash は次のコマンドでインストールできます:

docker run -d --name=logstash -p 5000:5000 -v /path/to/logstash.conf:/usr/share/logstash/pipeline/logstash.conf docker.elastic.co/logstash/logstash:7.15.1

構成ファイル logstash.conf のサンプル内容は次のとおりです:

input {
  beats {
    port => 5000
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
  }
}

インストール後、Logstash はポート 5000 をリッスンし、ログ データを Elasticsearch に送信します。

ステップ 4: コンテナー ログの収集を構成する
次のコマンドを使用してコンテナー ログの収集を構成できます:

docker run -it --name=your_container_name --log-driver=gelf --log-opt gelf-address=udp://localhost:5000 your_image_name

ここで、your_container_name はログを収集するコンテナーの名前、your_image_name はコンテナ名で使用されるイメージ。

結論:
Docker をコンテナの監視とログ分析に使用することで、コンテナの実行ステータスとログ情報をより深く理解できるようになり、アプリケーションの安定性と信頼性が向上します。この記事では、一般的に使用される 2 つのツールとメソッドを紹介し、対応するコード例を示します。読者が Linux システムでコンテナーの監視とログ分析に Docker を使用する際に役立つことを願っています。

以上がLinux でコンテナの監視とログ分析に Docker を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。