Slide 1

Slide 1 text

#grafanaJP Grafana Alloyのconfig運用 Grafana Meetup Vol. 6 2025.09.02 Taisei Ito

Slide 2

Slide 2 text

#grafanaJP 自己紹介 ● 名前: 伊藤 太斉 @kaedemalu (GitHub, X) ● 会社: フューチャーアーキテクト株式会社 ○ Technology Innovation Group アーキテクト ● 担当領域: メディア向けシステムのインフラ領域の   リーディング、改善 ● 技術領域: IaC(Terraform, Ansible), パブリッククラウド ● 趣味: サウナ、ドライブ、ランニング ● 執筆: Terraformではじめる実践IaC -AWSのインフラストラクチャ構築の基本からデプロイまで -

Slide 3

Slide 3 text

#grafanaJP Grafana利用までの経緯 ● 既存で稼働している基盤をEC2からコンテナ基盤(ECS on Fargate)に 移行する計画を立てて、遂行 ● 監視、ジョブのツールに対しても見直しを実施し、Grafanaを採用した

Slide 4

Slide 4 text

#grafanaJP Grafana Alloyの運用、どうする? ● Grafanaのスタックをフルで使い始めて早半年 Loki, Grafana, Mimirで 一通りの監視ができるよう になった! アラートも設定できた! Alloyでメトリクス、 ログの取得もできた!

Slide 5

Slide 5 text

#grafanaJP Grafana Alloyの運用、どうする? ● Grafanaのスタックをフルで使い始めて早半年 Loki, Grafana, Mimirで 一通りの監視ができるよう になった! アラートも設定できた! Alloyでメトリクス、 ログの取得もできた! Alloyのconfigやイメージの 取り回しどうしよう?

Slide 6

Slide 6 text

#grafanaJP 悩み(今回話すこと) ● Alloyを使うにあたって考えたポイント2点をお話しします アプリケーションごとの 設定をどうするか? 環境ごとの 設定をどうするか?

Slide 7

Slide 7 text

#grafanaJP Alloyの稼働を想定している状況 ● アプリケーション ○ Java(Spring) ○ Go ○ ミドルウェア ● 稼働するインフラ ○ EC2(VM) ○ ECS on Fargate(コンテナ)

Slide 8

Slide 8 text

#grafanaJP Alloyコンテナの運用案 ● 以下の2パターンで検討 No. パターン ファイルの管理数 設定の煩雑さ 1 configを環境変数で制御 少ない 大きい 2 ファイルをアプリごと用意 多い 小さい

Slide 9

Slide 9 text

#grafanaJP Alloyコンテナの運用案 ● 以下の2パターンで検討 No. パターン ファイルの管理数 設定の煩雑さ 1 configを環境変数で制御 少ない 大きい 2 ファイルをアプリごと用意 多い 小さい ● 環境ごとの設定→環境変数で分離 ● アプリケーションごとの設定→ファイルで分離

Slide 10

Slide 10 text

#grafanaJP 環境ごとの設定 ● sys.envを使って環境変数を入れる方法 ○ 環境ごと異なるエンドポイントの指定に利用

Slide 11

Slide 11 text

#grafanaJP アプリケーションごとの設定 ● アプリケーションごと対応するAlloyのイメージを作る ○ レジストリの数が増える=管理対象が増える ● config.alloyだけ異なるイメージをできるなら作りたくない ● Alloyの起動時にconfig.alloyを取得する仕組みを検討

Slide 12

Slide 12 text

#grafanaJP VM v.s. コンテナでのエージェントプロセスの運用 ● VM ○ アプリケーションプロセスとは別でエージェントプロセスを起動 ■ エージェントのインストールと設定ファイルの追加 ● コンテナ ○ アプリケーションコンテナの横でサイドカープロセスとして起動 ■ サイドカーもコンテナイメージとしてビルド

Slide 13

Slide 13 text

#grafanaJP VM v.s. コンテナでのエージェントプロセスの運用 VM コンテナ ファイルを 個別管理 イメージを 個別管理

Slide 14

Slide 14 text

#grafanaJP 設定ファイルだけ分離する ● config.alloy ○ 全環境共通のファイルを作成 ■ 環境ごと異なる場合は sys.envを利用 ○ 作成したものはS3に配置する ● Alloyイメージ ○ ベースイメージとして Alloyを使用 ○ 起動時にS3バケットから指定された config.alloyを取得するシェルスクリプトを追加

Slide 15

Slide 15 text

#grafanaJP 設定ファイルだけ分離する ① CIなどでconfigをS3に配置、Alloyのカ スタムイメージをECRにプッシュ ② コンテナ起動時にS3からconfigを 取得し、サイドカーとして起動

Slide 16

Slide 16 text

#grafanaJP まとめ ● Alloyのイメージをより簡素に、簡易に管理する仕組みを検討 ○ 環境ごとの設定はsys.envを利用して環境変数から取得 ○ アプリケーションごとの設定はファイルを分けた上で起動時にイメージが取得

Slide 17

Slide 17 text

#grafanaJP 技術ブログも公開中! ● フューチャー技術ブログにて先日Alloyの記事が 公開されたのでそちらもぜひご覧ください!