>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 컨테이너 모니터링 및 로그 분석에 Docker를 사용하는 방법은 무엇입니까?

Linux에서 컨테이너 모니터링 및 로그 분석에 Docker를 사용하는 방법은 무엇입니까?

王林
王林원래의
2023-07-29 22:49:091320검색

Linux에서 컨테이너 모니터링 및 로그 분석에 Docker를 사용하는 방법은 무엇입니까?

인용문:
Docker는 개발자가 애플리케이션을 더 쉽게 구축, 배포 및 실행할 수 있게 해주는 인기 있는 컨테이너화 기술입니다. 그러나 애플리케이션 수가 증가함에 따라 컨테이너 모니터링 및 로그 분석이 점점 더 중요해지고 있습니다. 이 문서에서는 Linux 시스템에서 컨테이너 모니터링 및 로그 분석을 위해 Docker를 사용하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. 컨테이너 모니터링

  1. 컨테이너 모니터링에 cAdvisor 사용
    cAdvisor는 컨테이너의 CPU, 메모리, 네트워크, 디스크 등 모니터링 데이터를 제공할 수 있는 Google의 오픈소스 컨테이너 모니터링 도구입니다. cAdvisor를 사용하여 컨테이너를 모니터링하는 단계는 다음과 같습니다.

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 및 Grafana 사용
    Prometheus는 컨테이너 모니터링에 사용할 수 있는 시계열 기반 모니터링 시스템입니다. Grafana는 Prometheus에서 수집한 데이터를 표시하고 분석할 수 있는 오픈 소스 데이터 시각화 도구입니다. 컨테이너 모니터링을 위해 Prometheus 및 Grafana를 사용하는 단계는 다음과 같습니다.

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. 컨테이너 로그 분석에 ELK 사용
    ELK는 Elasticsearch, Logstash, Kibana로 구성되어 흔히 사용되는 로그 분석 솔루션입니다. ELK를 사용한 컨테이너 로그 분석 단계는 다음과 같습니다.

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:/를 방문하여 Elasticsearch가 제대로 작동하는지 확인할 수 있습니다. /localhost:9200 실행.

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를 사용하면 컨테이너의 실행 상태와 로그 정보를 더 잘 이해할 수 있어 애플리케이션의 안정성과 신뢰성이 향상됩니다. 이 기사에서는 일반적으로 사용되는 두 가지 도구와 방법을 소개하고 해당 코드 예제를 제공하여 Linux 시스템에서 컨테이너 모니터링 및 로그 분석을 위해 Docker를 사용할 때 도움이 되기를 바랍니다.

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

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