7.6. Appendici¶
7.6.1. Formato file dump¶
Il file di dump generato dal comando "--dump" contiene una sequenza di comandi in formato testuale per ripristinare completamente la configurazione corrente.
Il file e' diviso in "sezioni" delimitate del comando "tenant" e ogni sezione contiene comandi "template" o "rule".
Esempio:
tenant site template template1 Testo del template su piu' righe . rule -t mangle -N default rule -t mangle -P default -j CONTINUE rule -t correlate -N default rule -t correlate -P default -j CONTINUE rule -t notify -N default rule -t notify -P default -j CONTINUE rule -t notify -A DEFAULT -j SMTP --smtp_rcpt_to '{{mail.to}}' --smtp_message '{{mail.body}}' --smtp_xheaders '{{mail.xheaders}}' --smtp_subject '{{mail.subject}}' exit tenant site ... ... ... exit
7.6.1.1. Righe template¶
I template vengono definiti dalle righe template.
Il testo del template viene riportato su piu' righe in formato dotted (Un carattere "." indica il termine del testo.
Se una riga del template contiene solo un carattere punto ".", viene espansa con due punti "..").
Esempio:
template alert-body Questo e' il testo del template con una riga con un punto: .. e adesso e' finito .
7.6.1.2. Righe rule¶
La sequenza e formato dei parametri delle righe rule e' identico a quello accettato a riga di comando quando si usa il comando di shell entables specificando i valori tra apici singoli (').
Esempio: il comando di aggiunta di una regola e' identico in fase di inseriemento (-A), consultazione (-L) o dump (--dump).
entables -t notify -A DEFAULT -j SMTP --smtp_message 'Questo e'"'"' un comando di shell con quoting strano'entables -L DEFAULT : policy CONTINUE 1) -t notify -A DEFAULT -j SMTP --smtp_message 'Questo e'"'"' un comando di shell con quoting strano'entables --dump tenant AUSLROMAGNA ... ... rule -t notify -A DEFAULT -j SMTP --smtp_message 'Questo e'"'"' un comando di shell con quoting strano' ... exit
Entables racchiude i valori dei parametri tra apici singoli (') ed eventuali caratteri speciali vengono escapati (\)
Esempio: Passo un testo multiriga come valore o usando una variabile di shell (TEXT) oppure posso passarlo in input con i caratteri di escape
TEXT=$'linea1\nlinea2' entables -t notify -A DEFAULT -j SMTP --smtp_message "$TEXT"entables -nL 1) -t notify -A DEFAULT -j SMTP --smtp_message 'linea1\nlinea2'entables -t notify -A DEFAULT -j SMTP --smtp_message 'linea1\nlinea2' # equivalente al primo comando
7.6.2. Esempi di configurazione¶
7.6.2.1. Configurazione di default (sanet2-like)¶
Per retro-compatibilita' Sanet3 permette di associare alle condition i dati per comporre le mail da mandare:
datagroup-template debug condition check email down.email@localhost msg-downsubj "Soggetto down" msg-downbody "Body Down" upemail up.email@localhost msg-upsubj "Soggetto UP" msg-upbody "Body UP" exit exit
Ecco come configurare il target SMTP di entables per mandare email usando i dati configurati nelle condition:
entables -F DEFAULT entables -A DEFAULT -j SMTP --smtp_rcpt_to '${mail_to}' --smtp_subject '${mail_subject}' --smtp_message '${mail_body}'
IMPORTANTE: questa e' la configurazione impostata di default quando viene eseguita la procedura "sanetdata" e il sistema non prevede alcuna configurazione.
7.6.2.2. Note sul mittente di default¶
Di default, il tanrget SMTP invia e email con mittente e ed envelope sender (il "Return-Path:") a 'monitoring-daemon@localhost':
A volte e' comodo cambiare la regola di default per specificare un mittente di default diverso:
entables -F DEFAULT entables -A DEFAULT -j SMTP --smtp_rcpt_to '${mail_to}' --smtp_subject '${mail_subject}' --smtp_message '${mail_body}' --smtp_header_from 'mittente@miodominio' --smtp_envelope_from 'returnpath@miodominio'
7.6.2.3. Bloccare gli allarmi nel weekend¶
Per non ricevere gli allarmi in certe fasce orarie bisogna filtare sull'orario:
entables -A default -m times --times_range 00:00-23:59/6-7 -j DROP
7.6.2.4. Ritardare gli allarmi del weekend fino al lunedi' mattina¶
Bisogna usare il target "DELAY" e dire di trattenere gli allarmi fino al lunedi' successivo rispetto all'orario dell'allarme:
entables -F DEFAULT entables -A DEFAULT -m times --times_range 00:00-23:59/6-7 -j DELAY --delay_until "monday 8:30" entables -A DEFAULT -j SMTP --smtp_rcpt_to '${mail_to}' --smtp_subject '${mail_subject}' --smtp_message '${mail_body}'
Forse e' meglio utilizzare le catene:
entables -F WEEKEND entables -N WEEKEND -j DROP entables -A WEEKEND -m times --times_range 00:00-23:59/6-7 -j DELAY --delay_until "monday 8:30" entables -A WEEKEND -j SMTP --smtp_rcpt_to weekend@labs.it --smtp_subject '${mail_subject}' --smtp_message '${mail_body}' entables -F DEFAULT entables -A DEFAULT -m times --times_range 00:00-23:59/6-7 -j WEEKEND entables -A DEFAULT -j SMTP --smtp_rcpt_to '${mail_to}' --smtp_subject '${mail_subject}' --smtp_message '${mail_body}'
Schema:
allarme -----> DEFAULT ----> mail | +----> WEEDEND ----> weekend@labs.it ^ | | | +--+