ナンモワカランアザラシ

Ringed seal, clueless still

Datadog Loggingで`/users/ID`みたいな動的なパスをまとめつつ静的なパスはそのままにするやつ

シュッと実装できなかったので備忘録。 検索しても即効性のあるドキュメントがでてこない。Datadogあるある。

LoggingのPipelinesのページでログの処理を追加すればよい。

Datadogの画面の一部のスクリーンショット。`Pipelines`のページに遷移するためのボタンUIがある。

たとえば@http.url_details.path属性にpathが保持されているとする。

1. Path remapperでpathの属性をremapする

DatadogのPath remapperの設定画面のスクリーンショット

Set attribute(s) or tag key to remapには、元の属性名を入れる。例えば@http.url_details.pathなど。 Set target attribute or tag keyには、適当な属性名を入れる。例えばcategorized_pathなど、他と被らないように気を付ける。 Preserve source attributeを有効化しておけば、元の属性も保持されるのだと思う。

2. Category Processorで、動的なパスをまとめる

DatadogのCategory Processorの設定画面のスクリーンショット

Set target category attributeには、1で指定したSet target attribute or tag keyの属性名を入れる。 Populate categoryAll events that match:には、動的なパスを絞れるクエリを入れる。例えば@http.url_details.path:/users/*など。 Populate categoryAppear under the value name:には、動的なパスを意味してほしい値を入れる。例えば/users/IDなど。 動的なパスの条件を一つ一つAddしていく。

完了!

これで、@categorized_path属性に、まとめられたパス名が入る。 2の工程のみだと、動的なパスのみが@categorized_pathに入る。事前に1の工程でremapをしておくことで、静的なパスはそのままで、動的なパスはカテゴライズされて保持されるようになる。

これらの工程によって追加課金はない......はず。Datadogの課金体系は気をつけないと容易に事故死するのでお気をつけあれ。