【CloudWatch】procstatを使用してプロセスを監視する

AWS

こちらの記事でCloudWatch Agentとcollectdを使ってオンプレミスサーバーからAWS CloudWatchへカスタムメトリクスを送信する方法を記載しましたが、今回はprocstatをとってプロセスの監視をしてみようと思います。

基本的には以下の公式ページに詳しくやり方が記載してあります。

procstat プラグインでプロセスメトリクスを収集する - Amazon CloudWatch
CloudWatch エージェントと procstat を使用してプロセスからメトリクスを収集する方法を示します。

前提

我が家の自宅サーバー(NUC)はAnsibleで管理しているので、Ansibleのプレイブックにより修正作業を行っています。

自宅の機器をAnsibleで管理する方法については、以下の記事を参照ください。

Ansibleを使ってオンプレミスサーバーにCloudWatch Agentとcollectdをインストール&設定する方法は以下をごらんください。

自宅サーバーにansibleでCloudWatch Agentの設定をしてCloudWatchで監視できるようにした

amazon-cloudwatch-agent.json

以下が設定ファイルです。

...
    "metrics": {
        "metrics_collected":                      
            "procstat":[
                {
                    "exe": "chronyd",
                    "measurement": [
                        "cpu_usage",
                        "memory_data"
                    ]
                }
            ]
        }
...

metricsの下のmetrics_collectdの中にprocstatを指定して、配列で監視したいプロセスを記載します。

公式ページに指定できるパラメータが記載されています。exe以外にも3種類記載できるようです。

プロセスの指定方法内容
pid_fileプロセスが作成するプロセス識別番号(PID)ファイルの名前でプロセスを選択する。
/var/run/crond.pid など
exe正規表現を含む指定した文字列を含むプロセス名のプロセスを監視します。
pattern指定した文字列を含むコマンドラインを持つすべてのプロセスをモニタリングします。

結果

取得し始めてすぐなので、収集出来ているデータが少ないですが、ちゃんと取れているのが分かります。

CloudWatch Agent経由で取得したメトリクスは、「すべてのメトリクス」-「CWAgent」の下に出てきます。

この記事を書いた人

渋谷で働くよわよわエンジニア。TypeScript(Next.js/Node.js)/Golang/AWS/Flutterなど
LINE API Expert(2023/1~)

tokkuをフォローする
オススメ記事
在宅ワークが多くなって、デスクの配線周りに困っている方は、拡張デスクの導入がおすすめです。Windows/MacOS/Linuxの複数の機器をスッキリとデスク周りに収める事ができました!リモートからサーバーメンテを行うインフラエンジニアは必見です!
AWS
tokkuをフォローする
インフラエンジニアがもがくブログ

コメント

タイトルとURLをコピーしました