Apcupsd: различия между версиями
Vovan (обсуждение | вклад) (→Скачать шаблон и импортировать в свою версию Zabbix) |
Vovan (обсуждение | вклад) (→3. Настроить и включить сервис на порту /dev/ttyS0) |
||
Строка 37: | Строка 37: | ||
===3. Настроить и включить сервис на порту /dev/ttyS0=== | ===3. Настроить и включить сервис на порту /dev/ttyS0=== | ||
+ | Конфиг файл | ||
+ | |||
+ | /etc/apcupsd/apcupsd.conf | ||
+ | |||
+ | должен содержать следующие параметры | ||
+ | |||
+ | <pre> | ||
+ | UPSNAME apc | ||
+ | UPSCABLE smart | ||
+ | UPSTYPE apcsmart | ||
+ | DEVICE /dev/ttyS0 | ||
+ | LOCKFILE /var/lock/serial | ||
+ | SCRIPTDIR /etc/apcupsd | ||
+ | PWRFAILDIR /etc/apcupsd | ||
+ | NOLOGINDIR /etc | ||
+ | ONBATTERYDELAY 6 | ||
+ | BATTERYLEVEL 5 | ||
+ | MINUTES 3 | ||
+ | TIMEOUT 0 | ||
+ | ANNOY 300 | ||
+ | ANNOYDELAY 60 | ||
+ | NOLOGON disable | ||
+ | KILLDELAY 0 | ||
+ | NETSERVER on | ||
+ | NISIP 127.0.0.1 | ||
+ | NISPORT 3551 | ||
+ | EVENTSFILE /var/lib/apcupsd/apcupsd.events | ||
+ | EVENTSFILEMAX 10 | ||
+ | UPSCLASS sharemaster | ||
+ | UPSMODE disable | ||
+ | STATTIME 0 | ||
+ | STATFILE /var/lib/apcupsd/apcupsd.status | ||
+ | LOGSTATS off | ||
+ | DATATIME 0 | ||
+ | </pre> | ||
==А если хочется в zabbix?== | ==А если хочется в zabbix?== |
Версия 16:48, 18 декабря 2023
Содержание
Настройка apcupsd на ОС Альт
Я точно знаю, что оно должно работать, но не работает. Почему?
Потому что по умолчанию порт
/dev/ttyS0
занят сервисом
getty@ttyS0
, который задействует этот порт (обычно, единственный на сервере com-порт) для вывода туда программы
login
Чтобы, например, не держать монитор для сервера а зацепляться за консоль по гипертерминалу.
Отличное решение, но чтобы понять почему на нужный для обмена с UPS порт не происходит должным образом подключение посредством сервиса
apcupsd
у пользователя, в зависимости от квалификации и опыта, может уйти от одного дня до ... бесконечности...
Как всё сделать как надо?
1. Отключаем сервис, чтобы он больше не занимал порт
systemctl stop getty@ttyS0 systemctl disable getty@ttyS0
2. Поставить apcupsd
apt-get update && apt-get install -y apcupsd
3. Настроить и включить сервис на порту /dev/ttyS0
Конфиг файл
/etc/apcupsd/apcupsd.conf
должен содержать следующие параметры
UPSNAME apc UPSCABLE smart UPSTYPE apcsmart DEVICE /dev/ttyS0 LOCKFILE /var/lock/serial SCRIPTDIR /etc/apcupsd PWRFAILDIR /etc/apcupsd NOLOGINDIR /etc ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 127.0.0.1 NISPORT 3551 EVENTSFILE /var/lib/apcupsd/apcupsd.events EVENTSFILEMAX 10 UPSCLASS sharemaster UPSMODE disable STATTIME 0 STATFILE /var/lib/apcupsd/apcupsd.status LOGSTATS off DATATIME 0
А если хочется в zabbix?
Скачать шаблон и импортировать в свою версию Zabbix
Качать отсюда
Далее этот импортированный шаблон нужно добавить на тот хост, на zabbix-agent-е которого настроены дополнительные пользовательские переменные (об этом см. ниже).
А сам процесс настройки пользовательских переменных для zabbix-агента заботливо описан по некоторой ссылке, которая отсутствует в свободном доступе...
Настраиваем zabbix-agent
Если ещё не установлен:
apt-get update && apt-get install -y zabbix-agent
После установки в корректно настроенном агенте файл
/etc/zabbix/zabbix_agentd.conf
должен содержать такие раскоментированные параметры:
LogFile=/var/log/zabbix/zabbix_agentd.log Server=%SERVER_ADDR% Hostname=%ZABBIX_AGENT_HOSTNAME% Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
, где
%SERVER_ADDR%
это ip или домен сервера zabbix, а
%ZABBIX_AGENT_HOSTNAME%
это хостовое имя системы, на которой настраивается zabbix-agent.
Добавляем пользовательские параметры
Просто бросьте это к консоль:
cat << 'EOF' > /etc/zabbix/zabbix_agentd.conf.d/userparameter_apcupsd.conf UserParameter=UPSNAME,/sbin/apcaccess|awk '/^(UPSNAME).*:/ {print $3}' UserParameter=STATUS,/sbin/apcaccess|awk '/^(STATUS).*:/ {print $3,$4,$5}' UserParameter=ITEMP,/sbin/apcaccess|awk '/^(ITEMP).*:/ {print $3}' UserParameter=LOADPCT,/sbin/apcaccess|awk '/^(LOADPCT).*:/ {print $3}' UserParameter=NUMXFERS,/sbin/apcaccess|awk '/^(NUMXFERS).*:/ {print $3}' UserParameter=BCHARGE,/sbin/apcaccess|awk '/^(BCHARGE).*:/ {print $3}' UserParameter=SENSE,/sbin/apcaccess|awk '/^(SENSE).*:/ {print $3}' UserParameter=LINEV,/sbin/apcaccess|awk '/^(LINEV).*:/ {print $3}' EOF
Включить и запустить сервис
systemctl enable --now zabbix_agentd