lunedì 11 marzo 2013

Da UPS a NAS a mondo

Intanto diciamo subito che non mi assumo nessuna responsabilità per quello che sto per scrivere visto che comunque sono aspetti abbastanza vitali di una struttura di rete. Se non sai quello che fai non provarci nemmeno.
Come si collega un UPS della Riello (nel mio caso Sentinel Dual) ad un NAS di NETGEAR (nel mio caso ReadyNAS Pro 2 aggiornato a RAIDiator 4.2.22)

Requisiti

harware

  • il NAS ovviamente con linux come SO
  • l'UPS della Riello, ma credo che come base per capire come fare vada bene per molti altri UPS
  • collegamento fisico via USB tra NAS e UPS e tra NAS e Internet

software

Installazione

Accesso di root al NAS

Inanzi tutto bisogna avere l'accesso in modalità amministratore al NAS e per farlo è necessario installare Enable Root SSH Access, per farlo accedere dalla apposita pagina web del NAS in modalità amministratore  ed installare l'add-on apposito:
  1. Scarica ToggleSSH_1.0-x86.bin
  2. Accedi a https://ip.del.NAS/admin/ > Componenti aggiuntivi > Aggiungi nuovo > Scegli file > Scegliere ToggleSSH_1.0-x86.bin precedentemente scaricato > Carica e verifica immagine..
  3. Riavvia il NAS
  4. Accedi al NAS via ssh tramite un apposito terminale (es. openssh-client per linux o putty per windows) [ricorda per accerdere al NAS l'indirzzo per il collegamento sarà del tipo root@ip.del.NAS mentre la password è quella di admin del Frontview]

Installazione sendEmail

  1. Dal terminale ssh #apt-get update
  2. apt-get install sendemail

Installazione PowerShield³

  1. Scarica PowerShield³ v.5.3 (Build: 000) per Linux Debian x86
  2. Dal terminale ssh #dpkg -i /c/DoveHaiMessoPowerShieldsulNAS/upsmon-5.3.0-linux-2.6-intel.deb
  3. #exit
  4. Riavvia il NAS

Configurazione

email

  1. Dal terminale ssh #cd /opt/upsmon
  2. Aprire con l'editor il file script preposto alla spedizione della mail #vi ups_eml.scr
  3. Andare in modalità modifica i
  4. Sostituire il contenuto con il seguente sendEmail -f mittente@email.com -t destinatario1@email.com destinatario2@email.com -u "Monitor UPS" -s serversmtpmittente.email.com -o tls=yes -xu usernameserversmtp -xp passwordserversmtp -o message-file=$1
  5. Sostituire il contenuto con il seguente  echo -e To: destinatario@email.com\\nSubject: Monitor UPS\\n\\n`cat $1` | msmtp -a default destinatario@email.com
  6. Uscire dalla modalità modifica ESC
  7. Salvare il file ed uscire :x

Configurazione PowerShield³

  1. Dal terminale ssh #cd /opt/upsmon
  2. #./upssetup
  3. Seguire le istruzioni anche del manuale e ricordarsi di impostare nel gestore degli eventi tra le azioni corrispondenti quelle che si vuole vengano inoltrate via email
  4. Riavvia il NAS
Il risultato di tale configurazione saranno le modifiche all'interno dei file upsmon.ini e jobs.ini dei quali allego una copia dei miei

upsmon.ini

; This is file with configuration parameters for UPSMON
; Do not change any line !
[System]
Name="Nas"
Location="Archivio"
Contact="MaiuZ"
Language=1
EventLog=1
DataLog=0
DataLogRate=5
DataLogMin=1
DataLogMax=5
SaveFiles=0
KeyCode="GPXXX1234567"
SerialNumber=""
LicenceNumber=""
EnabledGroups=0
DeviceActions=0
LostCommRaiseAlarm=0
DisableShutdownForSingleUPS=0
AutoClose=1
DisableJobs=0
IgnoreRemoteUPSCommands=0
OEMMode=0
DebugMode=0
PasswordProtection=0
ShutdownType=1
HibernateSupport=0
DebugLog=0
DelayOfAlarm=0
DelayApplication=0
Nodemon=0
[Serial_00]
Device="COM1"
Baudrate=1200
Bits=8
Stop=0
Parity=0
CheckRate=1
[Network]
CheckRate=3
Server=1
Port=33000
SNMP=0
HTTP=1
HTTPPath="/c/RielloHTTP"
RemoteIPAddress="127.0.0.1"
RemoteDevice=1
RemoteConnection=0
RemoteAutoStart=0
[EmailConfig]
Allowed=0
Server=""
Domain=""
Port=25
Name=""
Address=""
Timeout=5
Subject="Upsmon"
AuthAllowed=0
Login=""
Password=""
[SMSConfig]
Allowed=0
Port=""
SMSCentre=""
Type=0
[ModemConfig]
Allowed=0
Port=""
Number1=""
Number2=""
Repeat=0
Delay=0
InitString=""
DialString=""
IncommingAllowed=0
[Schedule_00]
Data="00000E100000040401"
[Schedule_01]
Data="00002328000005040F"
[UPS_00]
Name="RielloUPS Smart Dual"
Type="GPXXX1234567"
Serial="0123456789"
Connection=0
Port="USB"
Address=0
IPAddress="127.0.0.1"
Device=1
Message=0
MessageDelay=0
MessageRate=0
MessageType=0
SystemShutdown=1
SystemShutDelayAllow=0
SystemShutLeadAllow=1
SystemShutdownDelay=5
SystemShutdownLead=10
UPSShutdown=0
UPSShutdownDelay=5
UPSReboot=1
Password=0
HaveSensor=0
RTGConnTime=0
RTGTimeout=0
SNMPGetComm=""
SNMPSetComm=""
[MessConfig]
Type=0
[UpsviewModemConfig]
Port=""
Number=""
DeviceNo=1
InitString=""
DialString=""
[WapConfig]
Allowed=0
Port=9200
[FaxConfig]
Allowed=0
LocalRemote=0
Fax=""
Name=""
Company=""
Number=""
[VoiceConfig]
Allowed=0
ModemID=5
Delay=1
Retry=5
Number=""

jobs.ini


; This is file with configuration parameters for UPSMON
; Do not change any line !
[Job_00]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Comunicazione UPS persa."
[Job_01]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Caomunicazione UPS ripristinata."
[Job_02]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Mancanza di Rete. UPS a batteria. Mancano $SHUTTIME sec. allo spegnimento."
[Job_03]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS da rete."
[Job_04]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Batteria UPS scarica."
[Job_05]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Stato della batteria normale."
[Job_06]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS in sovraccarico."
[Job_07]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Carico UPS normale."
[Job_08]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS da bypass."
[Job_09]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS da inverter."
[Job_10]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Errore interno UPS."
[Job_11]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Fine errore interno UPS."
[Job_12]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS surriscaldato."
[Job_13]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS a temperatura normale."
[Job_14]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Valori di uscita UPS errati."
[Job_15]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Valori di uscita UPS normali."
[Job_16]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="UPS batterie UPS guaste."
[Job_17]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Batterie UPS in buono stato."
[Job_18]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Ingresso bypass errato."
[Job_19]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=0
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Ingresso bypass normale"
[Job_20]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Segnale di arresto sistema imminente."
[Job_21]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Arresto sistema imminente scongiurato."
[Job_22]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Soglia temeratura alta sul sensore $SENSORNAME."
[Job_23]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Soglia temeratura bassa sul sensore $SENSORNAME."
[Job_24]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=0
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Rientro alla temperatura normale sul sensore $SENSORNAME ."
[Job_25]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Soglia umidita alta sul sensore $SENSORNAME."
[Job_26]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Soglia umidita alta sul sensore $SENSORNAME."
[Job_27]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Rientro alla umidita normale sul sensore $SENSORNAME."
[Job_28]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=1
LocalMessageDelay=0
LocalMessageInterval=60
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=0
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Imput contatto $SENSORNAME in allarme."
[Job_29]
Log=1
LogDelay=0
Execute=0
ExecuteDelay=0
ExecuteInterval=0
File=""
LocalMessage=0
LocalMessageDelay=0
LocalMessageInterval=0
NetMessage=0
NetMessageDelay=0
NetMessageInterval=0
Shutdown=0
ShutdownDelay=0
Email=1
EmailDelay=0
SMS=0
SMSDelay=0
Call=0
CallDelay=0
Fax=0
FaxDelay=0
Voice=0
VoiceDelay=0
Message="Imput contatto $SENSORNAME normale."


Consiglio di testare il tutto magari staccando e riattaccando l'alimentazione all'UPS