2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Vector by Datadogって知ってる?

Last updated at Posted at 2021-12-22

こんにちは!Datadog JapanでSales Engineerをしているitakafuです。

Datadog Advent Calendar 2021も22日目となり残り少なくなってきました。この記事ではちょっと趣向を変えて、半分ネタ的な話を書いていきたいと思います!

Vector とは?

タイトルのとおりですが、Vector by Datadog (以下Vector)を皆様ご存知でしょうか。VectorはもともとTimber.ioにより開発されていましたがDatadogにより買収され、現在はVector by Datadogとして継続して開発が進められているAgent/Aggregatorとなります。

実はしれっとDatadogのドキュメント中にもページがあったりします。

Aggregating Multiple Agents Using Vector
https://docs.datadoghq.com/agent/vector_aggregation/

何ができるの?

Vectorは様々なデータを集約、加工、また様々なツールへとそのデータを連携することが可能な、daemonやsidecarとしてデプロイできるAgent/Aggregatorです。
vector_sources_trans_sinks

上記の図にあるように、

Sources (データソース)
Transfroms (加工)
Sinks(データ連携先)

と、シンプルに設定することが可能です。

例えばSourceにFluentを設定し、SinksへAWS S3とDatadog Logsを設定すると、FluentからのログをVectorへ集約し、AWS S3とDatadog Logsへ同時に連携することが可能となります。

またSinksへ2つの異なるDatadog Organizationを設定する、なんてことも可能ですので「このデータ、こっちとあっちのOrganizationにも送りたいんだよなぁ」なんてことも可能となります。

以下は、実際に1つのログをAとBという2つのOrganizationに送信し、Bに送信する際にはTransformsで「sender:なんちゃか」というタグを付与した例です。

Organization A:
org_a

Organization B:
org_b

また1つのログをDatadog LogsとAWS CloudWatch Logsの両方へログを送ってみる、なんてこともやってみました。

Datadog Logs:
datadog_logs

AWS CloudWatch Logs:
cw_log

と、なかなか色々な想像が膨らんできて夢が広がりますね!!!

まとめ

by Datadogという形で、Datadog自身Observabilityプラットフォームを提供する身ではありますが、Datadogだけでは無く「Observability」という意味で様々なデータを集約し、様々なプラットフォームへと連携できるようなものになっています。まさに「Take control of your observability data」です。

どなたでも試せるようになっていますので、ぜひご興味あるかたは覗いてみてください!

注意点

Vectorは現在絶賛開発中ですので、例えば Datadog Agent -> VecotrというようなDatadog AgentをSourceとする場合、現状ログのみ対応(Metricsは現状非対応)や、Vector自身SourceとしてのTraceのサポートは絶賛開発中、など、まだいくつか制限があります。

VectorのドキュメントやGithubのほうでにてそれぞれ設定可能なSourceの対応状況、Sinksの対応状況、またTransformsの書き方などなど確認可能ですのでぜひご参照ください。

おまけ

VectorはRustで実装されていて、実は --enable-datadog-tracingというオプションが存在します。これは、APMが有効となっているDatadog Agentが動作している環境で、このオプションを付与してVectorを起動すると、Datadog APMにてVector自身の動作のTracingが確認することができます。

vector_apm

「Datadog APMってRust対応してなかったような…」と思ったそこのあなた、正解です。Datadog APM自身はRustに対応していません。どうなってるのかな、と気になった方は、VectorのRepositoryに自身のTracingのRFCなんかもありますので探してみると面白いかもしれません :wink:

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?