概要
Datadogを使用した、AWS上のEC2インスタンス上のプロセス監視(閾値監視)を行う。
その前提として、DatadogによるEC2インスタンス上で稼働しているプロセスの情報取得が必要となる。
今回、プロセス情報の取得方法について説明する。
注) Datadogコンソール上でのモニター設定(監視閾値設定)については別途説明する。(ここでは取り扱わない)
プロセス情報の取得について
監視製品の中には、監視Agentが稼働しているOS上のプロセス情報を初期状態の時点で取得するものがある。(例: IBM Tivoli Monitoring)
一方、Datadogの場合、初期状態では監視Agentが稼働しているOS上のプロセス情報を取得しない。明示的に情報を取得するための設定が必要となる。
Datadogでのプロセス情報の取得について
まず、Datadogのプロセス情報の取得方法について整理する。
手法は2つで、ライブプロセス(Live Process)とプロセスチェックである。
両者共に、リアルタイムにプロセスの状況を取得する事が可能であり、それぞれの特徴は以下である。
- ライブプロセス(Live Process)
OS上で稼働しているプロセスの情報をまとめて確認できる。(除外項目を除く)
Datadog Agent側にプロセス情報を取得するパラメーターを有効化する必要がある。
ただし、ライブプロセス(Live Process)の利用にはEnterpriseのライセンスが必要となる。
- プロセスチェック
個別のプロセスに対する状況を確認(監視)できる。
そのために、Datadog Agent側に情報を取得したいプロセスを個別に指定する必要がある。
Enterpriseのライセンスを所有しているのであれば、ライブプロセスを利用するのが妥当と考える。
理由は、プロセスチェックを利用した場合、プロセス監視の対象追加が発生した場合、都度Datadog Agentの構成ファイルに監視対象となるプロセスを指定する必要があり、運用としての手間を要することになるためである。
ライブプロセス(Live Process)を使用したプロセス監稼情報の取得
以下の手順を実施することでプロセス監視情報を取得することが可能になる。
- Datadog Agentのインストール
監視対象にDatadog Agentをインストールする。
インストール手順についてはここでは割愛する。
- ライブプロセス(Live Process)の有効化
ライブプロセス(Live Process)の設定はdatadog.yaml(/etc/datadog-agent/datadog.yaml)内にあり、初期値は無効になっている。ここを有効に変更する必要がある。
例
process_configにあるprocess_collectionの設定値をenabled: trueにする。
process_config:
process_collection:
enabled: "true"
※設定値はコメントアウトされているのでコメントアウトを外す。
注) yamlファイルなので、インデントの位置が重要。単にコメントアウトを外すと、Agent起動エラーになることがある。気になる場合は、Datadogの公式URLにある記載をコピー&ペーストするのが無難
パラメーター変更後はDatadog Agentの再起動が必要。(再起動することで変更したパラメーターが反映される)
- 取得されたプロセス情報を表示
Datadogコンソールで確認対象のホストを選択し、Processesタブをクリックする。
すると、Datadogで取得されているプロセスやサービスの情報一覧が参照可能。
プロセス単位のCPU使用率やメモリ使用率も表示されている。