サーバー監視 · 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°C

lm_sensors:

[root@rhelserver ~]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 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-0000
Adapter: ISA adapter
Ch. 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.gz

5. 新しいプラグインを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_sensors
chown –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 restart

11. これで、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プッシュ通知で通知を受け取り、すぐに調査できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。