Нижний уровень – сбор данных.
Data Input Methods – Здесь мы добавляем название нашего скрипта и определяем в какие переменные будет записывать его выхлоп.
Следующий уровень – хранение данных.
Data Templates – определяем шаблон хранилища данных. За какие периоды хранить данные, как часто они могут обновляться, какие переменные сохраняются в rrd файлах. Имена переменных соответственно берутся с нижнего уровня.
Следующий уровень – представление данных.
Graph Templates – определяем как наши данные будут рисоваться. Какие переменные рисовать линиями, какие значениями. Определяем все что выводится на картинке. Это уровень требует указания хранилища данных.
Порядок действий по созданию графика:
- написать скрипт для сбора данных, выхлоп которого имеет cacti-совместимый формат – ИМЯ:ЗНАЧЕНИЕ;
- добавить метод сбора данных;
- определить шаблон хранения данных;
- определить шаблон отображения данных;
- создать хранилище данных;
- создать график, указав ему созданное хранилище.
Ну и образец графика на последок:

Установил новый UPS в свою серверную. При его подключении к системе в логах видим следующее:
ugen0: American Power Conversion Smart-UPS 1000 XL FW:631.3.I USB FW:1.5, rev 1.10/0.06, addr 2.
Для снятия с него информации устанавливаем /usr/ports/sysutils/apcupsd с опциями WITH_APCSMART_DRV и WITH_USB (UPS у меня подключен по USB).
Настройка производится в файле /usr/local/etc/apcupsd/apcupsd.conf. Для USB кабеля надо немного его поменять:
UPSCABLE usb
UPSTYPE usb
DEVICE
Далее дописываем в rc.conf: apcupsd_enable=”YES” и запускаем: /usr/local/etc/rc.d/apcupsd start.
Проверяем:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| $ apcaccess
APC : 001,043,1101
DATE : Tue Feb 24 19:52:09 MSK 2009
HOSTNAME : case.net.ru
RELEASE : 3.14.5
VERSION : 3.14.5 (10 January 2009) freebsd
UPSNAME : case.net.ru
CABLE : USB Cable
MODEL : Smart-UPS 1000 XL
UPSMODE : Stand Alone
STARTTIME: Tue Feb 24 14:38:38 MSK 2009
STATUS : ONLINE
LINEV : 220.3 Volts
LOADPCT : 14.3 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 829.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 220.3 Volts
SENSE : High
DWAKE : -01 Seconds
DSHUTD : 180 Seconds
LOTRANS : 200.0 Volts
HITRANS : 253.0 Volts
RETPCT : 000.0 Percent
ITEMP : 27.9 C Internal
ALARMDEL : Always
BATTV : 27.5 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Low line voltage
NUMXFERS : 1
XONBATT : Tue Feb 24 14:46:34 MSK 2009
TONBATT : 0 seconds
CUMONBATT: 272 seconds
XOFFBATT : Tue Feb 24 14:51:06 MSK 2009
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : AS0303330928
BATTDATE : 2006-10-06
NOMOUTV : 230 Volts
NOMBATTV : 24.0 Volts
FIRMWARE : 631.3.I USB FW:1.5
APCMODEL : Smart-UPS 1000 XL
END APC : Tue Feb 24 19:52:20 MSK 2009 |
Небольшой скрипт для cacti: /usr/local/share/cacti/scripts/apcaccess.sh:
1
2
| #!/bin/sh
/usr/local/sbin/apcaccess | /usr/bin/grep -e ITEMP -e BCHARGE -e TIMELEFT -e LINEV -e OUTPUTV -e LOADPCT | /usr/bin/tr "n" " " | /usr/bin/awk -F' ' '{print $1 ":" $3 " " $5 ":" $7 " " $11 ":" $13 " " $15 ":" $17 " " $19 ":" $21 " " $23 ":" $25}' |
Выдает информацию в виде:
1
| LINEV:221.7 LOADPCT:13.6 BCHARGE:100.0 TIMELEFT:829.0 OUTPUTV:221.7 ITEMP:27.9 |
Настройку устройство (например количество подключенных батарей) можно производить через утилитку APC PowerChute Business Edition Deluxe.
Ссылки: