MackerelでEC2のプロセス監視をやってみた

2020.01.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ご機嫌いかがでしょうか、豊崎です。

本日2本目の投稿ではMackerelのプロセス監視について書いていきたいと思います。

前提

  • EC2(Amazon Linux2)にmackerel-agentをインストールして監視を行っていること
  • httpdのプロセスを監視する

利用AMI:amzn2-ami-hvm-2.0.20191217.0-x86_64-gp2 (ami-011facbea5ec0363b)

やってみた

Mackerelを利用してログ監視を行う場合、公式チェックプラグイン集を利用します。

まずは対象のEC2にログインし公式チェックプラグイン集をyumでインストールします。

#yum install mackerel-check-plugins

※ちなみにdebian系のパッケージ管理でインストールする場合は以下となります

#apt-get install mackerel-check-plugins

次にEC2にログインして「/etc/mackerel-agent/mackerel-agent.conf」内に以下を追記、保存をしました。

・
・
[plugin.checks.check_httpd]
command = ["check-procs", "--pattern", "httpd"]

内容についての説明

  • 監視のルール名は「check_httpd」としました →[plugin.checks.check_httpd]
  • プラグインの"check-procs"を使ってプロセス監視を行うため、2行目の先頭で"check-procs"と宣言
  • 監視対象のプロセスを、--patternオプションを利用して"httpd"と指定

設定ファイルの修正が完了したので、Mackerel-Agentの再起動を行います。

# systemctl restart mackerel-agent.service

 

それではhttpdを停止してみます。

# systemctl stop httpd.service

しばらくするとMackerelコンソール上でアラートが表示されます。

それでは検知ができたので、httpdを起動してみます。
# systemctl start httpd.service

httpdの起動を検知して、無事クローズされています。

さいごに

ログと同様に非常にシンプルな設定でプロセス監視することができました。興味があればお試しいただければと思います。この記事が誰かのお役にたてば幸いです。

参考

補足:オプション

  • --pattern
    • 対象プロセスにマッチさせるための正規表現を指定
  • -w/--warn-over
    • プロセス数が設定値を上回ったらwarning
  • -c/--critical-over
    • プロセス数が設定値を上回ったらcritical
  • -W/--warn-under
    • プロセス数が設定値を下回ったらwarning
  • -C/--critical-under
    • プロセス数が設定値を下回ったらcritical