From 04cb44e913bd52f64f8333dbd75ef011f6e3e70a Mon Sep 17 00:00:00 2001 From: f0o Date: Mon, 9 Feb 2015 07:36:18 +0000 Subject: [PATCH] Update Docs --- doc/Extensions/Alerting.md | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/doc/Extensions/Alerting.md b/doc/Extensions/Alerting.md index 2d3ea0d69b..02e9ea6c30 100644 --- a/doc/Extensions/Alerting.md +++ b/doc/Extensions/Alerting.md @@ -68,21 +68,23 @@ Controls: - foreach-loop: `{foreach %placeholder}Key: %key
Value: %value{/foreach}` -__Limitations__: Currently it is not possible to have nested `if` controls, so `if` inside an `if`. It is also not possible to have an `if` inside a `foreach` control. These limitations are going to be resolved in (near?) future. - Placeholders: - Hostname of the Device: `%hostname` - Title for the Alert: `%title` - Time Elapsed, Only available on recovery (`%state == 0`): `%elapsed` - Alert-ID: `%id` - Unique-ID: `%uid` -- Faults, Only available on alert (`%state == 1`), must be iterated in a foreach: `%faults` +- Faults, Only available on alert (`%state != 0`), must be iterated in a foreach (`{foreach %faults}`). Holds all available information about the Fault, accessable in the format `%value.Column`, for example: `%value.ifDescr`. Special field `%value.string` has most Identification-information (IDs, Names, Descrs) as single string, this is the equivalent of the default used. - State: `%state` - Severity: `%severity` - Rule: `%rule` +- Rule-Name: `%name` - Timestamp: `%timestamp` - Contacts, must be iterated in a foreach, `%key` holds email and `%value` holds name: `%contacts` +The Default Template is a 'one-size-fit-all'. We highly recommend defining own templates for your rules to include more specific information. +Templates can be matched against several rules. + ## Examples Default Template: @@ -92,9 +94,9 @@ Severity: %severity\r\n {if %state == 0}Time elapsed: %elapsed\r\n{/if} Timestamp: %timestamp\r\n Unique-ID: %uid\r\n -Rule: %rule\r\n +Rule: {if %name}%name{else}%rule{/if}\r\n {if %faults}Faults:\r\n -{foreach %faults} #%key: %value\r\n{/foreach}{/if} +{foreach %faults} #%key: %value.string\r\n{/foreach}{/if} Alert sent to: {foreach %contacts}%value <%key> {/foreach} ``` @@ -121,17 +123,20 @@ $config['alert']['transports']['mail'] = true; The E-Mail transports uses the same email-configuration like the rest of LibreNMS. As a small reminder, here is it's configuration directives including defaults: ```php -$config['email_backend'] = 'mail'; // Mail backend. Allowed: "mail" (PHP's built-in), "sendmail", "smtp". -$config['email_from'] = NULL; // Mail from. Default: "ProjectName" -$config['email_user'] = $config['project_id']; -$config['email_sendmail_path'] = '/usr/sbin/sendmail'; // The location of the sendmail program. -$config['email_smtp_host'] = 'localhost'; // Outgoing SMTP server name. -$config['email_smtp_port'] = 25; // The port to connect. -$config['email_smtp_timeout'] = 10; // SMTP connection timeout in seconds. -$config['email_smtp_secure'] = NULL; // Enable encryption. Use 'tls' or 'ssl' -$config['email_smtp_auth'] = FALSE; // Whether or not to use SMTP authentication. -$config['email_smtp_username'] = NULL; // SMTP username. -$config['email_smtp_password'] = NULL; // Password for SMTP authentication. +$config['email_backend'] = 'mail'; // Mail backend. Allowed: "mail" (PHP's built-in), "sendmail", "smtp". +$config['email_from'] = NULL; // Mail from. Default: "ProjectName" +$config['email_user'] = $config['project_id']; +$config['email_sendmail_path'] = '/usr/sbin/sendmail'; // The location of the sendmail program. +$config['email_smtp_host'] = 'localhost'; // Outgoing SMTP server name. +$config['email_smtp_port'] = 25; // The port to connect. +$config['email_smtp_timeout'] = 10; // SMTP connection timeout in seconds. +$config['email_smtp_secure'] = NULL; // Enable encryption. Use 'tls' or 'ssl' +$config['email_smtp_auth'] = FALSE; // Whether or not to use SMTP authentication. +$config['email_smtp_username'] = NULL; // SMTP username. +$config['email_smtp_password'] = NULL; // Password for SMTP authentication. + +$config['alerts']['email']['default_only'] = FALSE; // Only send alerts to default-contact +$config['alerts']['email']['default'] = NULL; // Default-Contact ``` ## API