OpenTelemetry デモアプリケーションを使って Mackerel のメトリックエクスプローラーを体験
本記事は以下の14日目のエントリです。
予告通り、タイトルの記事↓をなぞりました。
↓のウェビナーでの話を聞いて、やっておこうって思ってました。
OpenTelemetry、ちょっとだけ始めてみてはいたんですが、まだまだ、だったので。
まずはデモ動画を見ました
ふむふむ、なるほど。最後にアラート出て良かったですね。
ローカルにセットアップ
Mackerel と Vaxila にテレメトリを送る設定を追加
これも1回目見逃しがあってMackerelにうまくテレメトリ送れてなかったんですが、解決できました。
src/otelcollector/otelcol-config.yml の差分
MACKEREL_API_KEY の指定は docker-compose.yml に追記しました。
docker-compose.yml の差分
これで起動したら、おおお・・・徐々にメトリクスが入ってきてる感じが。
Vaxila に入ってきた Trace、可視化されたの初めて見ました。 Trace の投げ方はもうちょっと深掘って年内くらいには把握したい。
Trace 可視化を体験できた記念
ラベルによるフィルタリングと監視ルール設定
実は書いてある通りに app.frontend.requests
のメトリクス見つけられなくて、監視設定にはなんだかだんだん増えてた feature_flag.flagd.evaluation.reason{service.name="flagd"}
を使いました。
こんな感じ。アラートも妥当に通知されてきて、閾値少しずつ上げてみるなどした。
障害発生検知を試す
OpenTelemetry デモアプリケーションでは、フィーチャーフラグによって意図的に特定のコンポーネントの障害を発生させることができます。
とのことなので、やってみました。
src/flagd/demo.flagd.json を弄ってフィーチャーフラグの変更
するとまもなく、めっちゃエラーが発生。Vaxila に飛んできました。
殺到感がすごかったので、ちょっと置いたらすぐに off に修正。保存したら止まりました。
エラー通知がすごかった
という感じで、OpenTelemetry を体験できました。
テレメトリの投げ方を覚えれば、やっていけそう、と思いました。いい体験できました。
最後まで読んでいただきありがとうございました。
明日15日目の予定は以下になっています。お楽しみに。
- Mackerel Advent Calendar 2024 : 「mdatagenに関するなにか、あるいはそれ以外のなにか」 by @Arthur1__ さん
- OpenTelemetry Advent Calendar 2024 : 「OpenTelemetryでデプロイ時間を可視化する」by momochi29 さん
-
13日目は @rymatsuoka さんの Span Metrics Connector で SQL のクエリの処理時間を計測する でした。 ↩︎
-
13日目は @katzchang さんの OpenTelemetry SDKのSplunk Distroについて解説します (12/14 18:00 時点で未完成) でした。 ↩︎
Discussion