Fluentd에서 HTTP 상태 코드를 집계하고 Datadog에서 시각화 or 모니터링
추가: 2015/10/12
Dogstatsd 를 이용한 집계를 Dogstatsd에서 Datadog에 사용자 지정 메트릭을 보내는 방법 ~Fluentd와의 연계와 함께 ~ - TAKUMI SAKAMOTO’S BLOG 에 썼으므로, 함께 읽어 주시면 좋겠습니다.
----------------
Datadog에서 Apache의 상태 코드를 모니터링하는 방법입니다. 아래와 같이 시각화하거나 5xx 가 일정수 이상이 되면 경고를 날리는 것 같은 것을 할 수 있게 됩니다. 예제는 apache 라고 써 있습니다만, nginx 에서도 거의 같은 방법으로 할 수 있을 것입니다.
<source>
type tail
format ltsv
time_format %d/%b/%Y:%H:%M:%S %z
path /var/log/httpd/access_log
pos_file /tmp/access_log.pos
tag apache.access
</source>
<match apache.access>
type datacounter
tag apache.status
aggregate tag
count_key status
pattern1 2xx ^2\d\d$
pattern2 3xx ^3\d\d$
pattern3 4xx ^4\d\d$
pattern4 5xx ^5\d\d$
</match>
# record_reformer がフィールド名の . を上手く扱えない
# rename_key でフィールド名を書き換える
<match apache.status>
type rename_key
append_tag renamed
rename_rule1 ^apache\.access_(.+_count) apache_${md[1]}
</match>
# fluent-plugin-dd が必要とするデータ構造に変換する
# グループ毎に集計できるように tag を指定しておく
# {
# "metric":"some.metric.name",
# "value":100.0,
# "tag":"any.tag",
# "type":"gauge"
# }
<match apache.status.renamed>
type copy
<store>
type record_reformer
tag datadog.apache.status
<record>
metric apache.status_2xx_count
tag group:web
value ${apache_2xx_count}
</record>
</store>
<store>
type record_reformer
tag datadog.apache.status
<record>
metric apache.status_3xx_count
tag group:web
value ${apache_3xx_count}
</record>
</store>
<store>
type record_reformer
tag datadog.apache.status
<record>
metric apache.status_4xx_count
tag group:web
value ${apache_4xx_count}
</record>
</store>
<store>
type record_reformer
tag datadog.apache.status
<record>
metric apache.status_5xx_count
tag group:web
value ${apache_5xx_count}
</record>
</store>
</match>
# ホスト毎に集計できるように hostname をつける
<match datadog.**>
type forest
subtype dd
<template>
dd_api_key xxxx
host ${hostname}
</template>
</match>
덧붙여서 Datadog에서 위에 붙인 것 같은 그래프는 아래와 같은 JSON으로 만들 수 있습니다.
{
"viz": "timeseries",
"requests": [
{
"q": "sum:apache.status_2xx_count{group:web}, sum:apache.status_3xx_count{group:web}, sum:apache.status_4xx_count{group:web}, sum:apache.status_5xx_count{group:web}",
"type": "area"
}
],
"events": []
}
Reference
이 문제에 관하여(Fluentd에서 HTTP 상태 코드를 집계하고 Datadog에서 시각화 or 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takus/items/f3dfaa1ab431644b922b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)