monitor_di.sh

#!/bin/sh

# skrypt służy odczytywaniu i kontrolowaniu stanu wejść cyfrowych komputerka NPE
# odczyt i ładowanie danych do zabbixa realizowane jest z wykorzystaniem dostarczonego przez producenta
# daemona snmp wraz z stosowną biblioteką prezentującą po tym protokole m.in. stany DI


# rozdzielana przecinkami lista odbiorców mailowych
MAIL_TO="alarmy@example.org"

# adres nadawcy
MAIL_FROM="alarmy@example.org"

# serwer pocztowy
MAIL_VIA="192.168.119.13"

# send_alert priority message_short message_full
send_alert() {
  echo "$2"
  
  # wysyłanie maila
  echo "$3" | email -n "monitor_di.sh" -f $MAIL_FROM -r $MAIL_VIA -s "$2" $MAIL_TO
  
  # wysyłanie SMSa poprzez centralny skrypt z systemu smtp2sms
  echo -e "Subject: Alarm z BMS\n\nSite number: NPE Priority $1\nAlarm block description: $2" |
    /opt/smtp2sms/mail2sms.sh
}


check_mask() {
  if [ $(( $alarm_diff & $1 )) -ne 0 ]; then
    if [ $(( $alarm_mask & $1 )) -ne 0 ]; then
      msg="$msg, Not Active"
    else
      msg="$msg, Active"
    fi
    return 0;
  fi
  return 1;
}

alarm_old_mask=15
while true; do
  # echo alarm_old_mask=$alarm_old_mask
  
  npe ?PI
  alarm_mask=$?
  alarm_diff=$(( $alarm_mask ^ $alarm_old_mask ))
  alarm_old_mask=$alarm_mask
  
  # echo alarm_mask=$alarm_mask alarm_diff=$alarm_diff
  
  if [ $alarm_diff -ne 0 ]; then
    msg="SSP, blokada"
    check_mask 0x01 && send_alert 10 "$msg"
    msg="POZAR, czujka konwencjonalna -1"
    check_mask 0x02 && send_alert 10 "$msg"
    msg="POZAR, czujka konwencjonalna -2"
    check_mask 0x04 && send_alert 10 "$msg"
  fi
  sleep 1
done 2>&1 | logger -p daemon.info -t monitor_di.sh

XHTML generated by highlight (http://www.andre-simon.de/) from monitor_di.sh



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/usage_and_config/monitoring/monitor_di.sh) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2014-01-07 19:27:42 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).