찾다
운영 및 유지보수리눅스 운영 및 유지 관리컨테이너 로그 분석 및 예외 모니터링을 위해 Docker를 사용하는 방법

컨테이너 로그 분석 및 예외 모니터링을 위해 Docker를 사용하는 방법

Docker는 애플리케이션과 해당 종속성을 컨테이너에 패키징하여 단일 휴대용 애플리케이션 단위로 실행할 수 있는 인기 있는 컨테이너화 기술입니다. 이 기술을 통해 개발자는 다양한 환경에서 애플리케이션을 쉽게 배포하고 관리할 수 있습니다. 실제 애플리케이션에서는 Docker 컨테이너의 로그 분석 및 예외 모니터링이 매우 필요합니다. 이 문서에서는 다음 측면을 포함하여 컨테이너의 로그 분석 및 예외 모니터링에 Docker를 사용하는 방법을 소개합니다.

  1. Docker 컨테이너 로그
  2. Docker log 명령을 사용하여 로그 보기
  3. 로그 수집 및 분석에 Logstash 사용
  4. 사용 Elasticsearch 데이터 인덱싱 및 저장
  5. 데이터 시각화를 위해 Kibana 사용

먼저 Docker 컨테이너에 대한 로그를 이해해야 합니다.

1. Docker 컨테이너 로그

Docker 컨테이너 로그는 애플리케이션 출력 정보, 오류 정보, 액세스 로그, 시스템 로그 등을 포함하여 컨테이너에 작업 정보를 기록합니다. 이 정보는 애플리케이션 운영 및 유지 관리, 추적, 예외 처리 등에 매우 중요하므로 Docker 컨테이너의 로그를 수집하고 분석해야 합니다.

2. Docker log 명령을 사용하여 로그 보기

Docker는 컨테이너에서 출력된 로그 정보를 보는 데 사용할 수 있는 log 명령을 제공합니다. log 명령어를 이용하면 실행 중인 컨테이너의 실시간 출력 정보를 쉽게 확인할 수 있고, 이 정보를 콘솔에 출력하거나 파일로 저장할 수 있다. 다음은 log 명령어를 사용하여 컨테이너 로그를 보는 예이다.

// 查看容器ID为xxx的日志
docker logs xxx

// 查看容器ID为xxx的日志,输出到控制台并实时更新
docker logs -f xxx 

// 查看容器ID为xxx的最近10条日志
docker logs --tail 10 xxx 

log 명령어를 사용하면 개발자가 쉽게 컨테이너의 실시간 출력 정보를 보고 문제를 빠르게 판단할 수 있는데, 이 방법은 컨테이너에 적합하다. 단일 호스트에서는 컨테이너의 크기가 커지면 수동으로 로그를 보기가 어려워지기 때문에 로그를 자동으로 수집하고 분석하려면 로그 수집 도구를 사용해야 합니다.

3. 로그 수집 및 분석에 Logstash를 사용하세요

Logstash는 로그 수집, 필터링, 변환 및 전송을 위한 오픈 소스 도구입니다. 데이터는 입력 플러그인을 통해 수집되고 필터에 의해 처리 및 변환된 후 출력됩니다. 플러그인이 데이터를 처리합니다. 데이터는 Elasticsearch, Kafka, Amazon S3 등과 같은 대상으로 전송됩니다. Docker 컨테이너의 로그 수집에서 Logstash를 도구로 사용하여 로그를 수집하고 분석할 수 있습니다. 다음은 로그 수집 및 분석을 위해 Logstash를 사용하는 예입니다.

1. Logstash 설치

공식 홈페이지에서 Logstash를 다운로드한 후 압축을 풀어서 사용하세요. Logstash를 시작하는 명령은 다음과 같습니다.

cd logstash-7.15.1/bin
./logstash -f logstash.conf

2. Logstash 구성

Logstash를 컨테이너의 로그 수집 도구로 사용하려면 Logstash에서 입력 플러그인과 출력 플러그인을 구성해야 합니다. 다음은 logstash.conf 구성 파일의 예입니다.

input {
  docker {
    endpoint => "unix:///var/run/docker.sock"
    container_id => "ALL"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
  }
  stdout {
    codec => "json_lines"
  }
}

위 구성 파일은 모든 도커 컨테이너에서 로그 정보를 수집하고 grok 필터를 통해 데이터를 필터링 및 구문 분석한 후 최종적으로 처리된 데이터를 엘라스틱서치.

4. 데이터 인덱싱 및 저장에 Elasticsearch를 사용하세요

Elasticsearch는 다양한 유형의 문서를 검색하는 데 사용할 수 있는 분산 오픈 소스 검색 엔진입니다. Docker 컨테이너의 로그 수집에서는 Elasticsearch를 데이터의 인덱스 및 저장소로 사용합니다. 다음은 데이터 인덱싱 및 저장을 위해 Elasticsearch를 사용하는 예입니다.

1. Elasticsearch 설치

공식 홈페이지에서 Elasticsearch를 다운로드한 후 압축을 풀어 사용하세요. Elasticsearch를 시작하는 명령은 다음과 같습니다.

cd elasticsearch-7.15.1/bin
./elasticsearch

2. Elasticsearch 구성

elasticsearch.yml 파일을 수정하여 ES 클러스터의 이름과 노드 이름을 구성합니다. 다음은 간단한 elasticsearch.yml 구성 파일 예입니다.

cluster.name: docker-cluster
node.name: es-node1
network.host: 0.0.0.0

위 구성은 노드 이름이 es-node1이고 ES 서비스가 사용 가능한 모든 네트워크 인터페이스에 바인딩된 docker-cluster라는 클러스터를 생성한다는 의미입니다.

3. 인덱스 생성

Elasticsearch에서는 먼저 데이터에 대한 인덱스를 생성하고 데이터의 필드를 지정해야 합니다. 샘플 코드는 다음과 같습니다.

PUT /logstash-test
{
  "mappings": {
    "properties": {
      "host": {
        "type": "keyword"
      },
      "message": {
        "type": "text"
      },
      "path": {
        "type": "text"
      },
      "verb": {
        "type": "keyword"
      }
    }
  }
}

위 코드는 Elasticsearch에서 "logstash-test"라는 인덱스를 생성하고 인덱스에 포함되는 필드와 필드 유형을 정의합니다.

5. 데이터 시각화 표시를 위해 Kibana 사용

Kibana는 Elasticsearch에서 얻은 데이터를 표시하는 데 사용할 수 있는 오픈 소스 데이터 시각화 도구입니다. Docker 컨테이너의 로그 수집 프로세스 중에 데이터 시각화를 위해 Kibana를 사용합니다. 다음은 데이터 시각화 표시를 위해 Kibana를 사용하는 예입니다.

1. Kibana 설치

공식 홈페이지에서 Kibana를 다운로드한 후 압축을 풀어 사용하세요. Kibana를 시작하는 명령은 다음과 같습니다:

cd kibana-7.15.1/bin
./kibana

2. 인덱스 템플릿 설정

Kibana에서는 인덱스 템플릿을 설정해야 합니다. 인덱스 템플릿에는 데이터 필드 정의와 쿼리 분석 정보가 포함되어 있습니다. 샘플 코드는 다음과 같습니다.

PUT _index_template/logstash-template
{
  "index_patterns": ["logstash-*"],
  "template": {
    "mappings": {
      "properties": {
        "@timestamp": { "type": "date" },
        "@version": { "type": "keyword" },
        "message": { "type": "text" },
        "path": { "type": "text" }
      }
    }
  }
}

위 코드는 "logstash-template"이라는 이름의 인덱스 템플릿을 생성하고 이름이 "logstash-*"로 시작하는 인덱스에 적용하는 것을 의미합니다.

3. 데이터 시각화

Kibana의 플러그인 패널에서 시각적 템플릿을 설정하고 관리하도록 선택할 수 있습니다. 패널을 통해 꺾은선형 차트, 막대형 차트, 파이 차트 등 다양한 형태의 시각적 차트를 쉽게 생성할 수 있습니다.

요약하자면, 이 글에서는 컨테이너 로그 분석 및 예외 모니터링을 위해 Docker를 사용하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Docker 자체에서는 컨테이너의 로그를 볼 수 있는 log 명령을 제공하지만, 컨테이너 규모가 커질수록 로그를 수동으로 보기가 더 어려워집니다. Logstash, Elasticsearch, Kibana 등의 도구를 사용하면 컨테이너 로그를 자동으로 수집 및 분석하고 컨테이너의 실행 상태를 표시할 수 있어 애플리케이션 운영 및 유지 관리, 오류 처리에 매우 유용합니다.

위 내용은 컨테이너 로그 분석 및 예외 모니터링을 위해 Docker를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Linux : 복구 모드에 들어가는 방법 (및 유지 보수)Linux : 복구 모드에 들어가는 방법 (및 유지 보수)Apr 18, 2025 am 12:05 AM

Linux 복구 모드를 입력하는 단계는 다음과 같습니다. 1. 시스템을 다시 시작하고 특정 키를 눌러 Grub 메뉴를 입력하십시오. 2. (복구 계)로 옵션을 선택하십시오. 3. FSCK 또는 루트와 같은 복구 모드 메뉴에서 작업을 선택하십시오. 복구 모드를 사용하면 단일 사용자 모드에서 시스템을 시작하고 파일 시스템 검사 및 수리를 수행하고 구성 파일 편집 및 기타 작업을 수행하여 시스템 문제를 해결할 수 있습니다.

Linux의 필수 구성 요소 : 초보자를위한 설명Linux의 필수 구성 요소 : 초보자를위한 설명Apr 17, 2025 am 12:08 AM

Linux의 핵심 구성 요소에는 커널, 파일 시스템, 쉘 및 공통 도구가 포함됩니다. 1. 커널은 하드웨어 리소스를 관리하고 기본 서비스를 제공합니다. 2. 파일 시스템은 데이터를 구성하고 저장합니다. 3. Shell은 사용자가 시스템과 상호 작용할 수있는 인터페이스입니다. 4. 일반적인 도구는 일상적인 작업을 완료하는 데 도움이됩니다.

Linux : 기본 구조를 살펴 봅니다Linux : 기본 구조를 살펴 봅니다Apr 16, 2025 am 12:01 AM

Linux의 기본 구조에는 커널, 파일 시스템 및 쉘이 포함됩니다. 1) 커널 관리 하드웨어 리소스 및 UNAME-R을 사용하여 버전을보십시오. 2) Ext4 파일 시스템은 큰 파일과 로그를 지원하며 mkfs.ext4를 사용하여 생성됩니다. 3) Shell은 Bash와 같은 명령 줄 상호 작용을 제공하고 LS-L을 사용하는 파일을 나열합니다.

Linux 운영 : 시스템 관리 및 유지 보수Linux 운영 : 시스템 관리 및 유지 보수Apr 15, 2025 am 12:10 AM

Linux 시스템 관리 및 유지 보수의 주요 단계에는 다음이 포함됩니다. 1) 파일 시스템 구조 및 사용자 관리와 같은 기본 지식을 마스터합니다. 2) 시스템 모니터링 및 리소스 관리를 수행하고 Top, HTOP 및 기타 도구를 사용하십시오. 3) 시스템 로그를 사용하여 문제를 해결하고 JournalCTL 및 기타 도구를 사용하십시오. 4) 자동 스크립트 및 작업 스케줄링을 작성하고 CRON 도구를 사용하십시오. 5) 보안 관리 및 보호 구현, iptables를 통해 방화벽을 구성합니다. 6) 성능 최적화 및 모범 사례를 수행하고 커널 매개 변수를 조정하며 좋은 습관을 개발하십시오.

Linux의 유지 관리 모드 이해 : 필수 요소Linux의 유지 관리 모드 이해 : 필수 요소Apr 14, 2025 am 12:04 AM

시작시 init =/bin/bash 또는 단일 매개 변수를 추가하여 Linux 유지 관리 모드가 입력됩니다. 1. 유지 보수 모드를 입력하십시오 : 그루브 메뉴를 편집하고 시작 매개 변수를 추가하십시오. 2. 파일 시스템을 다시 마운트하여 읽고 쓰기 모드 : MOUNT-OREMOUNT, RW/. 3. 파일 시스템 수리 : FSCK/DEV/SDA1과 같은 FSCK 명령을 사용하십시오. 4. 데이터 손실을 피하기 위해 데이터를 백업하고주의해서 작동합니다.

Debian이 Hadoop 데이터 처리 속도를 향상시키는 방법Debian이 Hadoop 데이터 처리 속도를 향상시키는 방법Apr 13, 2025 am 11:54 AM

이 기사에서는 데비안 시스템에서 Hadoop 데이터 처리 효율성을 향상시키는 방법에 대해 설명합니다. 최적화 전략에는 하드웨어 업그레이드, 운영 체제 매개 변수 조정, Hadoop 구성 수정 및 효율적인 알고리즘 및 도구 사용이 포함됩니다. 1. 하드웨어 리소스 강화는 모든 노드에 일관된 하드웨어 구성, 특히 CPU, 메모리 및 네트워크 장비 성능에주의를 기울일 수 있도록합니다. 전반적인 처리 속도를 향상시키기 위해서는 고성능 하드웨어 구성 요소를 선택하는 것이 필수적입니다. 2. 운영 체제 조정 파일 설명 자 및 네트워크 연결 : /etc/security/limits.conf 파일을 수정하여 파일 설명자의 상한을 늘리고 동시에 시스템에 의해 열 수 있습니다. JVM 매개 변수 조정 : Hadoop-env.sh 파일에서 조정

데비안 syslog를 배우는 방법데비안 syslog를 배우는 방법Apr 13, 2025 am 11:51 AM

이 안내서는 데비안 시스템에서 syslog를 사용하는 방법을 배우도록 안내합니다. Syslog는 로깅 시스템 및 응용 프로그램 로그 메시지를위한 Linux 시스템의 핵심 서비스입니다. 관리자가 시스템 활동을 모니터링하고 분석하여 문제를 신속하게 식별하고 해결하는 데 도움이됩니다. 1. syslog에 대한 기본 지식 syslog의 핵심 기능에는 다음이 포함됩니다. 로그 메시지 중앙 수집 및 관리; 다중 로그 출력 형식 및 대상 위치 (예 : 파일 또는 네트워크) 지원; 실시간 로그보기 및 필터링 기능 제공. 2. Syslog 설치 및 구성 (RSYSLOG 사용) Debian 시스템은 기본적으로 RSYSLOG를 사용합니다. 다음 명령으로 설치할 수 있습니다 : sudoaptupdatesud

데비안에서 Hadoop 버전을 선택하는 방법데비안에서 Hadoop 버전을 선택하는 방법Apr 13, 2025 am 11:48 AM

데비안 시스템에 적합한 Hadoop 버전을 선택할 때는 다음과 같은 주요 요소를 고려해야합니다. 1. 안정성 및 장기 지원 : 안정성과 보안을 추구하는 사용자의 경우 Debian11 (Bullseye)과 같은 데비안 안정 버전을 선택하는 것이 좋습니다. 이 버전은 완전히 테스트되었으며 최대 5 년의 지원주기가있어 시스템의 안정적인 작동을 보장 할 수 있습니다. 2. 패키지 업데이트 속도 : 최신 Hadoop 기능 및 기능을 사용해야하는 경우 Debian의 불안정한 버전 (SID)을 고려할 수 있습니다. 그러나 불안정한 버전에는 호환성 문제와 안정성 위험이있을 수 있습니다. 3. 커뮤니티 지원 및 자원 : 데비안은 풍부한 문서를 제공하고

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전