gokigenmaruのブログ

40から始めるクラウドエンジニア

Linux EC2で動いているプロセス数をCloudwatchで見れるようにする

EC2上で動いているプロセス数がCloudwatchで見れると便利ですよね。
ということで、今回はEC2(Linux)で動いているプロセス数をCloudwatchAgentを使ってCloudwatchで見えるようにします。

CloudwatchAgent

この設定で肝となるのはLinux上で動かしているCloudwatchAgentです。
CloudwatchAgentはインストールしてあげれば利用可能です。
インストール方法とかは以下のサイトを参考にしてください。
docs.aws.amazon.com

CloudwatchAgent設定

それではCloudwatchAgentでプロセスを取得しようと思います。
テスト用にEC2(Linux)を立ち上げます。LinuxはAmazonLinux2を使用します。今回はhttpのプロセスを取得する設定を入れてみます。
Linuxを立ち上げた後、CloudwatchAgentを入れて、CloudwatchAgentの設定ファイルに以下を追加します。

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

以上略…
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "exe": "httpd",
                    "measurement": [
                        "pid_count"
                    ]
                }
            ]
        }
    },
以下略…

この設定を実施したのちにCloudwatchAgentの再起動をしてください。

Cloudwatch

Agent側で設定をするとCloudwatchで以下のようにメトリクスが取れていると思います。

CWAgent
CWAgent2
CWAgent3

これでCloudwatchでEC2のプロセス数が見れるようになりました。
今回はhttpのプロセス数を取りましたが、別のプロセスも取れるのでいろいろ試してみるといいと思います。