c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂と考察と Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud に公開中です。

考察は現在は主に Cosense で公表中です。

Programming は GitHub で開發中です。

CloudNative Daysのオブザーバビリティを支へるMackerelの活用 (Winter 2024編)

MackerelはCloudNative Daysにツールスポンサーしてゐる。その繫がりで、Mackerelの開發者の一員でもある私は、CloudNative Daysのオブザーバビリティチームに參加してゐる。先日CloudNative Days Winter 2024 (CNDW2024)が開催された。そこでのMackerelの使ひ方を紹介したい。CNDW2024を聽講した事はCloudNative Days Winter 2024 #CNDW2024 - c4se記:さっちゃんですよ☆に書いた。

オブザーバビリティチームの仕事は、

  • CloudNative Daysで獨自に開發・運用してゐる配信基盤である「dreamkast」のオブザーバビリティ基盤を構築・運用する
  • CloudNative Daysといふイベントのテレメトリ、CFPの應募狀況や配信の視聽狀況等を、Grafanaのダッシュボードに見せ公開する

である。この記事はMackerelに話題を絞る。

MackerelはCNDS2024からツールスポンサーしてゐる。それからMackerelを使ってやった事は、

  • ECSで動く (CNDW2024でEKSから移行) dreamkastのメトリックをmackerel-container-agentで觀測
  • dreamkastの使ふAWSのサービスを、AWSインテグレーションで觀測
  • さくらのクラウドで動くオブザーバビリティチームのサーバーをmackerel-agentで觀測
  • 監視ルールで閾値に對して監視
  • 當日に眺めるカスタムダッシュボードを作成
    • おまかせ生成機能が助かった
  • グラフにコメントを附してSlackに共有できる機能は私は便利だと思ってゐる

といふ普通のMackerelユーザーとして過ごしてゐる。

Sentryは、Docker、PostgreSQL、Redis、Kafkaを使ってゐる。Docker、PostgreSQL、Redisはmackerel-agentのpluginが有りそれで觀測できる。Kafkaに對しては專用のpluginが無く、Prometheus用のexporterからGitHub - k1LoW/mackerel-plugin-prometheus-exporter: :fish: Mackerel plugin for scraping Prometheus exporter metrics. :fire:で變換してMackerelに投稿してゐる。これに關聯して小話が有って、

  • KafkaのPrometheus exporterはcommit log stream每にメトリック (kafka_consumergroup_members_XXX) を作る
    • commit log streamはメッセージを捌くと切り替はってゆく
    • Sentryに大量のトレースが送られる (これ自體が計裝のbugだったのだが) 時期が有り、commit log streamが次々切り替はり、Prometheus exporterは次々と新しいメトリックをMackerelに投稿する
    • 或るグラフのグラフ定義といふデータが一週閒で數十萬個に肥大化する
      • ホスト詳細ページを開くと500 ISEになるホストができあがる
      • グラフ定義を消そうにも、やはり500 ISEになり消せない

情けない事にかうなってしまった。そこで、

  • kafka_consumergroup_members で始まるメトリックは、監視對象でもないので除く
    • mackerel-plugin-prometheus-exporterã‚’wrapした
  • Mackerelの開發者でもある私が、Mackerelのcodeを修正して、大きなグラフ定義を消せるやうにし、そしてグラフ定義を消した
    • 開發者が參加してゐるとかういふ利點も有る…利點か? まぁ利點ではあるか

今後は計裝の基盤をOpenTelemetryに切り替へて、Mackerelの新機能を使っていかうと思ふ。

qiita.com