Скрипт + Шаблон для Linux LLD LM-Sensors

Мониторинг Железа
Датчики температур
Кулера
Диски
Напряжение
и т.д.
Аватара пользователя
Уланов Дима
Новичок
Сообщения: 13
Стаж: 8 месяцев
Благодарил (а): 2 раза

Скрипт + Шаблон для Linux LLD LM-Sensors

Сообщение Уланов Дима »

в тригере, если создавать условие что куллер остановился в имени - ExtremStopColl {HOST.NAME}=({ITEM.VALUE}) ...а в выражении avg(/Hardware-Linuxsensors-u/lm-sensors.sh[{HOST.CONN},minRPM],#3)<70 ...хотя как то надо привязаться к условиям, что меньше 1000 оборотов это плохо
количество слов: 18
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 548
Стаж: 3 года 9 месяцев
Откуда: Вологодская область
Поблагодарили: 24 раза
Контактная информация:

Скрипт + Шаблон для Linux LLD LM-Sensors

Сообщение Артём Мамзиков »

Уланов Дима, я бы взял обороты если обороты ниже 1000 например, avg это среднее я бы лучше max(3m) использовал максимальные обороты за 3 минуты если они небыли выше 1000 триггер срабатывает либо min минимальные обороты за Н время смотря какое условие сделать.
количество слов: 7
Партнёрская ссылка на Хостинг Beget https://beget.com/p937243
Аватара пользователя
Уланов Дима
Новичок
Сообщения: 13
Стаж: 8 месяцев
Благодарил (а): 2 раза

Скрипт + Шаблон для Linux LLD LM-Sensors

Сообщение Уланов Дима »

Если создавать выражение триггера, через кнопку добавить, в Item нет выборки сенсора оборотов, есть только lm-sensors.sh[{HOST.CONN},info] и lm-sensors.sh[{HOST.CONN},maxtemp] Как привязаться к оборотам куллера? чтоб добавить их в условие, чтобы правило проверки пропустило моё условие
Последний раз редактировалось Уланов Дима Ср мар 09, 2022 13:56, всего редактировалось 1 раз. количество слов: 13
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 548
Стаж: 3 года 9 месяцев
Откуда: Вологодская область
Поблагодарили: 24 раза
Контактная информация:

Скрипт + Шаблон для Linux LLD LM-Sensors

Сообщение Артём Мамзиков »

Уланов Дима, триггер можно создать в самом узле после того как элементы уже обнаружились, но Эт все вручную , либо в шаблоне в правилах обнаружения сделать прототип триггера, но тут есть минус например если делаем оповещение обороты кулера выше 2000 оборотов, в некоторых моделях 2000 это норм , а где то максимальное значение и получаем ложное срабатывание.
количество слов: 2
Партнёрская ссылка на Хостинг Beget https://beget.com/p937243
Аватара пользователя
Уланов Дима
Новичок
Сообщения: 13
Стаж: 8 месяцев
Благодарил (а): 2 раза

Скрипт + Шаблон для Linux LLD LM-Sensors

Сообщение Уланов Дима »

прототип триггера создать не даёт по правилу без правильной выборки сенсора, из lm-sensors.sh[{HOST.CONN},info] как понимаю берутся события в график, но из него создать не даёт, в lm-sensors.sh[{HOST.CONN},maxtemp] чисто температурные значения в моём понимании.... хватило бы события при падении значения оборотов ниже 1000(или даже 600), тк по факту серавно куллеры крутятся на 1200 оборотов как минимум
количество слов: 15
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 548
Стаж: 3 года 9 месяцев
Откуда: Вологодская область
Поблагодарили: 24 раза
Контактная информация:

Скрипт + Шаблон для Linux LLD LM-Sensors

Сообщение Артём Мамзиков »

Уланов Дима, Обычный элемента lm-sensors.sh[{HOST.CONN},info]
Это просто как лог для просмотра инфы, его можно деактивировать.
Возможно попробовать сделать триггер с регулярным выражением поиска нужной строки и значением.
Либо зависимый элемент данных с пред обработкой, который будет выбирать только кулера опять же морочно если данные одинаковые имена элемент будет ругаться или брать только последнее значение .

Либо создать что то вроде максимальная температура но наоборот минимальное значение вращения любого из кулеров

Код: Выделить всё

elif [[ $2 = "minfan" ]]
then
# Запуск переменной get2 команды sensors
get2=`zabbix_get -s $1 -k system.run["sensors"]`
# Обработка вывод переменой sensors| вырезать все после скобок ( в том числе и саму скобку| убрать пробелы в именах| Поиск (выбор) строк температуры °C|
# вырезать все до : и само :| вырезать в строке где есть + все что до + и сам + | вырезать . точку и все после нее| сортировка от меньшему к большему | выбор последнего значения
minfan=`echo "${get2}" | cut -d"(" -f1 | tr -d ' ' | grep RPM | cut -d":" -f2 | cut -f 2 -d + | cut -d"." -f1 | sort -nrk1 | tail -n 1`
# Вывод значения переменной циклом
for out in $minfan
do
echo $out
done

Все берется с правила обнаружения
с прототипа элемента данных
{#CHIP} sensor:{#SENSOR} имя {#NAMETEMP}{#NAMEFAN}{#NAMEVOLT} sensor[{#CHIP},{#SENSOR}]

условие прототипа триггера например будет
{Hardware-Linuxsensors-u:sensor[{#CHIP},{#SENSOR}].max(5m)}<1000

Но данное условие попадет под все датчики и температуру напряжение и т.д.
это проще создать один триггер в узле для всех элементов кулеров через условие or

Сделать раздельно все элементы по единице измерения {#UNITS} тут есть свои сложности
Это нужно делать например 3 правила обнаружения напряжения, кулера, температура и 3 блока в скрипте каждый опрашивается со своего блока.

Сделать все 3 прототипа элементов в одном правиле так же не выйдет основной макрос будет "{#CHIP} и он будет создавать все 3 элемента одновременно.
та же история что и видео про обновленный мониторинг жесткого диска.
количество слов: 81
Партнёрская ссылка на Хостинг Beget https://beget.com/p937243
Ответить Вложения 14 Пред. темаСлед. тема

Вернуться в «Аппаратное обеспечение»