********* Appendici ********* .. contents:: :depth: 2 .. _entables-dump-file-format: 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 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 . 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 Esempi di configurazione ======================== .. _entables-appendix-default-config: 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. 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' 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 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 ^ | | | +--+