Linuxのプロセス監視
どのようにすればLinuxマシンで稼働中のプロセスを監視できますか?
情報源
この資料の情報源は以下のとおりです:
ナレッジベース:Monitoring processes in Linux
https://kb.paessler.com/en/topic/29403-monitoring-processes-in-linux
この記事はPRTG Network Monitor 9以降に適用されます。
本資料はPaessler AG作成の資料/ナレッジベースをジュピターテクノロジー株式会社(以下当社と略記)が独自で翻訳したものです。ベストエフォートの翻訳であるため、最新情報ではない可能性があります。最新情報は情報源をご確認ください。
前提条件
- NET-SNMPのインストールと設定
Linuxシステム上でプロセスが稼働しているかどうか(あるいは、いくつ稼働しているか)を監視することは有益です。これはSNMPで可能ですが、そのためにはSNMPの設定をいくつか変更する必要があります。
デバイス側のSNMP設定
- 「snmpd.conf」ファイルをテキストエディタで開いて、ファイルの末尾に移動
- 下記を追加
proc <process name>
・<process name>を目的のプロセス名に置き換える
・【重要】プロセスリスト上の名前と正確に同じでなければなりません。sbinやbinディレクトリにあるプロセス名を使う必要があるかもしれません。
・使用するプロセス名を知るには「/bin/ps -e」コマンドを実行してください。
- 変更を反映するためにSNMPサービスを再起動
デバイステンプレートによるセンサーの自動作成
このテンプレートは以下の内容をポーリングします
- プロセス
- ステータス(prErrorFlag)
- 数
アラートにはデフォルトで「ステータス」が使われるでしょう。しかし、「プロセス数」チャネルを追加の制限に定義することができます。監視したいデバイスやプロセスがいくつもある場合は特に、デバイステンプレートの利用がセンサーの追加を簡単にします。
デバイステンプレートの追加と使い方
- 必要なzipファイルをここからダウンロードしてください。
- 圧縮ファイルをPRTGプログラムディレクトリに解凍してください。デフォルトは「%Program Files (x86)%\PRTG Network Monitor\」です。
- PRTGでコアサーバーを再起動してください。「設定 | システム管理 | 管理ツール」で「PRTGコアサーバーサービスの再起動」を[実行]します。これで、自動検出を実行する前にMIBとルックアップがロードされます。
- 監視したいデバイスのアドレス(IP、またはFQDN)を指定してPRTGに新規デバイスを作成し、それぞれに「SNMPデバイスの資格情報」を設定してください。
- 新規デバイスを右クリックして、「自動検出 > テンプレートを使用して自動検出を実行する」を選択してください。そして、リストから「Custom UCD-SNMP Linux Process v0.x」を選択します。
【注意】専用のデバイステンプレートで自動検出を使うことは、カスタムセンサーの作成を整理された形で自動化できるのでここでは便利です。 - 数分でセンサーが追加されます。
- 後から必要に応じてチャンネルの制限値やルックアップを調整することができます。
テンプレートのバージョンヒストリー
0.1 | 初版リリース |
0.2 | snmp_prTableチェックを修正 |
手動センサー作成
自動検出を使いたくなければ、センサーを手動で追加することも可能です。下記の通りです。
- PRTGのWebインターフェースを開く
- 監視したいデバイスを追加する
- 「SNMP ライブラリ」センサーを追加して「Basic Linux Library」を選択
- 上記の手順により、プロセスが次のように表示されます
MIB Module | Category | Name | |
Basic Linux Library (UCD-SNMP-MIB) | Processes: 1 | Processes Index | |
Basic Linux Library (UCD-SNMP-MIB) | Processes: 1 | Processes Count | |
Basic Linux Library (UCD-SNMP-MIB) | Processes: 1 | Processes Error Flag |
監視したい値を選択(例:「Prosesses Count」はプロセスの実行数を表す)して[Continue」をクリック
- センサーの「設定」タブに移動して、プロセスに合った名前に変更してください
上記に続いて他のプロセスを追加したければ、カテゴリ「Processes: 2」に新しいプロセスが表示されるので同様にします。
基本的に以上がLinuxマシンのプロセスを監視する方法となります。
これはUbuntuでテストしていますが、NET-SNMPを使っているその他のディストリビューションでも同じでしょう。
【注意】これは、カスタム テーブル センサーを使用しても可能で、センサーの名前をより良くし、自動検出のサポートを向上させることができるようになります。ヒント このテーブルの OID は 1.3.6.1.4.1.2021.2 です。
参考
- Linux/Mac OS Distributions Supported by PRTG’s Linux/Unix Sensors
- Checklist Setting up SNMP on Linux
- How do I monitor system parameters like memory, CPU and disks on Linux systems via SNMP?(JTC翻訳資料あり)
免責事項・使用限定事項
ジュピターテクノロジー株式会社(以下当社と略記します)が作成した本ドキュメントに関する免責事項および本ドキュメント使用に関する限定事項は以下の通りです。
本ドキュメントに関する免責事項
本ドキュメントは作成時点においてメーカーより提供された情報および当社での検証結果により作成されたものですが、当社は本ドキュメントの内容に関していかなる保証をするものではありません。万一、内容についての誤りおよび内容に基づいて被った損害が発生した場合でも一切責任を負いかねます。本ドキュメントの内容によりなされた判断による行為で発生したいかなる損害に対しても当社は責任を負いません。
本ドキュメント使用に関する限定事項
別に定める場合を除いて、本ドキュメントの取り扱いは当社より提供を受けたお客様による私的かつ非営利目的での使用に限定されます。お客様は、本ドキュメントについて、変更、コピー、頒布、送信、展示、上映、複製、公開、再許諾、二次的著作物作成、譲渡、販売のいずれも行うことができません。
お問い合わせ
PRTG Network Monitorについて、ご不明な点などございましたらお問い合わせください:
ジュピターテクノロジー株式会社(Jupiter Technology Corp.)
住所: 〒183-0023 東京都府中市宮町一丁目40番地 KDX府中ビル6F
URL: https://www.jtc-i.co.jp/
電話番号: 042-358-1250
購入前のお問い合わせ先: https://www.jtc-i.co.jp/contact/scontact.php
購入後のお問い合わせ先: https://www.jtc-i.co.jp/support/customerportal/
この記事へのコメントはありません。