Linux で高可用性コンテナ ログ管理を構成する方法
コンテナ テクノロジの急速な発展に伴い、システムのスケーラビリティと信頼性を向上させるためにコンテナ化された展開を採用する企業が増えています。コンテナ化された環境では、コンテナの実行状況の管理と監視を容易にするために、コンテナのログを一元管理することが非常に重要です。
この記事では、Linux 上で高可用性コンテナーのログ管理を構成する方法を紹介し、読者がよりよく理解して実践できるようにコード例を示します。
1. 適切なログ管理ツールを選択します
コンテナ ログ管理ツールを選択するときは、次の点を考慮する必要があります:
一般的なコンテナ ログ管理ツールには、ELK (Elasticsearch、Logstash、Kibana)、Fluentd、Prometheus などが含まれます。
2. ELK (Elasticsearch、Logstash、Kibana) のインストールと構成
ELK は、Elasticsearch、Logstash、Kibana の 3 つのコンポーネントで構成される人気のあるコンテナ ログ管理ツールです。以下では、CentOS を例として、ELK のインストールと設定方法を紹介します。
sudo yum install java-1.8.0-openjdk -y sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF [elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install elasticsearch -y sudo systemctl enable elasticsearch sudo systemctl start elasticsearch
sudo tee /etc/yum.repos.d/logstash.repo <<EOF [logstash] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install logstash -y sudo systemctl enable logstash sudo systemctl start logstash
sudo tee /etc/yum.repos.d/kibana.repo <<EOF [kibana] name=Kibana repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install kibana -y sudo systemctl enable kibana sudo systemctl start kibana
Logstash 構成ファイル /etc/logstash/conf.d/logstash.conf
に、次の内容を追加します:
input { beats { port => 5044 } } output { elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } }
Kibana の構成ファイル /etc/kibana/kibana.yml
に次の内容を追加します:
server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]
Logstash と Kibana を再起動しますservice:
sudo systemctl restart logstash sudo systemctl restart kibana
ELK のインストールと構成が完了したので、Kibana の Web インターフェイスを介してコンテナ ログ データにアクセスし、クエリを実行できるようになります。
3. コンテナ ログ管理に Fluentd を使用する
Fluentd も人気のあるコンテナ ログ管理ツールで、その設計コンセプトはシンプル、軽量、スケーラブルです。以下では、Ubuntu を例として、Fluentd のインストールと設定方法を紹介します。
curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-focal-td-agent4.sh | sh sudo systemctl enable td-agent sudo systemctl start td-agent
Fluentd の設定ファイルの編集/etc/td-agent/ td -agent.conf
、次の内容を追加します:
<source> @type tail path /var/log/containers/*.log pos_file /var/log/td-agent/td-agent.log.pos tag kube.* format json time_format %Y-%m-%dT%H:%M:%S.%NZ read_from_head true </source> <match label1.**> @type elasticsearch host localhost port 9200 logstash_format true flush_interval 5s </match>
Fluentd サービスを再起動します:
sudo systemctl restart td-agent
これで、Fluentd がインストールおよび構成され、コンテナー ログ データを収集して保存できるようになりました。 。
結論
コンテナログ管理は、コンテナ環境の安定した運用とトラブルシューティングを確保するために非常に重要です。この記事では、Linux 上で高可用性コンテナー ログ管理を構成する方法について説明し、ELK と Fluentd のインストールと構成の例を示します。読者は、自分のニーズに応じてコンテナ ログ管理に適切なツールを選択し、例に従って構成して使用できます。
参考:
以上がLinux で高可用性コンテナーのログ管理を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。