La surveillance avancée de SoftLayer utilise NimSoft. Dans cet article, je vais vous montrer comment mettre en place le suivi de processus qui est souvent demandé.
Vérifiez le nom du processus que vous souhaitez surveiller. Prenons mysqld comme exemple cette fois. Pour identifier le nom du processus, la commande ps utilise éventuellement -e au lieu de -ef.
# 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
Allez dans Appareils-> Surveillance. Sélectionnez ** Configurer les rapports d'agent ** dans le champ ** Avancé ** du serveur concerné
Sélectionnez ** Agents de surveillance de processus ** comme agents. Dans les sections, sélectionnez ** Abonnés d'alarme ** et ajoutez des destinations de notification par e-mail.
Sélectionnez ** Add Agent Config ** dans Profiles et configurez le processus à détecter. ** Notez que le nom du processus est "mysqld" au lieu de "/ usr / libexec / mysqld"! ** Dans ce qui suit, ** Nom de l'observateur ** et ** Processus ** ont le même nom par souci de clarté. Enfin, sélectionnez ** Ajouter la configuration de l'agent ** à la fin et vous avez terminé.
Désormais, en cas d'échec, la notification suivante sera transmise à l'email. En plus du courrier électronique, vous pouvez également vérifier l'échec actuel à partir de l'écran ci-dessous.
Par exemple, lorsque vous souhaitez surveiller un shell spécifique, tous les noms de processus sous Linux sont affichés en tant que ** bash **, il est donc impossible de les distinguer. ** Process Command Line ** est utilisé lorsque cette distinction est requise.
Regardons un exemple concret. Ce qui suit exécute bash / usr / local / hoge.sh
, mais ps -e
rend le nom du processus indiscernable.
# 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
Dans ce cas, comme le montre la figure ci-dessous
En réglant, des paramètres de surveillance corrects sont possibles.
Recommended Posts