Datadog에서 Fluentd 버퍼를 모니터링하는 방법

7334 단어 FluentdDatadog
----------------
추가: 2015/10/12
이제 Datadog 공식 에이전트(dd-agent)에 내장되어 있으므로 How to monitor Fluentd with Datadog을 읽는 것이 좋습니다.
----------------

Fluentd의 버퍼 감시라고 하면 당사의 @moaikids씨가 쓴 munin-fluentd을 비롯해 몇 가지 기존 솔루션이 있습니다만, 당사의 메트릭스 감시를 Datadog로 마이그레이션할 때 같은 감시가 Datadog에도 필요하겠다는 것이 되어 썼기 때문에 그것을 소개하고 싶습니다.

Datadog Fluentd Integration



한마디로 설명하면 munin-fluentd 와 마찬가지로 output 플러그인마다 retry_count , buffer_queue_length , buffer_total_queued_size 예를 들면 아래와 같은 그래프로 버퍼의 상태를 가시화하거나, 버퍼의 상황에 맞추어 경보를 보내는 등을 간단하게 할 수 있습니다.

호스트별로 보기



메트릭 이름은 fluentd.${output_plugin}.retry_count와 같은 이름입니다.



롤마다 본다



롤마다 정리해 보는 것으로, 특정의 호스트만 이상한 것 같은 것을 빨리 눈치채거나 하기 때문에 드리고 있습니다.



설정 방법



Datadog 공식 모니터링 에이전트(dd-agent)에 PR을 보냈지만 병합이 늦지 않았기 때문에 dd-agent를 설치한 것만으로는 사용할 수 없는 상황입니다. v5.2.0에 넣을 수 있도록 진행하고 있습니다만, 만약 병합되기 전에 사용하기 시작하고 싶은 경우는 check/etc/dd-agent/checks.d 부하에, yaml 수 있습니다.

도전



지금의 구현이라고 하면, 복잡한 컨피그를 취급할 때에 약간의 제약이 나와 버리고 있습니다만, /etc/dd-agent/conf.d 의 기능적으로 어쩔 수 없는 것일까라고 생각하고 있습니다. 이 근처, 뭔가 잘 할 수 있는 방법이 있으면 가르쳐 주시면 도움이 됩니다.

과제 1. 같은 type의 플러그인이 복수 있는 경우의 대처



같은 타입의 플러그인에서 output 대상이 복수 있는 경우(예를 들어 out_forward 로 2 개(살) 이상의 호스트에 forward 해, 각각의 버퍼의 설정이 다른 경우)는, 그 차이를 판별할 수 있는 구조가 없다 그래서 개별적으로 임계 값을 설정하는 것처럼 할 수 없습니다. 아무래도 개별적으로 감시하고 싶은 경우는 fluentd 의 인스턴스를 나누어 버리면 할 수 있을 것 같은 생각도 듭니다만, 설정 파일이 복잡해지므로 별로 하고 싶지 않은 느낌입니다.

과제 2. forest 플러그인의 경우 어떤 플러그인이 막히는지 이해하기 어렵습니다.



forest 플러그인을 사용하면 아래와 같이 monitor_agent 가 null 가 되어 버리므로, 어느 플러그인으로 막혀 있는지 알기 어렵습니다. 서버에 로그인해
    {
      "config": {
        "format": "out_file",
        "reduced_redundancy": "true",
        "buffer_chunk_limit": "536870912",
        "time_slice_wait": "10m",
        "s3_bucket": "bucket",
        "s3_endpoint": "s3-ap-northeast-1.amazonaws.com",
        "s3_object_key_format": "key_format",
        "path": "path",
        "buffer_path": "buffer_path",
        "time_slice_format": "%Y-%m-%d/%H"
      },
      "retry_count": 0,
      "buffer_total_queued_size": 58,
      "buffer_queue_length": 0,
      "output_plugin": true,
      "type": null,
      "plugin_id": "object:3f81962b46dc"
    }

요약



Datadog에서 Fluentd 버퍼를 모니터링하는 방법을 소개했습니다.

그리고는, 작은 재료로 "Fluentd에서 HTTP 상태 코드를 집계하고 Datadog에서 시각화 or 모니터링 - Qiita "라고 하는 것도 썼으므로, ​​흥미가 있는 분이 있으면 봐 주세요—.

덤 - Fluentd 버퍼 모니터링을하는 방법



  • How does it feel?: td-agent/fluentd의 monitor_agent를 사용하여 buffer 사용 영역 모니터링
  • munin을 사용하는 방법


  • CloudWatch에 fluentd monitor_agent 메트릭 추가
  • CloudWatch를 사용하는 방법


  • Monitoring monitor_agent by Sensu - 안녕 인터넷
  • Sensu에서하는 방법

  • 좋은 웹페이지 즐겨찾기