はじめに
こんばんは。
金カムに爆ハマりしている古川がお届けします、
Instana Observability Advent Calendar 2023 15日目です。
6日目はInstanaのイベント、チョットワカル#1ということで、
Instanaの主要機能の1つであるイベント
機能について書きました。
今日はその続編です。今回は、イベントの構成要素や作成/管理に関するお話をします。
対象とする読者の方
- Instanaを検討中の方、利用開始してまもない方
- 「イベント」「アラート」「組み込みメトリック」などの各種用語や設定項目を前に挫折してしまった方。心が折れそうな方。
Instanaのイベント、チョットワカル#1 を先に読んで頂いた方が、理解が深まると思うので、まだ#1をお読みでない方はそちらを先に読んでみてください!
ゴール
Instanaのイベント、チョットワカル!
本編
イベントの構成要素(メトリックとイベント)
そもそもInstanaのイベント
とは、「いつ、どこで、何が起きたか、どれくらい重要か」を示すものです。
- 「いつ」は読んで字の如くなので、割愛します。
- 「どこで」を示すのが後述する
スコープ
です。例えば、ECサイトAで、社内アプリケーションBで、MySQL上で、などです。(スコープ
は「カスタムイベントの作り方」の章で登場します) - 「何が起きたか」に関連するのがメトリックとイベントです。
つまり、メトリック
は監視項目を表していて、イベント
はその監視項目がどんな状態にあるかを示しています。
- 「どれくらい重要か」は、Instanaのイベント、チョットワカル#1 でお話した、
インシデント
なのか問題
なのか、クリティカル
なのか警告
なのかということです。
>「何が起きたか」に関連するのがメトリックとイベント
というお話をしましたが、ここをもう少しドリルダウンしてみます。
メトリック
メトリックは以下2種類が存在します。
組み込みメトリック
カスタムメトリック
組み込みメトリック
は、Instanaにデフォルトで組み込まれている監視項目です。
上の2つの表で示した「メトリック」は「組み込みメトリック」です。
カスタムメトリック
は、自分で任意に設定した監視項目です。
イベント
イベントは
組み込みイベント
-
カスタムイベント
の2種類が存在します。
組み込みイベント
- Instana側でデフォルトで用意されたイベントのこと。
-
エンティティー・タイプ
つまり、Instanaの監視対象テクノロジーごとに様々なイベントが組み込みで用意されている。 - 以下、例。
- 一番左側のカラムがイベント名 兼 イベントの内容。
-
Too many open file
「ファイル開きすぎ」:ホストの監視 -
Threads number reached maximum
「スレッド数が最大値に達した」:Tomcatの監視
-
- 一番左側のカラムがイベント名 兼 イベントの内容。
- メリット:監視項目や内容を定義する手間を省くことができる。
カスタムイベント
- 自分で独自に作成できるイベント。
-
組み込みメトリック
orカスタムメトリック
を紐づけることが可能。 -
カスタムメトリック
を利用する場合、以下に示す監視ソフトウェアやAPI等を介して取得できるメトリックやイベントを、Instana側でメトリックとして利用する。- Dropwizard
- Finagle
- JMX
- カスタム・パフォーマンス・カウンター
- Prometheus メトリック
- statsd メトリック
- つまり、何を取得できるかは、上記、監視ソフトウェアやAPIの仕様に依存する。
- 複数のメトリックを1つのイベントを紐づけることが可能。ただし、同一エンティティ-タイプのメトリックのみ複数紐付けできる。
- ユースケース:「従来は監視製品Aを使っていたけど、Instanaに乗り換えたら、xxのメトリックが取れなくなってしまった。でも、どうしてもxxのメトリックをInstanaでも取得/監視したい!」という場合に利用。
- メリット:自社の運用に合わせた、より柔軟な監視が可能。
最後にメトリックとイベントの関係性をまとめると以下の通りです。
-
組み込みイベント
に紐付くのは組み込みメトリック
-
カスタムイベント
に紐付くのは組み込みメトリック
orカスタムメトリック
。
このイベントとメトリックの関係がつまづきポイントです。。。(経験談)
「組み込みイベント
に紐付くのは組み込みメトリック
」は分かるとして、「カスタムイベント
に紐付くのは組み込みメトリック
or カスタムメトリック
」なのは分かりにくい。。。
カスタムイベントの作り方
では、次はカスタムイベントの作り方について述べます。
組み込みイベントは、自分で作成する必要はないです。既に組み込まれたものだからです。Instanaの監視対象のアプリやインフラに問題が起これば、勝手にイベントとして起票されます。
-
Instana GUIのTOP画面にて、左側のメニューバーから
設定
(歯車マーク)を選択。 -
イベントの詳細
を入力(「何が起きたか」「どれくらい重要か」に相当)
4-1.名前
説明
問題の重大度
インシデントとして取り扱うか否か
猶予期間
を入力します。
*猶予期間
:条件に一致しなくなった場合にその問題
をクローズするまでの時間。
-
条件
を入力(「何が起きたか」に相当)
5-1. ソース:組み込みメトリック
カスタムメトリック
のいずれかを選択。
組み込みメトリック
を選択した場合:(A)へ。
カスタムメトリック
を選択した場合:(B)へ。(A)
5-2. エンティティー・タイプ:何のメトリックをイベントに紐づけるのかを
選択。今回はJVMを例とする。
5-3. 時間枠:プルダウンから任意の時間を選択。
5-4. 任意のメトリックを選択。
JVMであれば、スレッド数などに関するメトリックが取得可能。
(B)
5-2. エンティティ-・タイプ:以下から任意のものを選択。
- Dropwizard メトリック
- Finagle メトリック
- JMX メトリック
- カスタム・パフォーマンス・カウンター
- Prometheus メトリック
- statsd メトリック
5-3. 時間枠:プルダウンから任意の時間を選択。
5-4. 任意のメトリックを選択。
まとめ
-
メトリックは
組み込みメトリック
カスタムメトリック
の2種類が存在。 -
イベントは
組み込みイベント
カスタムイベント
の2種類が存在。 -
イベントは
組み込みメトリック
とカスタムメトリック
に紐づく。- 作成の必要性や紐づくメトリックによって、イベントの呼称が変わる。
-
組み込みイベント
(作成不要)に紐付くのは組み込みメトリック
-
カスタムイベント
(要作成)に紐付くのは組み込みメトリック
orカスタムメトリック
-
- 作成の必要性や紐づくメトリックによって、イベントの呼称が変わる。
-
カスタムイベントのユースケース: 「従来は監視製品Aを使っていたけど、Instanaに乗り換えたら、xxのメトリックが取れなくなってしまった。でも、どうしてもxxのメトリックをInstanaでも取得/監視したい!」という場合などに利用。
-
裏を返せば、そのようなケースがない場合は、組み込みイベントのみ利用すれば良い。
おわりに
いかがでしたでしょうか?言語化/体系化するのに、思いの外時間がかかりました。。。でもこういう情報があれば、設計や実装もスムーズにいくと思うので、どこかで誰かのお役に立てていれば嬉しく思います!
ではでは、皆様良い週末を!