Apcupsd: различия между версиями
Vovan (обсуждение | вклад) (Новая страница: «=Настройка apcupsd на ОС Альт= ==Я точно знаю, что оно должно работать, но не работает. Почему?=…») |
Vovan (обсуждение | вклад) (→Я точно знаю, что оно должно работать, но не работает. Почему?) |
||
| Строка 22: | Строка 22: | ||
у пользователя, в зависимости от квалификации и опыта, может уйти от одного дня до ... бесконечности... | у пользователя, в зависимости от квалификации и опыта, может уйти от одного дня до ... бесконечности... | ||
| + | |||
| + | |||
| + | ==Как всё сделать как надо?== | ||
| + | |||
| + | ===1. Отключаем сервис, чтобы он больше не занимал порт=== | ||
| + | |||
| + | systemctl stop getty@ttyS0 | ||
| + | systemctl disable getty@ttyS0 | ||
| + | |||
| + | ===2. Поставить apcupsd=== | ||
| + | |||
| + | apt-get update && apt-get install -y apcupsd | ||
| + | |||
| + | ===3. Настроить и включить сервис на порту /dev/ttyS0=== | ||
| + | |||
| + | |||
| + | ==А если хочется в zabbix?== | ||
| + | |||
| + | ===Скачать шаблон и импортировать в свою версию Zabbix=== | ||
| + | |||
| + | Качать [https://github.com/zabbix/community-templates/tree/main/Power_(UPS)/APC/template_apcupsd отсюда] | ||
| + | |||
| + | Однако, сразу данные в этот шаблон приходить не будут, т.к. шаблон определяет только переменные для получения их от zabbix-агента. | ||
| + | |||
| + | А сам процесс настройки пользовательских переменных для 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. | ||
| + | |||
| + | ===Добавляем пользовательские параметры=== | ||
| + | |||
| + | Просто бросьте это к консоль: | ||
| + | |||
| + | <pre> | ||
| + | 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 | ||
| + | </pre> | ||
Версия 16:33, 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
А если хочется в zabbix?
Скачать шаблон и импортировать в свою версию Zabbix
Качать отсюда
Однако, сразу данные в этот шаблон приходить не будут, т.к. шаблон определяет только переменные для получения их от zabbix-агента.
А сам процесс настройки пользовательских переменных для 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