SMART-оповещения через Telegram: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 9 промежуточных версий этого же участника)
Строка 1: Строка 1:
Честно стырено [https://ejewika.blogspot.com/2019/10/smart-telegram.html отсюда].
Честно стырено [https://ejewika.blogspot.com/2019/10/smart-telegram.html отсюда].


#В файле {{path|/etc/…/smartmontools}} ''(где «…» — <code>default</code> для деб-дистров или <code>sysconfig</code> для рпм-дистров)'' раскомментировать либо добавить в опции ежеполучасовую проверку:
#В файле {{path|/etc/…/smartmontools}} ''(где «…» — <code>default</code> для деб-форков или <code>sysconfig</code> для рпм-дистров)'' раскомментировать либо добавить в опции ежеполучасовую проверку:
#:<pre>smartd_opts="--interval=1800"</pre>
#:<pre>smartd_opts="--interval=1800"</pre>
#Создать исполняемый файл {{path|/etc/smartmontools/run.d/10telegram-notify}} с содержимым:
#Создать исполняемый файл {{path|/etc/smartmontools/run.d/10telegram}}:
#:<source lang=bash>
#:<source lang=bash>
#!/bin/bash -e
#!/bin/bash -e


BOT="<ИД бота>:<жетон бота>"
BOT="<ИД бота>:<жетон бота>"
URL=https://api.telegram.org/bot$BOT/sendMessage
ChatID="-100XXXXXXXXXX" # ИД или имя чатика
ChatID="-100XXXXXXXXXX" # ИД или имя чатика
Topic=<число>          # Тема для ловли уведомлений
Topic=<число>          # Тема для ловли уведомлений
MSG=`cat $1`
MSG=`cat $1`           # Сообщение от смарт-демона


curl -s https://api.telegram.org/bot$BOT/sendMessage -d parse_mode=markdown \
curl -s $URL -F chat_id=$ChatID -F reply_to_message_id=$Topic \
     -d text="$MSG" -d chat_id=$ChatID -d reply_to_message_id=$Topic 2>&1 >/dev/null
     -F text="$MSG" -F parse_mode=markdownv2 2>&1 >/dev/null
</source>
</source>
#В файле {{path|/etc/smartd.conf}} добавить для проверки '''<code>-M test</code>''' в строчку:
#В файле {{path|/etc/smartd.conf}} добавить для проверки '''<code>-M test</code>''' в строчку, подобную этой:
#:<pre>DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner</pre>
#:<pre>DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner</pre>
#Перезапустить службу: {{cmd|# systemctl restart smartd}} и ловить в настроенном чатике проверочные сообщения.
#Перезапустить службу ({{cmd|# systemctl restart smartd}}) и ловить в настроенном чатике проверочные сообщения.
#Если всё ОК, убрать '''<code>-M test</code>''' из предыдущего пункта и вновь перезапустить службу.
#Если всё ОК, убрать '''<code>-M test</code>''' из пункта выше и вновь перезапустить службу.
Готово.
Готово.
=Обратная связь=
=Обратная связь=

Текущая версия от 04:18, 26 ноября 2023

Честно стырено отсюда.

  1. В файле /etc/…/smartmontools (где «…» — default для деб-форков или sysconfig для рпм-дистров) раскомментировать либо добавить в опции ежеполучасовую проверку:
    smartd_opts="--interval=1800"
  2. Создать исполняемый файл /etc/smartmontools/run.d/10telegram:
    #!/bin/bash -e
    
    BOT="<ИД бота>:<жетон бота>"
    URL=https://api.telegram.org/bot$BOT/sendMessage
    ChatID="-100XXXXXXXXXX" # ИД или имя чатика
    Topic=<число>           # Тема для ловли уведомлений
    MSG=`cat $1`            # Сообщение от смарт-демона
    
    curl -s $URL -F chat_id=$ChatID -F reply_to_message_id=$Topic \
         -F text="$MSG" -F parse_mode=markdownv2 2>&1 >/dev/null
    
  3. В файле /etc/smartd.conf добавить для проверки -M test в строчку, подобную этой:
    DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner
  4. Перезапустить службу (# systemctl restart smartd) и ловить в настроенном чатике проверочные сообщения.
  5. Если всё ОК, убрать -M test из пункта выше и вновь перезапустить службу.

Готово.

Обратная связь