>  기사  >  운영 및 유지보수  >  Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법

Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법

王林
王林원래의
2023-07-06 15:42:18696검색

Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법

컨테이너 기술의 급속한 발전과 함께 점점 더 많은 기업이 시스템의 확장성과 안정성을 향상시키기 위해 컨테이너화된 배포를 채택하고 있습니다. 컨테이너화된 환경에서는 컨테이너의 실행 상태를 쉽게 관리하고 모니터링하기 위해서는 컨테이너 로그를 중앙에서 관리하는 것이 매우 중요합니다.

이 글에서는 Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법을 소개하고 독자가 더 잘 이해하고 실습할 수 있도록 코드 예제를 제공합니다.

1. 적절한 로그 관리 도구를 선택하세요

컨테이너 로그 관리 도구를 선택할 때 다음 측면을 고려해야 합니다.

  1. 컨테이너화된 환경 지원: 컨테이너화된 환경을 지원할 수 있고 쉽게 수집하고 관리할 수 있는 로그 관리 도구를 선택하세요. 컨테이너 로그 데이터를 분석합니다.
  2. 고가용성: 컨테이너 로그의 지속적인 가용성을 보장하려면 로그 데이터 손실이나 중단을 방지하기 위해 고가용성을 지원하는 로그 관리 도구를 선택해야 합니다.
  3. 사용 및 배포가 용이함: 사용 및 배포가 쉬운 로그 관리 도구를 선택하면 시스템 관리자의 업무 부담을 줄일 수 있습니다.

일반적인 컨테이너 로그 관리 도구에는 ELK(Elasticsearch, Logstash, Kibana), Fluentd, Prometheus 등이 포함됩니다.

2. ELK(Elasticsearch, Logstash, Kibana) 설치 및 구성

ELK는 Elasticsearch, Logstash 및 Kibana의 세 가지 구성 요소로 구성된 인기 있는 컨테이너 로그 관리 도구입니다. 다음은 CentOS를 예로 들어 ELK를 설치하고 구성하는 방법을 소개합니다.

  1. Elasticsearch 설치
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
  1. Logstash 설치
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
  1. Kibana 설치
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
  1. Logstash 구성

Logstash 구성 파일 /etc/logstash/conf.d/log stash에서. conf , 다음 콘텐츠 추가: <code>/etc/logstash/conf.d/logstash.conf中,添加以下内容:

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
  }
}
  1. 配置Kibana

在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。

  1. 安装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
  1. 配置Fluentd

编辑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>

    Configure Kibana

    Kibana 구성 파일 /etc/kibana/kibana.yml에서 다음 콘텐츠를 추가합니다. :

    sudo systemctl restart td-agent

    Logstash 및 Kibana 서비스 다시 시작:

    rrreee

    이제 ELK가 설치 및 구성되었으므로 Kibana의 웹 인터페이스를 통해 컨테이너 로그 데이터에 액세스하고 쿼리할 수 있습니다.

    3. 컨테이너 로그 관리에 Fluentd를 사용하세요

    Fluentd는 또 다른 인기 있는 컨테이너 로그 관리 도구입니다. 디자인 컨셉은 간단하고 가벼우며 확장 가능합니다. 다음에서는 Ubuntu를 예로 들어 Fluentd를 설치하고 구성하는 방법을 소개합니다.
  • Fluentd 설치
  • rrreee
  • Fluentd 구성
  • Fluentd 구성 파일 /etc/td-agent/td-agent.conf를 편집하고 다음 콘텐츠를 추가하세요.
rrreee🎜다시 시작하세요. Fluentd 서비스 :🎜rrreee🎜이제 컨테이너 로그 데이터를 수집하고 저장하도록 Fluentd가 설치 및 구성되었습니다. 🎜🎜결론🎜🎜컨테이너 환경의 안정적인 운영과 문제 해결을 위해서는 컨테이너 로그 관리가 매우 중요합니다. 이 문서에서는 Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법을 설명하고 ELK 및 Fluentd의 설치 및 구성 예를 제공합니다. 독자는 자신의 필요에 따라 컨테이너 로그 관리에 적합한 도구를 선택하고 예제에 따라 구성하고 사용할 수 있습니다. 🎜🎜참조: 🎜🎜🎜https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html🎜🎜https://www.elastic.co/guide/en / logstash/current/installing-logstash.html🎜🎜https://www.elastic.co/guide/en/kibana/current/rpm.html🎜🎜https://fluentbit.io/🎜🎜https://docs . fluentd.org/v1.0/articles/docker-logging-efk-compose🎜🎜

위 내용은 Linux에서 고가용성 컨테이너 로그 관리를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.