こんにちは、稲田商会です。
みなさん、メリークリスマス。
私は旅先の旅館でクリスマスを迎えました。
サンタさんは来なかったようなので、朝一番の温泉に行ってきました。
これって、いいクリスマスなんだろうか?
それでは、今回はこのへんで。
Translate
2016年12月25日日曜日
2016年9月4日日曜日
HDD温度のグラフ化 その4)Windowsクライアントへのインストール(つづき その2)
こんにちは、稲田商会です。
前回では、クライアントのWindows7(64bit)にNET-SNMPをインストールしました。
今回は、NET-SNMPで配信される情報にHDDの温度を含めます。
◎Windows7(64bit)クライアントの設定(つづき その2)
○S.M.A.R.T.情報の加工
SmartMonToolsで取得したS.M.A.R.T.情報のうち必要な部分を切り出します。
1)busyboxのダウンロード、インストール
データの加工にawk、grepなどのコマンドが使えると便利なのと、linuxのshスクリプトが使えるようになるので、busyboxを使えるようにします。
(1)ファイルのダウンロード
下記URLを開いて下の方にあるリンクから「busybox.exe」をダウンロードします。
URL: http://frippery.org/busybox/
(2)データの展開
ダウンロード後、PATHの通った位置に配置します。
今回はNet-SNMPのある、"C:\usr\bin"に配置します。
S.M.A.R.T.情報のうち、温度データは"Temperature_Cel"のある行で、温度情報は10列目の値です。
今回はgrepで"Temperature_Cel"のある行を抽出、awkで10列目の値を抽出します。
3)スクリプトによるコマンド化
一連の動きをスクリプトにまとめてコマンド化します。
今回は"c:\usr\bin"に"smart2value.sh"を作成します。内容は次の通りです。
実は当初は"smartctl -A ..."と書いていたのですが、Net-SNMPから呼んだときに上手く動きませんでした。
今回SmartMonToolsでインストールしてこの場所にあるので、上記のフルパスで良いと思いますが、
実行してみると、
○NET-SNMPへの組み込み
NET-SNMPには、snmpd.confに"extend"書式で記述した内容をsnmpとして配信する機能があります。
参考URL: Net-SNMPで外部コマンドの結果を返すときに、そのMIBを固定したいの ((ひ)めも)
参考URL: http://www.net-snmp.org/docs/man/snmpd.conf.html
書式:
extend [MIBIOD] name prog arg
※nameは配信する際の名称(OIDに変換)、progは実行するプログラム名、argはプログラムへの引数。
例:
extend Temp_sda /usr/local/bin/smart_snmp.sh /dev/sda
※"Temp_sda"の名前で、"/usr/local/bin/smart_snmp.sh /dev/sda"を実行した結果を配信する。
これをWindowsでもやってみます。
1)snmpd.confの編集
c:\usr\etc\snmp\snmpd.confをテキストエディタで開き、編集します。
編集箇所
編集前
(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Service]-[Register Agent Service]を右クリックし、「管理者として実行」を選択。
(2)[スタート]-[コントロールパネル]-[管理ツール]-[サービス]を開く。
(3)名前が"Net-SNMP Agent"の行を右クリックし「再起動」を選択。
3)実行テスト
コマンドプロンプトを開いて、snmpwalkでの取得を試みます。
次の箇所でHDDの温度値が取得できました。
SNMPでデータを取得する際にはOIDの方が便利なことが多いのでOIDを調べておきます。
OIDを調べるにはオプションに"-O n"を指定します。
先頭の「.1.3.6.1.4.1.8072.1.3.2」がNET-SNMP-EXTEND-MIB::nsExtendObjectsで配信されるデータであることを表しています。
また、末尾の「84.101.109.112.95.115.100.97」はASCIIコードで"Temp_sda"ですので、snmpd.confのextendで指定したnameに当たる文字が入っています。
さて、データが増えた場合OIDはどうなるのでしょうか。
例えば、snmpd.confを
これから、extendのnameでOIDを固定することが出来ること、またextendの追加では変化しないことがわかります。
それでは、今回はこのへんで。
前回では、クライアントのWindows7(64bit)にNET-SNMPをインストールしました。
今回は、NET-SNMPで配信される情報にHDDの温度を含めます。
◎Windows7(64bit)クライアントの設定(つづき その2)
○S.M.A.R.T.情報の加工
SmartMonToolsで取得したS.M.A.R.T.情報のうち必要な部分を切り出します。
1)busyboxのダウンロード、インストール
データの加工にawk、grepなどのコマンドが使えると便利なのと、linuxのshスクリプトが使えるようになるので、busyboxを使えるようにします。
(1)ファイルのダウンロード
下記URLを開いて下の方にあるリンクから「busybox.exe」をダウンロードします。
URL: http://frippery.org/busybox/
サイトのトップ。下の方にダウンロードのリンクがある。 |
「busybox.exe」のリンクをクリックするとダウンロードする。 |
(2)データの展開
ダウンロード後、PATHの通った位置に配置します。
今回はNet-SNMPのある、"C:\usr\bin"に配置します。
> move .\busybox.exe C:\usr\bin\busybox.exe2)データの切り出し
S.M.A.R.T.情報のうち、温度データは"Temperature_Cel"のある行で、温度情報は10列目の値です。
今回はgrepで"Temperature_Cel"のある行を抽出、awkで10列目の値を抽出します。
> busybox sh #busyboxのシェルに移行
$ smartctl -A /dev/sda #S.M.A.R.T.情報の取得
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
Warning: Limited functionality due to missing admin rights
Read SMART Thresholds failed: Function not implemented
=== 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 --- Pre-fail Always - 0
9 Power_On_Hours 0x0032 096 096 --- Old_age Always - 19774
12 Power_Cycle_Count 0x0032 098 098 --- Old_age Always - 1037
177 Wear_Leveling_Count 0x0013 087 087 --- Pre-fail Always - 455
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 --- Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 --- Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 --- Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 100 --- Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 --- Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 068 057 --- Old_age Always - 32
195 Hardware_ECC_Recovered 0x001a 200 200 --- Old_age Always - 0
199 UDMA_CRC_Error_Count 0x003e 253 253 --- Old_age Always - 0
235 Unknown_Attribute 0x0012 099 099 --- Old_age Always - 164
241 Total_LBAs_Written 0x0032 099 099 --- Old_age Always - 15529401389
$ smartctl -A /dev/sda | grep "Temperature_Cel" #温度該当行の抽出
190 Airflow_Temperature_Cel 0x0032 068 057 --- Old_age Always - 32
$ smartctl -A /dev/sda | grep "Temperature_Cel" | awk '{print $10}' #温度情報の抽出
32
$ exit #シェルの終了
> #windowsのプロンプト上手く出来ました。
3)スクリプトによるコマンド化
一連の動きをスクリプトにまとめてコマンド化します。
今回は"c:\usr\bin"に"smart2value.sh"を作成します。内容は次の通りです。
"C:/Program Files/smartmontools/bin/smartctl.exe" -A $1 | grep 'Temperature' | awk '{print $10}'ここで、注意しないといけないのは、smartctl.exeをフルパスで書いていることです。
実は当初は"smartctl -A ..."と書いていたのですが、Net-SNMPから呼んだときに上手く動きませんでした。
今回SmartMonToolsでインストールしてこの場所にあるので、上記のフルパスで良いと思いますが、
> busybox sh #busyboxのシェルに移行
$ which smartctl #smartctlの場所確認
C:/Program Files/smartmontools/bin/smartctl.exe #smartctlの場所
などとして確認しておいてください。
実行してみると、
> busybox sh smart2value.sh /dev/sda正しく動作しました。
35
○NET-SNMPへの組み込み
NET-SNMPには、snmpd.confに"extend"書式で記述した内容をsnmpとして配信する機能があります。
参考URL: Net-SNMPで外部コマンドの結果を返すときに、そのMIBを固定したいの ((ひ)めも)
参考URL: http://www.net-snmp.org/docs/man/snmpd.conf.html
書式:
extend [MIBIOD] name prog arg
※nameは配信する際の名称(OIDに変換)、progは実行するプログラム名、argはプログラムへの引数。
例:
extend Temp_sda /usr/local/bin/smart_snmp.sh /dev/sda
※"Temp_sda"の名前で、"/usr/local/bin/smart_snmp.sh /dev/sda"を実行した結果を配信する。
これをWindowsでもやってみます。
1)snmpd.confの編集
c:\usr\etc\snmp\snmpd.confをテキストエディタで開き、編集します。
編集箇所
編集前
###############################################################################編集後
# Further Information
#
# See the snmpd.conf manual page, and the output of "snmpd -H".
# MUCH more can be done with the snmpd.conf than is shown as an
# example here.
###############################################################################
# Further Information
#
# See the snmpd.conf manual page, and the output of "snmpd -H".
# MUCH more can be done with the snmpd.conf than is shown as an
# example here.
extend Temp_sda c:\\usr\\bin\\busybox.exe sh c:\usr\bin\smart2value.sh /dev/sda
編集内容
Temp_sdaの名前でスクリプトの実行結果をSNMPで配信する。
注意してほしいのは、progに当たる部分
注意してほしいのは、progに当たる部分
では"\"はそのままではエスケープ文字になるので、"\\"と重ねる必要があるのに対し、argに当たる部分c:\\usr\\bin\\busybox.exe
sh c:\usr\bin\smart2value.sh /dev/sda
では"\"は重ねる必要がないことです。
2)有効化
snmpd.confの変更を有効にするには、Net-SNMPのサービスを再起動してやる必要があります。
2)有効化
snmpd.confの変更を有効にするには、Net-SNMPのサービスを再起動してやる必要があります。
(2)[スタート]-[コントロールパネル]-[管理ツール]-[サービス]を開く。
(3)名前が"Net-SNMP Agent"の行を右クリックし「再起動」を選択。
3)実行テスト
コマンドプロンプトを開いて、snmpwalkでの取得を試みます。
>snmpwalk -v1 -c public localhost #localhostのSNMP取得
SNMPv2-MIB::sysDescr.0 = STRING: Windows ti7-PC 6.1.7601 Service Pack 1 Home Ed次にextendで追加した部分のsnmpwalkでの取得を試みます。
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
> snmpwalk -v1 -c public localhost NET-SNMP-EXTEND-MIB::nsExtendObjects #extend部分のSNMP取得
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendCommand."Temp_sda" = STRING: c:\usr\bin\busybox.exe
NET-SNMP-EXTEND-MIB::nsExtendArgs."Temp_sda" = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
NET-SNMP-EXTEND-MIB::nsExtendInput."Temp_sda" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."Temp_sda" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendExecType."Temp_sda" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."Temp_sda" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendStorage."Temp_sda" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStatus."Temp_sda" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."Temp_sda" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."Temp_sda" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sda".1 = STRING: 34
>
次の箇所でHDDの温度値が取得できました。
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sda".1 = STRING: 34
OIDを調べるにはオプションに"-O n"を指定します。
> snmpwalk -v1 -c public -O n localhost NET-SNMP-EXTEND-MIB::nsExtendObjects次のOIDでHDDの温度値が取得できました。
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.2.1.2.8.84.101.109.112.95.115.100.97 = STRING: c:\usr\bin\busybox.exe
.1.3.6.1.4.1.8072.1.3.2.2.1.3.8.84.101.109.112.95.115.100.97 = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
.1.3.6.1.4.1.8072.1.3.2.2.1.4.8.84.101.109.112.95.115.100.97 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.5.8.84.101.109.112.95.115.100.97 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.6.8.84.101.109.112.95.115.100.97 = INTEGER: exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.8.84.101.109.112.95.115.100.97 = INTEGER: run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.8.84.101.109.112.95.115.100.97 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.8.84.101.109.112.95.115.100.97 = INTEGER: active(1)
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.3.8.84.101.109.112.95.115.100.97 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.4.8.84.101.109.112.95.115.100.97 = INTEGER: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.97.1 = STRING: 34
>
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.97 = STRING: 34以上の結果から、私はOIDを次のように考えています。
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.97.1 = STRING: 34
先頭の「.1.3.6.1.4.1.8072.1.3.2」がNET-SNMP-EXTEND-MIB::nsExtendObjectsで配信されるデータであることを表しています。
また、末尾の「84.101.109.112.95.115.100.97」はASCIIコードで"Temp_sda"ですので、snmpd.confのextendで指定したnameに当たる文字が入っています。
さて、データが増えた場合OIDはどうなるのでしょうか。
例えば、snmpd.confを
extend Temp_sda c:\\usr\\bin\\busybox.exe sh c:\usr\bin\smart2value.sh /dev/sda
extend Temp_sdb c:\\usr\\bin\\busybox.exe sh c:\usr\bin\smart2value.sh /dev/sdb
として、snmpを取得した場合
> snmpwalk -v1 -c public localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 2
NET-SNMP-EXTEND-MIB::nsExtendCommand."Temp_sda" = STRING: c:\usr\bin\busybox.exe
NET-SNMP-EXTEND-MIB::nsExtendCommand."Temp_sdb" = STRING: c:\usr\bin\busybox.exe
NET-SNMP-EXTEND-MIB::nsExtendArgs."Temp_sda" = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
NET-SNMP-EXTEND-MIB::nsExtendArgs."Temp_sdb" = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
NET-SNMP-EXTEND-MIB::nsExtendInput."Temp_sda" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendInput."Temp_sdb" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."Temp_sda" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."Temp_sdb" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendExecType."Temp_sda" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendExecType."Temp_sdb" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."Temp_sda" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."Temp_sdb" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendStorage."Temp_sda" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStorage."Temp_sdb" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStatus."Temp_sda" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendStatus."Temp_sdb" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sdb" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sdb" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."Temp_sda" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."Temp_sdb" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."Temp_sda" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendResult."Temp_sdb" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sda".1 = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sdb".1 = STRING: 34
> snmpwalk -v1 -c public -O n localhost NET-SNMP-EXTEND-MIB::nsExtendObjectsとなり、extendをいくら増やしてもOIDは変わらず、nameの文字列のみで一意に決まることがわかります。
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 2
.1.3.6.1.4.1.8072.1.3.2.2.1.2.8.84.101.109.112.95.115.100.97 = STRING: c:\usr\bin\busybox.exe
.1.3.6.1.4.1.8072.1.3.2.2.1.2.8.84.101.109.112.95.115.100.98 = STRING: c:\usr\bin\busybox.exe
.1.3.6.1.4.1.8072.1.3.2.2.1.3.8.84.101.109.112.95.115.100.97 = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
.1.3.6.1.4.1.8072.1.3.2.2.1.3.8.84.101.109.112.95.115.100.98 = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
.1.3.6.1.4.1.8072.1.3.2.2.1.4.8.84.101.109.112.95.115.100.97 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.4.8.84.101.109.112.95.115.100.98 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.5.8.84.101.109.112.95.115.100.97 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.5.8.84.101.109.112.95.115.100.98 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.6.8.84.101.109.112.95.115.100.97 = INTEGER: exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.6.8.84.101.109.112.95.115.100.98 = INTEGER: exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.8.84.101.109.112.95.115.100.97 = INTEGER: run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.8.84.101.109.112.95.115.100.98 = INTEGER: run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.8.84.101.109.112.95.115.100.97 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.8.84.101.109.112.95.115.100.98 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.8.84.101.109.112.95.115.100.97 = INTEGER: active(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.8.84.101.109.112.95.115.100.98 = INTEGER: active(1)
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.98 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.98 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.3.8.84.101.109.112.95.115.100.97 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.3.8.84.101.109.112.95.115.100.98 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.4.8.84.101.109.112.95.115.100.97 = INTEGER: 0
.1.3.6.1.4.1.8072.1.3.2.3.1.4.8.84.101.109.112.95.115.100.98 = INTEGER: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.97.1 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.98.1 = STRING: 34
これから、extendのnameでOIDを固定することが出来ること、またextendの追加では変化しないことがわかります。
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"をダブルクリックし、表示内容を全てコピー。
(4)テキストエディタに貼り付け、[C:\usr\etc\snmp\snmpd.conf]として保存。
(5)テキストエディタで先ほどのsnmpd.confを開き、編集後保存する。
編集箇所1
編集前
もし、snmpd.confファイルの内容を変更した場合は、Windowsサービスを再起動して設定変更を反映させてください。
(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Service]-[Register Agent Service]を右クリックし、「管理者として実行」を選択。
(2)[スタート]-[コントロールパネル]-[管理ツール]-[サービス]を開く。
(3)名前が"Net-SNMP Agent"の行を右クリックし「開始」を選択。
4)実行テスト
コマンドプロンプトを開いて、snmpwalkでの取得を試みます。
snmpが取得出来たので、snmpdが動いていること、snmpのツールが正しく動作することが確認できました。
それでは、今回はこのへんで。
前回では、クライアントの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は特に設定はありませんので、実行してみます。
実行したPCはHDD(というかSSD)は/dev/sdaの一つだけなので、それの情報を取得します。
それでは、今回はこのへんで。
前回では、方針や環境、使用するソフトなどを書きました。
今回は、クライアントである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)無事、S.M.A.R.T.情報が取得できました。
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
それでは、今回はこのへんで。
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でインストール出来ます。
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でインストール出来ます。
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でインストールできます。
3)対象環境
次の環境を対象とします。
クライアント
Windows7(64bit)
WindowsXP(32bit)
CentOS7(64bit)
サーバ
CentOS7(64bit)
次回以降は、インストール作業および設定作業を行います。
それでは、今回はこのへんで。
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-utilsWindowsでは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 cacticactiの実行には、Apache、PHP、MySQL(MariaDB)が必要なので、環境によっては同時にインストールされます。
3)対象環境
次の環境を対象とします。
クライアント
Windows7(64bit)
WindowsXP(32bit)
CentOS7(64bit)
サーバ
CentOS7(64bit)
次回以降は、インストール作業および設定作業を行います。
それでは、今回はこのへんで。
2016年5月29日日曜日
2016年4月16日土曜日
九州の地震について思うこと
こんにちは、稲田商会です。
一昨日の夜に起こった熊本の地震以降、断続的に九州で地震が起こっています。
熊本、大分の方で大変な思いをされている方もいらっしゃると思います。
早く元の生活に戻られることをお祈りいたします。
一昨日の夜に起こった熊本の地震以降、断続的に九州で地震が起こっています。
熊本、大分の方で大変な思いをされている方もいらっしゃると思います。
早く元の生活に戻られることをお祈りいたします。
2016年3月7日月曜日
Sさんへ、有り難うございました。
こんにちは、稲田商会です。
今日は昔お世話になった方が亡くなったとの電話で、一日ボーッと過ごしました。
ボーッとしているなかで思ったんですが、「死」ってある瞬間に生ける者に襲いかかってくるものではなくて、ふと気付くと平凡な日常の直ぐ側でボーッと佇んでいるものなんじゃないでしょうか。
白髪が増えた。
直ぐに疲れる。
ちょっと足腰が弱くなった。
思い出すのに時間が掛かる。
言葉に詰まる。
ちょっとした「死」がそこここにに転がっていて、それがどんどん溜まっていくと人間としての「死」になるのだろうと思います。
そうだとしたら、普段からその「死」を認めて「死」と慣れ親しんでいけば、個体としての自分の「死」や家族の「死」も受け入れやすくなるのではないかと考えてしまいます。
生活の中に転がっている誰かの小さな「死」を見つけて拾い集め「死」と慣れ親しむ、生活。
うーん、私にはちょっと無理そうです。
さて、それはさておき。
Sさん、色々とお世話になりました。
一緒に掃除したのは、私がいい人だったからではありません、なんとなく、居心地が悪かったからです。
(おそらくそれを判っていながら)お返しのように、私に色々なことを教えて頂いたことで本当に勉強になりました。
もう他の人のために何かしようとしなくても大丈夫ですからね。
木陰のハンモックでゆっくり昼寝を楽しんで下さい。
貴方のご冥福をお祈りいたします。
それでは、今回はこのへんで。
今日は昔お世話になった方が亡くなったとの電話で、一日ボーッと過ごしました。
ボーッとしているなかで思ったんですが、「死」ってある瞬間に生ける者に襲いかかってくるものではなくて、ふと気付くと平凡な日常の直ぐ側でボーッと佇んでいるものなんじゃないでしょうか。
白髪が増えた。
直ぐに疲れる。
ちょっと足腰が弱くなった。
思い出すのに時間が掛かる。
言葉に詰まる。
ちょっとした「死」がそこここにに転がっていて、それがどんどん溜まっていくと人間としての「死」になるのだろうと思います。
そうだとしたら、普段からその「死」を認めて「死」と慣れ親しんでいけば、個体としての自分の「死」や家族の「死」も受け入れやすくなるのではないかと考えてしまいます。
生活の中に転がっている誰かの小さな「死」を見つけて拾い集め「死」と慣れ親しむ、生活。
うーん、私にはちょっと無理そうです。
さて、それはさておき。
Sさん、色々とお世話になりました。
一緒に掃除したのは、私がいい人だったからではありません、なんとなく、居心地が悪かったからです。
(おそらくそれを判っていながら)お返しのように、私に色々なことを教えて頂いたことで本当に勉強になりました。
もう他の人のために何かしようとしなくても大丈夫ですからね。
木陰のハンモックでゆっくり昼寝を楽しんで下さい。
貴方のご冥福をお祈りいたします。
それでは、今回はこのへんで。
2016年1月13日水曜日
尖閣で海自派遣の可能性を伝達
こんにちは、稲田商会です。
いよいよ日本も「ノーガード戦法」ではなくなってきたようです。
海上警備行動 尖閣に海自派遣も 中国に伝達(毎日新聞)
(毎日新聞2016年1月13日 東京朝刊)
引用、ここから。
引用、ここまで。
いよいよ日本も「ノーガード戦法」ではなくなってきたようです。
海上警備行動 尖閣に海自派遣も 中国に伝達(毎日新聞)
(毎日新聞2016年1月13日 東京朝刊)
引用、ここから。
(引用元: 毎日新聞)菅義偉官房長官は12日の記者会見で、沖縄県・尖閣諸島周辺の領海に中国軍艦が侵入した場合、海上警備行動を発令して自衛隊の艦船を派遣する可能性があるとの認識を示した。そのうえで、政府が既にこうした方針を中国側に伝達したことを示唆した。(後略)
引用、ここまで。
登録:
投稿 (Atom)