Linux でコンテナの監視とログ分析に Docker を使用するにはどうすればよいですか?
はじめに:
Docker は、開発者がアプリケーションを簡単に構築、配布、実行できるようにする人気のコンテナ化テクノロジです。ただし、アプリケーションの数が増加するにつれて、コンテナの監視とログ分析の重要性が増します。この記事では、Linux システム上でコンテナーの監視とログ分析に Docker を使用する方法を紹介し、対応するコード例を示します。
1. コンテナのモニタリング
ステップ 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 のインストールと構成
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: 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 サイトの他の関連記事を参照してください。