>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 컨테이너 모니터링을 구성하는 방법

Linux에서 컨테이너 모니터링을 구성하는 방법

PHPz
PHPz원래의
2023-07-06 13:15:321504검색

Linux에서 컨테이너 모니터링을 구성하는 방법

소개:
컨테이너 기술이 발전함에 따라 점점 더 많은 기업이 컨테이너를 사용하여 애플리케이션을 배포하는 것을 선택하고 있습니다. 그러나 컨테이너를 사용하면 컨테이너의 상태와 성능을 모니터링하고 관리하는 방법과 같은 새로운 과제도 발생합니다. 이 문서에서는 Linux에서 컨테이너 모니터링을 구성하는 방법을 설명하고 해당 코드 예제를 제공합니다.

1. Docker 및 Docker Compose 설치
먼저 Linux에 Docker 및 Docker Compose를 설치해야 합니다. Docker는 컨테이너를 생성하고 관리하기 위한 오픈 소스 컨테이너 엔진입니다. Docker Compose는 여러 Docker 컨테이너 애플리케이션을 정의하고 관리하기 위한 도구입니다. 다음은 Ubuntu에 Docker 및 Docker Compose를 설치하는 명령입니다.

# 安装Docker
sudo apt-get update
sudo apt-get install docker.io

# 安装Docker Compose
sudo apt-get install docker-compose

2. Prometheus 시작
Prometheus는 컨테이너의 상태와 성능을 모니터링하는 데 사용할 수 있는 오픈 소스 시스템 모니터링 및 경고 도구입니다. 다음은 Docker Compose를 사용하여 Prometheus를 시작하는 방법에 대한 샘플 구성 파일 docker-compose.yml입니다.

version: '3'
services:
  prometheus:
    image: prom/prometheus
    ports:
      - 9090:9090
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml

이 구성 파일에서는 Prometheus에서 공식적으로 제공하는 Docker 이미지를 사용하고 Prometheus 포트를 호스트의 9090 포트에 매핑합니다. . 또한 로컬 prometheus.yml 구성 파일을 컨테이너 내부의 /etc/prometheus/ 디렉터리에 마운트합니다.

3. Prometheus 구성
다음으로 컨테이너를 모니터링하도록 Prometheus를 구성해야 합니다. 이전 단계에서는 로컬 prometheus.yml 구성 파일을 컨테이너에 마운트했습니다. 이 구성 파일을 편집하여 모니터링해야 하는 대상을 정의할 수 있습니다. 다음은 간단한 prometheus.yml 예제입니다.

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'docker-containers'
    static_configs:
      - targets: ['cadvisor:8080']

이 예제 구성에서는 Docker 컨테이너를 모니터링하기 위해 docker-containers라는 작업을 정의합니다. 모니터링 대상을 cadvisor:8080으로 설정했습니다. 이는 cadvisor 컨테이너의 8080 포트를 모니터링한다는 의미입니다. cadvisor는 컨테이너 성능 데이터를 수집하는 데 사용할 수 있는 오픈 소스 컨테이너 모니터링 도구입니다.

4. cAdvisor 시작
Prometheus가 컨테이너의 상태와 성능을 모니터링하려면 cAdvisor를 통해 이 데이터를 수집해야 합니다. cAdvisor는 Docker에서 실행할 수 있는 오픈 소스 컨테이너 모니터링 도구입니다. 다음은 Docker Compose를 사용하여 cAdvisor를 시작하는 샘플 구성 파일 docker-compose.yml입니다.

version: '3'
services:
  cadvisor:
    image: google/cadvisor
    ports:
      - 8080:8080
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker:/var/lib/docker:ro

이 구성 파일에서는 Google에서 공식적으로 제공하는 cAdvisor 이미지를 사용하고 cAdvisor 포트를 호스트의 8080 포트에 매핑합니다. 또한 cAdvisor가 관련 컨테이너 데이터에 액세스할 수 있도록 컨테이너 내부에 일부 호스트 디렉터리를 마운트했습니다.

5. Grafana 구성
Grafana는 Prometheus에서 수집한 모니터링 데이터를 표시하는 데 사용할 수 있는 오픈 소스 시각적 모니터링 및 분석 도구입니다. 다음은 Docker Compose를 사용하여 Grafana를 시작하는 방법에 대한 샘플 구성 파일 docker-compose.yml입니다.

version: '3'
services:
  grafana:
    image: grafana/grafana
    ports:
      - 3000:3000

이 구성 파일에서는 Grafana에서 공식적으로 제공하는 Docker 이미지를 사용하고 Grafana의 포트를 호스트의 3000 포트에 매핑합니다.

6. 컨테이너 모니터링 사용
이제 Linux에서 컨테이너 모니터링 구성 단계를 완료했습니다. 브라우저에서 Prometheus와 Grafana의 주소에 접속하면 모니터링 데이터를 볼 수 있습니다. 다음은 이러한 도구에 액세스하기 위한 예시 주소입니다.

  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3000

Grafana에서는 컨테이너 모니터링 데이터를 표시하는 대시보드를 만들 수 있습니다. Prometheus를 데이터 소스로 사용하고 PromQL 쿼리 언어를 사용하여 데이터 쿼리를 정의할 수 있습니다. 예를 들어 컨테이너의 CPU 사용량과 메모리 사용량을 표시하는 대시보드를 만들 수 있습니다.

결론:
이 글의 도입부를 통해 Linux에서 컨테이너 모니터링을 구성하는 방법을 알아보고 해당 코드 예제를 제공했습니다. Prometheus, cAdvisor 및 Grafana를 사용하면 컨테이너의 상태와 성능을 모니터링하고 분석하여 컨테이너화된 애플리케이션을 더 잘 관리하고 최적화할 수 있습니다. 이 글이 도움이 되셨으면 좋겠습니다. 읽어주셔서 감사합니다!

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

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