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



martedì 15 maggio 2012

Accedere sul nas come admin e multiutenza dallo stesso terminale

Per accedere al NAS della netgear ReadyNAS PRO da windows è necessario smontare le connessioni esistenti aprire il prompt dei comandi, e digitare:

net use t: \\indirizzo.ip.del.nas\c /user:admin

es:
net use t: \\192.168.0.1\c /user:admin

tra le altre cose con questo metodo è possibile accedere anche come "diversi" utenti allo stesso NAS
ad esempio i comandi:
net use u: \\192.168.0.1\utente1 /user:utente1
net use v: \\192.168.0.1\utente2 /user:utente2
permetteranno di montare contemporaneamente sulla stessa macchina i due percorsi (u: e v:) appunto come due utenze diverse (utente1 e utente2).
fonte: ReadyNAS Pro FAQ

giovedì 19 aprile 2012

Il mio Geek code

-----BEGIN GEEK CODE BLOCK-----
  Version: 3.12
  GU/E/S d+(x) s: a C++@ UL++ P L++ E---() W+++(-) N o-- K w(+)>---
  O- M-- V-- PS++ PE- Y+ PGP t- 5? X-- R- tv- b+ DI D+
  G- e+++ h! r++ y+++*
  ------END GEEK CODE BLOCK------