Translate

2016年9月3日土曜日

HDD温度のグラフ化 その3)Windowsクライアントへのインストール(つづき)

 こんにちは、稲田商会です。

 前回では、クライアントのWindows7(64bit)にSmartMonToolsをインストールしました。
 今回は、NET-SNMPをインストールする作業について記します。

◎Windows7(64bit)クライアントの設定(つづき)

○NET-SNMPのインストール

 次のサイトを参考にインストールします。

URL: 【フリーツール】【Win】SNMP関連のツール ~NET-SNMP編 ~(プログラム の個人的なメモ)

1)ダウンロード
 SourceForgeから「net-snmp-5.5.0-2.x64.exe」をダウンロードします。

URL: http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=162885
(上記URLで開いて、5.5-binariesをクリックすると表示されます。)

2)インストール
 ファイルを実行して、ウィザードのままインストールします。
 標準の設定から変更点はありません。



3)設定ファイルの編集
 設定ファイルの雛形がHelpに入っているので、それを取り出します。

(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Net-SNMP Help]を選択。
(2)[検索タブ]-[キーワード]に"config"を指定。
(3)[トピック]の"EXAMPLEWin32"をダブルクリックし、表示内容を全てコピー。
EXAMPLEWin32で表示される内容。全文をコピーする。

(4)テキストエディタに貼り付け、[C:\usr\etc\snmp\snmpd.conf]として保存。
(5)テキストエディタで先ほどのsnmpd.confを開き、編集後保存する。
 編集箇所1
  編集前
 com2sec local localhost COMMUNITY
 com2sec mynetwork NETWORK/24 COMMUNITY
編集後
 com2sec local localhost public
 com2sec mynetwork 192.168.0.0/24 public
  編集内容
   snmpwalkなどでアクセスする際のコミュニティ名をpublicに指定する。
   LAN内のアドレスからの要求を受け入れる。(アドレス範囲は適宜変更)

 編集箇所2
  編集前
 syscontact Me <me@somewhere.org>
編集後
 syscontact Administrator <admin@example.jp>
  編集内容
   snmpwalkなどで表示されるコンタクト先を変更

4)Windowsサービスの登録と開始
snmpdをWindowsサービスとして登録し開始させます。
 もし、snmpd.confファイルの内容を変更した場合は、Windowsサービスを再起動して設定変更を反映させてください。

(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Service]-[Register Agent Service]を右クリックし、「管理者として実行」を選択。
(2)[スタート]-[コントロールパネル]-[管理ツール]-[サービス]を開く。
(3)名前が"Net-SNMP Agent"の行を右クリックし「開始」を選択。


4)実行テスト
 コマンドプロンプトを開いて、snmpwalkでの取得を試みます。

>snmpwalk -v1 -c public localhost #localhostのSNMP取得
SNMPv2-MIB::sysDescr.0 = STRING: Windows ti7-PC 6.1.7601 Service Pack 1  Home Ed
ition Intel64 Family 6 Model 58 Stepping 9
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60931) 0:10:09.31
SNMPv2-MIB::sysContact.0 = STRING: Administrator <admin@example.jp>
SNMPv2-MIB::sysName.0 = STRING: ti7-PC
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
(省略)
SNMPv2-MIB::snmpSilentDrops.0 = Counter32: 0
SNMPv2-MIB::snmpProxyDrops.0 = Counter32: 0

 snmpが取得出来たので、snmpdが動いていること、snmpのツールが正しく動作することが確認できました。

 それでは、今回はこのへんで。

HDD温度のグラフ化 その2)Windowsクライアントへのインストール

 こんにちは、稲田商会です。

 前回では、方針や環境、使用するソフトなどを書きました。
 今回は、クライアントであるWindows7(64bit)にインストールする作業について記します。

◎Windows7(64bit)クライアントの設定

○SmartMonToolsのインストール

 次のサイトを参考にインストールします。

URL: Windowsでsmartmontoolsを使ってHDD診断(bnote.net)

1)ダウンロード
 SourceForgeから「smartmontools-6.5-1.win32-setup.exe」をダウンロードします。

URL: https://sourceforge.net/projects/smartmontools/files/?source=navbar

2)インストール
 ファイルを実行して、ウィザードのままインストールします。
 標準の設定から変更点はありません。


3)実行テスト
 SmartMonToolsは特に設定はありませんので、実行してみます。

>smartctl --scan #デバイスの一覧 
/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/sdd -d scsi # /dev/sdd, SCSI device
/dev/sde -d scsi # /dev/sde, SCSI device

 実行したPCはHDD(というかSSD)は/dev/sdaの一つだけなので、それの情報を取得します。

>smartctl -A /dev/sda #デバイスの情報取得 
smartctl 6.5 2016-05-07 r4318 [x86_64-w64-mingw32-win7-sp1] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_
FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -
       0
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       -
       19759
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -
       1037
177 Wear_Leveling_Count     0x0013   087   087   000    Pre-fail  Always       -
       455
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -
       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -
       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -
       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -
       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -
       0
190 Airflow_Temperature_Cel 0x0032   064   057   000    Old_age   Always       -
       36
195 Hardware_ECC_Recovered  0x001a   200   200   000    Old_age   Always       -
       0
199 UDMA_CRC_Error_Count    0x003e   253   253   000    Old_age   Always       -
       0
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -
       164
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -
       15517816000
無事、S.M.A.R.T.情報が取得できました。

 それでは、今回はこのへんで。

HDD温度のグラフ化 その1)準備

 こんにちは、稲田商会です。

 LAN上の複数のPCでHDDの温度をグラフとして可視化し、管理したいと思い、ネットで調べて次のような作業手順を考えました。

1.S.M.A.R.T.情報でHDDの温度を取得
2.SNMPでLAN内で情報を取得
3.サーバでSNMP情報をグラフ化して管理

 HDD情報の取得でS.M.A.R.T情報を使用するのは、個人使用のPCでは収集出来るケースが多いと考えたからです。
 また、SNMPによって情報を通信することで、HDD温度以外の情報にも対応可能と考えられます。
 以下、試行錯誤で作業した結果を備忘録的に纏めます。

◎作業方針
1)情報収集先のPCはWindows、Linuxに対応出来るようにする
 私の環境では、HDDを収集するPCのOSは、Windows、Linuxがあります。
 これを出来るだけ同じように取り扱えるようにします。

2)出来るだけ標準的なツール、設定を使用する
 標準的に使用されているツールを用い、標準的な設定の範囲で行うことで、メンテナンスや移植がし易いようにします。

 ネットで調べた結果、使用するツールは次のとおりとします。

○SmartMonTools
 S.M.A.R.T情報の取得に使用します。
 CentOSでは標準で入っているか、yumでインストール出来ます。
# yum install -y smartmontools

 WindowsではSourceForgeからダウンロード出来ます。
URL: https://sourceforge.net/projects/smartmontools/files/?source=navbar

 2016/09/03にダウンロードした時には、「smartmontools-6.5-1.win32-setup.exe」が最新版で、Windows7(64bit)にインストールしたところ、64bitとしてインストールされました。

○NET-SNMP
 SNMPの取得ツールとサーバを一括でインストールできます。
 CentOSでは、標準で入っているか、yumでインストール出来ます。
# yum install -y net-snmp net-snmp-utils
WindowsではSourceForgeからダウンロード出来ます。
URL: https://sourceforge.net/projects/net-snmp/files/net-snmp%20binaries/

 2016/09/03にダウンロードした時には、「net-snmp-5.6.1.1-1.x86.exe」が最新版でした。
 ただし、これは32bit版であり、Windows7(64bit)にインストールしようとすると、インストールウィザードで警告が出ます。
 64bit版では、「net-snmp-5.5.0-2.x64.exe」が一番新しいようでした。

○cacti
 SNMPで取得したデータをグラフ化するのに使用します。
 CentOS7ではyumでインストールできます。
# yum install -y cacti
cactiの実行には、Apache、PHP、MySQL(MariaDB)が必要なので、環境によっては同時にインストールされます。


3)対象環境
 次の環境を対象とします。

クライアント
 Windows7(64bit)
 WindowsXP(32bit)
 CentOS7(64bit)

サーバ
 CentOS7(64bit)

 次回以降は、インストール作業および設定作業を行います。

 それでは、今回はこのへんで。