サーバー監視 · 1 min read · Oct 18, 2025
Opsviewを使用したLinuxおよびUnixサーバーの温度監視
Opsviewを使用したLinuxおよびUnixサーバーの温度監視
データセンターでの電力消費の管理は、全体的なビジネスのエネルギーコストを抑え、サーバーが最適なパフォーマンスで稼働していることを確保するための重要な要素です。過熱は冷却コストの増加を引き起こし、サーバーがクラッシュするリスクも伴います。
Opsviewサーバー監視ソフトウェアは、サーバーの温度やサーバー内の個々のコンポーネント(メモリ、CPU、ハードドライブ)の温度をチェックし、アラートを出すために使用できます。重要な温度を超えた場合のしきい値とアラートを設定することで、過熱しているサーバーを管理するのに役立ちます。
このブログ記事では、Opsviewを設定してLinuxおよびUnixサーバーの温度を監視する方法を詳述します。
手順:
[ 注: このガイドは、監視したいシステムにすでにOpsviewエージェントがインストールされていることを前提としています]
1. rootとして、「lm_sensors」と「hddtemp」をインストールする必要があります(名前はLinuxディストリビューションによって異なる場合があります)。CentOS/RHELでは、「yum install lm_sensors hddtemp」を使用して取得します。
2. これらのアイテムがインストールされたら、rootとして「sensors-detect」を実行して、温度を監視したいアイテムを検出する必要があります。完了したら、これを保存する必要があります(単にENTERを押すだけで)、「sensors-detect」が完了します。
3. これでlm_sensorsとhddtempがインストールされたので、以下のようにローカルでテストできます:
HDD Temp:
[root@rhelserver ~]# hddtemp /dev/sda/dev/sda: ST3120811AS: 31°Clm_sensors:
[root@rhelserver ~]# sensorscoretemp-isa-0000Adapter: ISA adapterCore 0: +38.0°C (high = +84.0°C, crit = +100.0°C)Core 1: +39.0°C (high = +84.0°C, crit = +100.0°C)Core 2: +37.0°C (high = +84.0°C, crit = +100.0°C)Core 3: +38.0°C (high = +84.0°C, crit = +100.0°C)
i5k_amb-isa-0000Adapter: ISA adapterCh. 0 DIMM 0: +67.0°C (low = +110.5°C, high = +124.0°C)Ch. 1 DIMM 0: +62.0°C (low = +110.5°C, high = +124.0°C)
上記の出力から、センサーとその温度読み取りが検出され、期待通りに機能していることがわかります。次に、これを「センサーごと」に出力を取得するためのプラグインを追加し、サーバー温度を監視するためのサービスチェックに追加する必要があります。
4. こちらのリンクから「check_lm_sensors」プラグインをダウンロードし、/usr/local/nagios/libexecにコピーします。完了したら、以下のコマンドで抽出します。
tar -zxvf check_lm_sensors-3.1.1.tar.gz5. 新しいプラグインをrootとしてテストするには、以下を実行します:
/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –listこれにより、再びセンサーとその温度がリストされるはずです。これが機能しない場合やPerlエラーが表示される場合は、nano/vimを使用してcheck_lm_sensorsファイルを編集し、スクリプトの先頭に以下を追加します。
use lib "/usr/local/nagios/perl/lib/";6. このコマンドを「nagios」ユーザーとして実行できるようにするために(check_nrpeサービスチェックに必要)、次のコマンドを実行します:
chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorschown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/7. /etc/sudoersファイルに行を追加する必要があります。rootユーザーとして、/etc/sudoersの最後に次の行を追加します:
nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorsこれにより、nagiosユーザーはパスワード認証なしでcheck_lm_sensorsをrootとして実行できるようになります。
8. 次に、エージェントにチェックコマンドを追加する必要があります。これらはサーバー上でローカルに実行され、出力をcheck_nrpeコマンドを介してOpsviewサーバーに渡します(NRPEはNagios Remote Plugin Executorの略です)。これを行うには、コマンドが何であるか、そしてそれを何と呼ぶかを明確にする必要があります。そのためには、/usr/local/nagios/etc/nrpe_local/override.cfgにある「overrides.cfg」ファイルを編集する必要があります。
9. vimやnanoなどのテキストエディタを使用してこのファイルを編集する必要があります。例:
nano /usr/local/nagios/etc/nrpe_local/override.cfg以下のような行を追加します:
check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core0=45,55
check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core1=45,55
check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core2=45,55
check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core3=45,55
check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.0DIMM0=60,75
check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.1DIMM0=60,75
check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high sdaTemp=60,75これにより、「core0_temp」などの7つの新しいコマンドが作成され、右側に指定されたフルパスが実行されます。
10. 次に、Opsviewエージェントを再読み込みする必要があります。以下のように実行します。
service opsview-agent restart11. これで、nagiosユーザーとしてこれらの新しいコマンドをテストできます。/usr/local/nagios/libexecに移動し、以下のようにコマンドを実行します:
./check_nrpe –H localhost –c dimm0_tempこれが成功すると、以下のような結果が出力されます:
[nagios@rhelserver libexec]$ ./check_nrpe -H localhost -c dimm0_temp
LM_SENSORS WARNING - Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;12. すべてが正常に動作していることが確認できたので、Opsviewでサービスチェックを作成し、ホストに追加する必要があります。これを行うには、Opsviewにログインし、「 設定 > サービスチェック 」に移動し、緑の「プラス」記号をクリックします。これにより新しいページが読み込まれ、名前、サービスグループなどのさまざまな設定を入力する必要があります。
この例で重要なセクションはプラグインと引数です。「プラグイン」ではcheck_nrpeを選択し、引数には「 -H $HOSTADDRESS$ -c dimm0_temp 」のようなものを入力する必要があります。「dimm0_temp」は、以前に実行してoverrides.cfgファイルに追加したコマンドです。

13. overrides.cfgに追加したすべての行のサービスチェックを作成したら、「 設定 > ホスト 」に移動し、対応するホストをクリックします(Opsviewに現在存在しない場合は追加します)。次に、モニタータブに移動し、以下のように新しいサービスチェックを選択できます:

14. 追加したら、最後にOpsviewを再読み込みして変更を適用する必要があります。「 設定 > 変更を適用 」を介して構成を再読み込みします。再読み込みが完了したら、ホストに移動し、新しいサーバー温度モニターを以下のように表示できます:
15. これで、温度に基づいて通知プロファイルを作成し始めることができます。たとえば、「データセンター‘XYZ’のサーバーの温度がクリティカルになると通知する」などです。このようにして、サーバーの温度がクリティカルになるとすぐにSMS/email/iOSプッシュ通知で通知を受け取り、すぐに調査できます。

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。