>  기사  >  백엔드 개발  >  Datadog을 사용하여 Nginx를 모니터링하는 방법

Datadog을 사용하여 Nginx를 모니터링하는 방법

PHP中文网
PHP中文网원래의
2016-07-30 13:29:361751검색

NGINX를 모니터링하는 방법에 대한 이전 기사를 읽었다면 네트워크 환경의 몇 가지 지표에서 얼마나 많은 정보를 얻을 수 있는지 알아야 합니다. 또한 NGINX 관련 기반에서 측정항목을 수집하는 것이 얼마나 쉬운지 확인했습니다. 그러나 NGINX를 포괄적이고 지속적으로 모니터링하려면 지표를 저장 및 시각화하고 이상이 발생할 때 경고를 보내는 강력한 모니터링 시스템이 필요합니다. 이번 글에서는 사용법을 알려드리겠습니다. Datadog은 NGINX 모니터링을 설치하므로 사용자 정의 대시보드에서 이러한 측정항목을 볼 수 있습니다.

NGINX dashboard

NGINX 대시보드

Datadog을 사용하면 그래프를 작성하고 개별 호스트, 서비스, 프로세스 및 메트릭을 사용하거나 사실상 이들의 조합을 사용하여 경고합니다. 예를 들어 모든 호스트 또는 특정 가용성 영역의 모든 NGINX 호스트를 모니터링하거나 특정 태그가 있는 모든 호스트에 대해 하나의 주요 지표를 모니터링할 수 있습니다. 이 문서에서는 다음 방법을 설명합니다.

  • 다른 시스템과 마찬가지로 Datadog 대시보드에서 NGINX 측정항목을 모니터링합니다.

  • 핵심 측정항목이 급증하는 경우 변경 사항을 알리는 자동 알림

NGINX 구성

NGINX 측정항목을 수집하려면 먼저 NGINX에 상태 모듈이 활성화되어 있고 URL이 있는지 확인해야 합니다. 상태 측정항목을 보고합니다. 오픈소스 NGINX 및 NGINX Plus의 단계별 구성에 대해서는 이전 관련 기사를 참조하세요.

Datadog과 NGINX 통합

Datadog 에이전트 설치

Datadog 에이전트는 호스트에서 메트릭을 수집하고 보고하는 오픈 소스 소프트웨어이므로 Datadog을 사용하여 보고 보고할 수 있습니다. 그들을 모니터링하십시오. 이 에이전트를 설치하려면 일반적으로 단일 명령만 필요합니다.

에이전트가 실행 중이면 Datadog 계정에 보고된 호스트 측정항목을 볼 수 있습니다.

Datadog infrastructure list

Datadog 인프라 목록

에이전트 구성

다음으로 에이전트에 대한 간단한 NGINX를 생성해야 합니다. 구성 파일. 시스템의 에이전트 구성 디렉터리는 여기에서 찾을 수 있습니다.

conf.d/nginx.yaml.example 디렉터리에서 편집하고 각 NGINX 인스턴스에 대한 상태 URL과 선택적 태그를 제공할 수 있는 간단한 구성 파일을 찾을 수 있습니다.

  1. init_config:
    instances:
    - nginx_status_url: http://localhost/nginx_status/
    tags:
    - instance:foo

상태 URL과 태그를 제공할 때 구성 파일을 conf.d/nginx.yaml로 저장하세요.

에이전트 다시 시작

새 구성 파일을 로드하려면 에이전트를 다시 시작해야 합니다. 다시 시작 명령은 여기에 있으며 플랫폼에 따라 다릅니다.

구성 파일 확인

Datadog과 NGINX가 제대로 통합되었는지 확인하려면 Datadog의 info 명령을 실행하세요. 각 플랫폼에서 사용되는 명령은 여기를 참조하세요.

구성이 올바른 경우 다음 출력이 표시됩니다.

  1. Checks
    ======
    [...]
    nginx
    -----
    - instance #0 [OK]
    -Collected8 metrics &0 events

통합 설치

마지막으로, Datadog 계정에서 "Nginx 통합"을 엽니다. 매우 쉽습니다. NGINX 통합 설정에서 "통합 설치" 버튼을 클릭하기만 하면 됩니다.

Install integration

통합 설치

메트릭!

에이전트가 NGINX 메트릭 보고를 시작하면 NGINX가 표시됩니다. 대시보드는 Datadog에 사용 가능한 대시보드 목록에 나타납니다.

기본 NGINX 대시보드에는 NGINX 모니터링 소개의 여러 주요 지표를 다루는 유용한 차트가 표시됩니다. (일부 지표, 특히 요청 처리 시간에는 Datadog이 지원하지 않는 로그 분석이 필요합니다.)

NGINX 외부에 중요한 지표에 대한 차트를 추가하여 전체 사이트 시설을 모니터링함으로써 포괄적인 대시보드를 쉽게 만들 수 있습니다. 예를 들어 시스템 로드와 같은 NGINX 호스트 수준 지표를 모니터링할 수 있습니다. 사용자 정의 대시보드를 구축하려면 대시보드 오른쪽 상단에 있는 옵션을 클릭하고 "대시 복제"를 선택하여 기본 NGINX 대시보드를 복제하기만 하면 됩니다.

Clone dash

클론 대시

Datadog의 호스트 맵을 사용하여 더 높은 수준(예: 색상)에서 NGINX 인스턴스를 모니터링할 수도 있습니다. - 잠재적인 핫스팟을 식별하기 위해 모든 NGINX 호스트의 CPU 사용량을 코딩합니다.

NGINX 지표 경고

Datadog가 지표를 캡처하고 시각화한 후에는 지표를 자동으로 감시하도록 일부 모니터링을 설정할 수 있습니다. 문제가 있으면 상기시켜 드리겠습니다. 일반적인 예는 아래에 설명되어 있습니다. 즉, NGINX 처리량이 갑자기 떨어질 때 경고를 보내는 메트릭 모니터입니다.

NGINX 처리량 모니터링

Datadog 표시기 경고는 "처리량 기반"(표시기가 설정 값을 초과할 때 경고 발생) 또는 "변경 범위 기반"(지표가 설정 값을 초과할 때 경고 발생)일 수 있습니다. 일정 범위를 넘어서는 변화) 알람). 이 예에서는 초당 수신 요청이 급격하게 줄어들면 경고를 보내는 후자의 접근 방식을 사용하겠습니다. 감소는 종종 문제가 있음을 의미합니다.

  1. 새 메트릭 모니터를 만듭니다. Datadog "모니터" 드롭다운 목록에서 "새 모니터"를 선택합니다. 모니터 유형으로 "미터법"을 선택합니다.

    NGINX metric monitor

    NGINX 미터법 모니터

  2. 미터법 모니터를 정의합니다. 우리는 초당 삭제된 NGINX 총 요청 수를 알고 싶기 때문에 관심 있는 nginx.net.request의 합계를 인프라에 정의합니다.

    NGINX metric

    NGINX 측정항목

  3. 측정항목 경고 조건을 설정합니다. 고정된 값이 아닌 변경 사항에 대해 경고하고 싶으므로 "Change Alert"를 선택합니다. 요청량이 30% 이상 감소할 때마다 경고하도록 모니터링을 설정했습니다. 여기서는 1분 데이터 창을 사용하여 "현재" 지표 값을 나타내고 해당 간격의 평균 변화를 이전 10분 동안의 지표 값과 비교합니다.

    NGINX metric change alert

    NGINX 지표 변경 알림

  4. 맞춤 알림. NGINX의 요청량이 감소하면 팀에 알리고 싶습니다. 이 예에서는 운영팀의 채팅방에 알림을 보내고 당직 엔지니어에게 SMS를 보냅니다. "무슨 일이 일어나고 있는지 말하기"에서는 모니터에 이름을 지정하고 먼저 조사를 시작할 항목을 제안하는 알림과 함께 짧은 메시지를 추가합니다. 우리는 Slack에서 팀에 @ops를 보내고 @pagerduty는 문자 메시지로 알림을 보냅니다.

    NGINX metric notification

    NGINX 지표 알림

  5. 통합 모니터링을 저장합니다. 페이지 하단의 "저장" 버튼을 클릭하세요. 이제 주요 NGINX 작업 지표를 모니터링하고 지표가 급격히 떨어지면 근무 중인 엔지니어에게 문자 메시지를 보내고 있습니다.

결론

이 기사에서는 NGINX를 Datadog과 통합하여 주요 지표를 시각화하고 네트워크 인프라에 문제가 있는 시기를 감지하는 방법에 대해 이야기했습니다. 통보.

자신의 Datadog 계정을 사용해 왔다면 이제 웹 환경에 대한 가시성과 환경, 사용하는 패턴 및 가장 중요한 것이 무엇인지 이해하는 능력을 크게 향상시킬 수 있습니다. 귀중한 측정항목을 자동으로 모니터링합니다.

위에서는 관련 내용을 포함하여 Datadog을 사용하여 Nginx를 모니터링하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

위 내용은 Datadog을 사용하여 Nginx의 콘텐츠를 모니터링하는 방법입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


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