Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법
컨테이너 기술의 급속한 발전과 함께 점점 더 많은 기업이 시스템의 확장성과 안정성을 향상시키기 위해 컨테이너화된 배포를 채택하고 있습니다. 컨테이너화된 환경에서는 컨테이너의 실행 상태를 쉽게 관리하고 모니터링하기 위해서는 컨테이너 로그를 중앙에서 관리하는 것이 매우 중요합니다.
이 글에서는 Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법을 소개하고 독자가 더 잘 이해하고 실습할 수 있도록 코드 예제를 제공합니다.
1. 적절한 로그 관리 도구를 선택하세요
컨테이너 로그 관리 도구를 선택할 때 다음 측면을 고려해야 합니다.
일반적인 컨테이너 로그 관리 도구에는 ELK(Elasticsearch, Logstash, Kibana), Fluentd, Prometheus 등이 포함됩니다.
2. ELK(Elasticsearch, Logstash, Kibana) 설치 및 구성
ELK는 Elasticsearch, Logstash 및 Kibana의 세 가지 구성 요소로 구성된 인기 있는 컨테이너 로그 관리 도구입니다. 다음은 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/log stash에서. conf < /code>, 다음 콘텐츠 추가: <code>/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服务:
sudo systemctl restart logstash sudo systemctl restart kibana
现在,ELK已经安装完成并配置好了,可以通过Kibana的Web界面访问和查询容器日志数据。
三、使用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>
Kibana 구성 파일 /etc/kibana/kibana.yml
에서 다음 콘텐츠를 추가합니다. :
sudo systemctl restart td-agent
Logstash 및 Kibana 서비스 다시 시작:
rrreee이제 ELK가 설치 및 구성되었으므로 Kibana의 웹 인터페이스를 통해 컨테이너 로그 데이터에 액세스하고 쿼리할 수 있습니다.
3. 컨테이너 로그 관리에 Fluentd를 사용하세요
/etc/td-agent/td-agent.conf
를 편집하고 다음 콘텐츠를 추가하세요. 위 내용은 Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!