LoginSignup
1
1

More than 3 years have passed since last update.

ShinobiLayer: Advanced Monitoringによるプロセス監視

Last updated at Posted at 2015-04-20

はじめに

SoftLayerのAdvanced MonitoringはNimSoftを使っています。この記事では、よく聞かれるプロセス監視の設定方法を紹介します。

※Advanced Monitoringを選択するとNimSoftのAgentが各サーバーに導入されるのですが、この導入途中でプロビジョニングが長時間待機させられてしまうこともあったり、監視方法に癖があるため、個人的にはAdvanced Monitoringを使うよりは、Zabbix等を独自に導入したほうが良いと思います。

プロセス名の確認

監視したいプロセス名をチェックします。今回はmysqldを例にとってやってみましょう。プロセス名の特定のためには、psコマンドは-efではな-eをオプションとして使います。

# ps -ef | grep -e PID -e mysqld
UID        PID  PPID  C STIME TTY          TIME CMD
root      1591     1  0 14:29 pts/1    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     1700  1591  0 14:29 pts/1    00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root      4042  3248  0 15:15 pts/2    00:00:00 grep -e PID -e mysqld

# ps -e | grep -e PID -e mysqld
  PID TTY          TIME CMD
 1591 pts/1    00:00:00 mysqld_safe
 1700 pts/1    00:00:00 mysqld

Customer Portalでの設定

  • Devices -> Monitoringに移動。該当サーバーのAdvancedのフィールドにて、Configure Agent Reportsを選択
    001.jpg

  • AgentsとしてProcess Monitoring Agentsを選択。Sectionsにて、Alarm Subscribersを選択し、メールにて通知先対象を追加。
    002.jpg

  • ProfilesのAdd Agent Configを選択し、検知するプロセスを構成する。プロセス名の箇所は「/usr/libexec/mysqld」ではなく「mysqld」であることに注意! 下記では分かりやすいように、Watcher NameProcessを同じ名前にしている。最後に末尾のAdd Agent Configを選択すれば完了。
    003.jpg

これで、障害時には以下のような通知がメールに転送されます。
005.jpg
また、メール以外にも以下の画面から現在発生中の障害を確認することが可能です。
006.jpg

Process Command Lineの使い方

例えば、特定のshellの監視をしたい時は、Linuxにおけるプロセス名は全てbashとして出力されてしまうため、区別ができません。この区別が必要な際に使うのがProcess Command Lineです。

具体的な例を見てみましょう。下記はbash /usr/local/hoge.shを実行しているのですが、ps -eではプロセス名に区別が付きません。

# ps -ef |grep -e PID -e "hoge.sh" | grep -v grep
UID        PID  PPID  C STIME TTY          TIME CMD
root      3928 22591  0 15:13 pts/0    00:00:00 bash /usr/local/hoge.sh


# ps -e | grep -e PID -e bash
  PID TTY          TIME CMD
  588 pts/1    00:00:00 bash
 3248 pts/2    00:00:00 bash
 3928 pts/0    00:00:00 bash
22591 pts/0    00:00:00 bash

この場合、下図のように、

  • Processとしては「bash」
  • Process Name + Command Lineとしては、「bash /usr/local/hoge.sh」 004.jpg

と設定することで、正しい監視設定が可能になります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1