fluent-plugin-mackerel 사용법
기능
기능으로는 크게 나누어 다음 두 가지가 있습니다.
전자는 호스트 별 및 서비스 메트릭 전송 모두를 지원합니다. 호스트별 메트릭을 보내는 경우에는
hostid
또는 hostid_path
에서 어떤 호스트의 메트릭을 지정해야 합니다. hostid 에는 직접 hostid 혹은 ${tag_parts[n]} 의 형식 (n은 임의의 정수)을 지정할 수 있어 hostid_path 는 hostid 가 포함되고 있는 파일의 패스를 지정합니다. (yum으로 설치하면/var/lib/mackerel-agent/id에 저장됩니다)후자는 여러 호스트의 메트릭을 어딘가 특정 fluentd에서 집계하여 보내고 싶을 때 mackerel의 hostid를 태그 나 레코드에 추가하는 데 사용됩니다. 수신자는
hostid
의 지정에 ${tag_parts[n]} 을 지정하면 좋을 것입니다.기본적으로 1분에 한 번 지표를 전송합니다. flush_interval 로 송신 빈도는 제어할 수 있습니다만, 1분 이하로 설정할 수는 없습니다.
설정 예
웹 서버의 상태 코드별 집계 전송
nginx 및 apache 로그를 datacounter 플러그인을 통해 보내면 다음과 같은 그래프가 생성됩니다.
설정은 다음과 같습니다.
<source>
type tail
format ltsv
time_format %d/%b/%Y:%H:%M:%S %z
path /var/log/nginx/access.log
pos_file /var/log/td-agent/nginx.log.pos
tag raw.nginx
</source>
<match raw.nginx>
type datacounter
count_interval 1m
count_key status
input_tag_remove_prefix access
tag nginx.status
outcast_unmatched yes
# patternX: X(1-20)
pattern1 2xx ^2\d\d$
pattern2 3xx ^3\d\d$
pattern3 4xx ^4\d\d$
pattern4 5xx ^5\d\d$
</match>
<match nginx.status>
type mackerel
api_key <あなたの API キー>
hostid_path /var/lib/mackerel-agent/id
metrics_name http_status.${out_key}
out_keys nginx_2xx_count,nginx_3xx_count,nginx_4xx_count,nginx_5xx_count
</match>
Cloudwatch RDS 지표 등록
cloudwatch 플러그인 에서 얻은 RDS CPUUtilization 메트릭을 서비스 메트릭으로 등록하는 예입니다.
설정은 다음과 같습니다.
<source>
type cloudwatch
tag raw.cloudwatch.rds_cpu
cw_endpoint <あなたの RDS のリージョンの Cloudwatch のエンドポイント>
period 60
interval 60
namespace AWS/RDS
metric_name CPUUtilization
dimensions_name DBInstanceIdentifier
dimensions_value <あなたの RDS インスタンスの ID>
</source>
<match raw.cloudwatch.rds_cpu>
type mackerel
api_key <あなたの API キー>
service <あなたのサービス>
metrics_name ${[1]}.${out_key}
out_keys CPUUtilization
</match>
요약
fluentd 의 로그를 그대로 흘리기 보다는, 상기의 datacounter 플러그인 이나 numericcounter 플러그인 , grepcounter 플러그인 를 이용해, 감시하고 싶은 항목을 수치화해 포스트 한다고 하는 사용법이 생각됩니다. 위에서는 웹 서버의 로그였습니다만, DB의 슬로우 쿼리의 건수나 시간, 앱 로그의 ERROR나 WARN의 수등, 로그의 감시로의 사용지점은 여러가지 있다고 생각합니다.
또한 AWS 서비스는 특정 호스트에 연결되지 않지만 서비스 메트릭으로 등록하여 개별 호스트의 메트릭과 마찬가지로 Mackerel에 플롯할 수 있습니다. Cloudwatch에서는 저장할 수 없는 장기간의 추세를 파악하고 싶은 경우에는 유효한 수단 중 하나라고 생각합니다. 위에서는 앞의 nginx 와 대비하기 위해 RDS 의 메트릭스로 했습니다만, ELB 등도 서비스 메트릭스로서 등록해도 좋은 자원의 하나라고 생각합니다.
또한, Mackerel은 그래프의 UI도 사용하기 쉽게 만들어져 있기 때문에, 장애 발생시 호스트의 상황과 마찬가지로 AWS 리소스도 같은 화면인 어느 정도 추적하도록 해두면 상황 파악이 용이해질지도 모릅니다. 그렇습니다.
Reference
이 문제에 관하여(fluent-plugin-mackerel 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tksmd/items/1212331a5a18afe520df
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<source>
type tail
format ltsv
time_format %d/%b/%Y:%H:%M:%S %z
path /var/log/nginx/access.log
pos_file /var/log/td-agent/nginx.log.pos
tag raw.nginx
</source>
<match raw.nginx>
type datacounter
count_interval 1m
count_key status
input_tag_remove_prefix access
tag nginx.status
outcast_unmatched yes
# patternX: X(1-20)
pattern1 2xx ^2\d\d$
pattern2 3xx ^3\d\d$
pattern3 4xx ^4\d\d$
pattern4 5xx ^5\d\d$
</match>
<match nginx.status>
type mackerel
api_key <あなたの API キー>
hostid_path /var/lib/mackerel-agent/id
metrics_name http_status.${out_key}
out_keys nginx_2xx_count,nginx_3xx_count,nginx_4xx_count,nginx_5xx_count
</match>
<source>
type cloudwatch
tag raw.cloudwatch.rds_cpu
cw_endpoint <あなたの RDS のリージョンの Cloudwatch のエンドポイント>
period 60
interval 60
namespace AWS/RDS
metric_name CPUUtilization
dimensions_name DBInstanceIdentifier
dimensions_value <あなたの RDS インスタンスの ID>
</source>
<match raw.cloudwatch.rds_cpu>
type mackerel
api_key <あなたの API キー>
service <あなたのサービス>
metrics_name ${[1]}.${out_key}
out_keys CPUUtilization
</match>
fluentd 의 로그를 그대로 흘리기 보다는, 상기의 datacounter 플러그인 이나 numericcounter 플러그인 , grepcounter 플러그인 를 이용해, 감시하고 싶은 항목을 수치화해 포스트 한다고 하는 사용법이 생각됩니다. 위에서는 웹 서버의 로그였습니다만, DB의 슬로우 쿼리의 건수나 시간, 앱 로그의 ERROR나 WARN의 수등, 로그의 감시로의 사용지점은 여러가지 있다고 생각합니다.
또한 AWS 서비스는 특정 호스트에 연결되지 않지만 서비스 메트릭으로 등록하여 개별 호스트의 메트릭과 마찬가지로 Mackerel에 플롯할 수 있습니다. Cloudwatch에서는 저장할 수 없는 장기간의 추세를 파악하고 싶은 경우에는 유효한 수단 중 하나라고 생각합니다. 위에서는 앞의 nginx 와 대비하기 위해 RDS 의 메트릭스로 했습니다만, ELB 등도 서비스 메트릭스로서 등록해도 좋은 자원의 하나라고 생각합니다.
또한, Mackerel은 그래프의 UI도 사용하기 쉽게 만들어져 있기 때문에, 장애 발생시 호스트의 상황과 마찬가지로 AWS 리소스도 같은 화면인 어느 정도 추적하도록 해두면 상황 파악이 용이해질지도 모릅니다. 그렇습니다.
Reference
이 문제에 관하여(fluent-plugin-mackerel 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tksmd/items/1212331a5a18afe520df텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)