Cacti で apcupsd をモニタリングする方法
提供:maruko2 Note.
目次 |
設定
apcaccess
コマンドで取得できる情報を Cacti に記録することで、UPS をモニタリングする。
- snmpd.conf に外部コマンドとして apcaccess を実行するように設定する。
- Cacti は SNMP で UPS の情報を取得する。(apcupsd status over SNMP)
apcupsd を実行している PC の設定
snmpd.conf に次の行を追加する。
extend apcupsd /etc/snmp/apcupsd-stats
下記の内容で /etc/snmp/apcupsd-stats を作成する。
#!/usr/bin/perl -w # Copyright (C) 2009 Glen Pitt-Pladdy # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # # # See: http://www.pitt-pladdy.com/blog/_20100320-215243_0000_apcupsd_stats_on_Cacti_via_SNMP_/ # open AC, "/sbin/apcaccess status localhost |" or die "FATAL: can't run \"/sbin/apcaccess\": $!\n"; while ( defined ( $line = <AC> ) ) { chomp $line; if ( $line !~ /^(\w+)\s*:\s*([^\s]+)/ ) { next; } $field{$1} = $2; } close AC; print "$field{LINEV}\n"; print "$field{OUTPUTV}\n"; print "$field{LOTRANS}\n"; print "$field{HITRANS}\n"; print "$field{BATTV}\n"; print "$field{NOMBATTV}\n"; print "$field{BCHARGE}\n"; print "$field{TIMELEFT}\n"; print "$field{ITEMP}\n"; print "$field{LOADPCT}\n"; print ''.(1200*$field{'LOADPCT'}/100)."\n"; print "1200\n"; print "$field{LINEFREQ}\n"; if ( $field{'STATUS'} eq 'ONLINE' ) { print "100\n0\n"; } else { print "0\n100\n"; }
- Smart-UPS では NOMPOWER を取得できないので、あらかじめ入力しておく。[1]
- 上記例では Smart-UPS 1500RM を使用しているので 1200 を入力した。
Cacti の設定
- Cacti Templates for apcupsd status over SNMP をダウンロードし、Cacti にインポートする。
- Console タブ -> Devices で、apcupsd を実行している PC を選ぶ。
- Associated Graph Templates で、グラフに使用する Template を追加する。
または、
グラフの例
備考
- ↑ Network Management Card を付けていると取得できるかもしれない。Man page of apcaccess