目的
AWSのログをDynatraceにて転送・分析をする方法を共有する。
<背景>
プロジェクトにて、プロキシサーバへの負荷削減のために通信量が極端に増えた場合にアラートを出したり、どこから通信が発生しているかの原因を分析するための活用方法を検討した。
前提
・Cloudwatch Logsにて、Transit GatewayのVPC Flow Logが出力されていること
・Cloudwatch LogsのログがDynatraceへ転送されていること
設定手順
Custom Log Attributeを設定する
Custom Log Attributeは、いわゆるこちらで定義できる変数みたいなものです。
ここで設定を行うことで、のちにCloudwatch Logsから送られてきた中身を定義したり、フィルタリングを行ったりすることができます。

Processingの設定
Custom Log Attributeにて定義した変数を、Cloudwatch Logsから転送されてきたデータとマッピングさせる設定を行います。
PARSE(content,"
INT:vpcflowlog.version SPACE
LD:vpcflowlog.resource_type SPACE
LD:vpcflowlog.account_id SPACE
LD:vpcflowlog.tgw_id SPACE
LD:vpcflowlog.tgw_attachment_id SPACE
LD:vpcflowlog.tgw_src_vpc_account_id SPACE
LD:vpcflowlog.tgw_dst_vpc_account_id SPACE
LD:vpcflowlog.tgw_src_vpc_id SPACE
LD:vpcflowlog.tgw_dst_vpc_id SPACE
LD:vpcflowlog.tgw_src_subnet_id SPACE
LD:vpcflowlog.tgw_dst_subnet_id SPACE
LD:vpcflowlog.tgw_src_eni SPACE
LD:vpcflowlog.tgw_dst_eni SPACE
LD:vpcflowlog.tgw_src_az_id SPACE
LD:vpcflowlog.tgw_dst_az_id SPACE
LD:vpcflowlog.tgw_pair_attachment_id SPACE
IPV4:vpcflowlog.srcaddr SPACE
IPV4:vpcflowlog.dstaddr SPACE
LD:vpcflowlog.srcport SPACE
LD:vpcflowlog.dstport SPACE
LD:vpcflowlog.protocol SPACE
LD:vpcflowlog.packets SPACE
LD:vpcflowlog.bytes SPACE
LD:vpcflowlog.start SPACE
LD:vpcflowlog.end SPACE
LD:vpcflowlog.log_status SPACE
LD:vpcflowlog.type SPACE
LD:vpcflowlog.packets_lost_no_route SPACE
LD:vpcflowlog.packets_lost_blackhole SPACE
LD:vpcflowlog.packets_lost_mtu_exceeded SPACE
LD:vpcflowlog.packets_lost_ttl_expired SPACE
LD:vpcflowlog.tcp_flags SPACE
LD:vpcflowlog.region SPACE
LD:vpcflowlog.flow_direction SPACE
LD:vpcflowlog.pkt_src_aws_service SPACE
LD:vpcflowlog.pkt_dst_aws_service
")
Custom Metricsの設定
ダッシュボードの設定
Custom Metricsにて設定したメトリクスをダッシュボードに反映できます。
状況に応じてグラフを設定し、分析をすることができます。

最後に
今回は通信量に関する分析を行うために色々な設定を行いましたが、今後このようにCloudwatch Logsを活用することはあるかと思います。
ログをうまく活用し分析を行うこと、そしてその方法を知ることは、様々な場面で活きてくると感じました。

