[AWS]CloudWatchについて大枠を理解しよう~超初心者編~
AWSのシステム監視サービス「CloudWatch」
ClowdWatchAlarm、ClowdWatchAgent、ClowdWatchLogs、カスタムメトリクス、基本メトリクス、メトリクスフィルターなどなど、、、
たくさん用語やサービスがあります。
どれも似ててややこしいので違いを理解するのに苦労しました。。(;_:)
なのでここでは「監視対象からメトリクスを取得して通報する」際の
サービスの違いや役割について整理しました。
(そんなこと言われなくても知ってるよ(^-^;ってところまで細かく書いてます!超初心者編なので笑)
CloudWatchAlarm
まず一番よく聞くのが「CloudWatchAlarm」
これは後に説明する方法で監視対象から取得する「メトリクス」を紐づけて監視し、しきい値を設定し、任意の場所にメール通報したりするサービスのことです。また、Lambda関数と紐づけてアクションを実行したりもできます。
なので、「メトリクス」がないと何も始まりません。
では「メトリクス」はどのように取得し、どんな種類があるのでしょうか?
標準メトリクス
標準メトリクスは、EC2が作成された瞬間から、勝手に収集される決まったメトリクスです。これは何もせずともCloudWatchのメトリクスの所にたまっていきます。標準メトリクスで具体的に何を監視できるかは公式ドキュメントに記載されています。
しかし、標準メトリクスで監視できるものはとても限られています。。(;_:)
そのため標準メトリクス以外のメトリクスや、オリジナルのメトリクスを集めて監視を行いたい場合、EC2に入り込んでいろいろする必要があります。それがいわゆるカスタムメトリクスです。
カスタムメトリクス
ここで登場するのが「CloudWatchAgent」です。
「CloudWatchAgent」をEC2にインストールして設定すると、標準メトリクス以外のメトリクスや、オリジナルのメトリクスを収集できます!
「CloudWatchAgent」にできることは大きく二つあります
メトリクスの収集
WindowsServerにおいては、「Windows パフォーマンスモニターでカウンタに関連付けられているメトリクス」を収集できます。
また、EC2にバッチファイルなどで収集の詳細を仕込むことで、「オリジナルなメトリクス」(exサービスの開始停止など)を取ってくることもできます。
ログの収集
「Windowsイベントログ」と「ファイルに吐き出された指定のログ」を収集可能です。
上記2つの収集(Windows パフォーマンスモニターカウンタとログ)は、
「CloudWatchAgent」を利用する際に必須となる、JSONでできた「エージェント設定ファイル」の中で定義して実現します。
メトリクスフィルター
「CloudWatchAgent」によって収集されたログは、「CloudWatchLogs」の中にたまっていきます。(正確にはログストリームというものができその中にたまっていく)
ログは起こった出来事についての情報を時系列に記録したデータです。そのため、ログそれ自体ではアラームにひもづけることはできません。
ログからの情報で通報を飛ばしたいときは、
たまったログたちに「メトリクスフィルター」というものを作ってかけます。
このフィルターは、様々条件を指定でき、最終的に通報を上げたい「メトリクス」だけにフィルタリングことができます。こうしてログは最終的にメトリクスフィルタを通ることでメトリクスとなり、CloudWatchAlarmに紐づけることができるようになります。
まとめ
以上が大まかなAWS監視サービスの役割でした。
監視をする際には、基本メトリクス、足りなければカスタムメトリクスを使って、CloudWatchAlarmに紐づけて通報!
各サービスのもっと細かい事項についてはまた書きたいと思います。