イベント管理アーキテクチャの概念
Tap In System クラウド管理サービスは、環境の健康状態を判断するのに、管理対象機器から収集されたイベントを基にしています。各管理対象機器のタイプからのイベントは、Amazon EC2 インスタンスとして設置されている TapIn 管理サーバによって収集され、正規化されます。レポートとビューアのアプリケーションが、稼働率、パフォーマンスおよび構成情報を表示するのにこれらのイベントを使用するので、イベントの構造が豊富なデータを有することが重要です。
下記が Tap In イベント内で使用される標準フィールドです。
- Class(クラス): 管理対象機器のタイプを示します。
- Element Management System : Tap In 管理サーバのユニークな識別子です。
- Count(カウント): このイベントの発生回数です。クラス、EMS、ルールおよび、タイプ-名前ペアの組み合わせです。
- First Time(当初時間): このイベントの最初の発生時間です。
- Last Time(最終時間): このイベントの最後(最近)の発生時間です。
- Severity(重大度): このイベントの重大度( 1 から 5 )です。
- Rule(ルール): エラーやイベントのタイプを示します。
- Group(グループ): 異なるクラスの管理対象機器からのイベント間の共通グループを示します。
- Type-Name pairs(タイプ-名前ペア): これらの名前-値ペアは、このイベントを発生させた詳細コンポーネントを特定します。これらは各クラス毎にユニークな可能性があります。
- Message Text(メッセージ文字列): イベントを説明する自由形式の文字列です。
これらのフィールドは、通常、クラウドと非クラウド両方の管理対象エレメントをひとつの中央システムに統合するのに使用されます。Tap In Linux エージェントを使用した管理対象 Linux サーバからの一般的なイベントのセットは、このようになります。注: フィールドのテキストは分かりやすさのため簡潔化してあります。
Class | First | Last | Count | Sev | Group | Rule | Type 1 | Name 1 | Text |
---|---|---|---|---|---|---|---|---|---|
TI_Linux_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 5 | Web Server | Disk | Host name | WEB01 | OK - Disk 30% free |
TI_Linux_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 2 | Web Server | Memory | Host name | WEB01 | WARNING –Memory 8% free |
TI_Linux_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 5 | Web Server | CPU | Host name | WEB01 | OK - CPU total 40% |
TI_Linux_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 5 | Web Server | Load | Host name | WEB01 | OK – Load_5 1.0 |
Tap In 管理サーバは、毎分数千ものイベントを処理する能力がありますので、一台の Tap In インスタンスで数百のサーバを管理することができるでしょう。ホスト名がこれらのチェックのソースを識別するため、この例ではひとつのタイプ-名前ペアのみが使用されています。しかし、イベントのタイプによってこれは変わる可能性があります。 Tap In は、イベントタイプを識別する(この場合は Linux エージェント)のにクラスフィールドを使用します。しかし、アーキテクチャは、さまざまのイベントタイプについての異なる数のタイプ-名前ペアを認めています。つまり、ノード、カードとポート上のエラーを識別するネットワーク機器によって生成されたイベントであれば、タイプ-名前ペアは下記のようになるでしょう:
- タイプ 1 -- ノード。 このイベントの発生もとのノード。
- タイプ 2 -- カード (そのノード内のカード)
- タイプ 3 -- ポート (そのカード内のポート)
Class | Last | Sev | Group | Rule | Type 1 | Name 1 | Type 2 | Name 2 | Type 3 | Name3 | Text |
---|---|---|---|---|---|---|---|---|---|---|---|
NET WORK | 01/01.08 11:00 | 1 | Web Server | Port HW Fault | Node | NODE101 | Card | A | Port | 7 | Hardware fault on port |
クラス内において、異なるルールについて異なるタイプ-名前ペアが対応する可能性が有ります。また Tap In アーキテクチャは、管理対象のテクノロジーがより大きなコントロールを必要とした場合、クラスにいくつでも「タイプ-名前」を指定できるようにしています。 Amazon のクラウドアプリケーション管理を例として使ってみましょう。
Amazon クラウドの開発者は、需要に対応するためクラウドのダイナミックに計算資源を拡張する能力を活用します。しかし、これらのインスタンスを監視するのが難しいため、このダイナミックな性質には管理上の問題があります。複雑なアプリケーションでは、サーバの役割をベースとしたクラスターやインスタンスのグループの可視性が重要です。
価値のあるひとつのレポートは、いつ Elastic Compute Cloud (EC2) インスタンスが開始し終了したか、および、期間中のある時点でさまざまのコンピュータクラスター内に幾つあったか、を表示する構成レポートです。完全にアラートとパフォーマンス情報もダイナミックな構成に関連させることができます。これらのビューを作成するには、イベントには下記の情報を含む必要があります:
- インスタンスのユニークな識別子
- 識別子のグループやクラスター
- インスタンス開始の当初時間
- インスタンスがアクティブだった最後の時間
非クラウドシステムでは、上記の例のように、ホスト名がユニークな識別子として一般的に使用されます。しかし、ホスト名と IP アドレスがインスタンスが開始した時に動的にアサインされるので、それらに依存することができません。クラウドアプリケーションでは、ユニークな識別子は動的に割り当てられるホスト名、インスタンス ID やその他の Amazon メタデータコンポーネントとなるでしょう。しかし、この識別子は開発者のための意味を持ち、開発者のために関連付けられ得る必要があります。これは、ふたつの方法で行われます。開発者が各サーバの役割毎に異なる Amazon Machine Image (AMI) を持っている場合、AMI がユニークな識別子になり得るでしょう。しかし、開発者が同じ AMI を複数のグループに使用することもありえますので、AMI では不明確です。
この場合、開発者はユニークな識別子をその開始時点でインスタンスに渡すユーザデータとして渡すことができます。すると、そのイメージは、ユーザデータをサーバーのロールを構成するのに使用します。そのため、ユニークな識別は、複数の Amazon メタデータフィールドの組み合わせになります。管理システムがこのレベルの詳細を提供するためには、そのシステムが Amazon メタデータにアクセスしてイベント内の監視情報を関連付けることができなければなりません。 Tap In 管理サーバーはこれを行います。
Amazon の管理対象インスタンスのため、Tap In エージェントがサーバの計測基準を監視するイベントを生成するために使用されます。 EC2 のための Tap In エージェントは、インスタンスからどのような Amazon メタデータでも抽出し、それをどのイベントフィールドにでも重ねあわす能力があります。構成レポートに要求されるイベントを生成するため、ひとつの実現性として Amazon インスタンス-ID を抽出し、それをタイプ-名前ペア(Type-Name pairs)のひとつに“instance-id” : i-xxxxxx として置くことがあります。
サーバーのロール(役割)がユーザデータから抽出される必要があるのであれば、Tap In EC2 エージェントはこの機能を実行します。そして、タイプ-名前はそのロールとユニークな識別子重ね合わせることができます。たとえば、ロール“web_server”がユーザデータから抽出されたら、タイプ-名前ペア内のユニークな識別子は、ロールとインスタンス ID の重ね合わせの“web_server:i-xxxxx”となるでしょう。さらに、イベントグループ(event group)フィールドには抽出されたロールを含むことができ、レポートで各グループ内のユニークなインスタンスの数を識別できます。各イベント内に First Time(当初時間)と Last Time(最終時間)があるので、レポートはいつ各々のユニークなインスタンスが存在したかと、特定の時点での各グループ毎のアクティブなインスタンスの数を識別できます。
Class | First | Last | Count | Sev | Group | Rule | Type 1 | Name 1 | Text |
---|---|---|---|---|---|---|---|---|---|
TI_EC2_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 5 | Web Server | Disk | ID | Webserver: i-12345 | OK - Disk 30% free |
TI_EC2_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 2 | Web Server | Mem | ID | Webserver: i-12345 | WARNING –Memory 8% free |
TI_EC2_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 5 | Web Server | CPU | ID | Webserver: i-12345 | OK - CPU total 40% |
TI_EC2_Agent | 01/01.08 09:00 | 01/01.08 11:00 | 24 | 5 | Web Server | Load | ID | Webserver: i-12345 | OK – Load_5 1.0 |
- ami_id
- instance_id
- instance_type
- local_hostname
- public_hostname
- local_ipv4
- public_ipv4
- reservation_id
- security_groups
- product_codes
- user_data
データベース内のこれらのイベントで、構成レポートが作成されます。