Страницы

18 октября 2021 г.

LibreNMS. Шаблоны оповещений (e-mail)

Device status up/down

Template name:
Device status up/down

Template:
<head>
<style>
BODY{background-color:white;}
TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}
TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:grey}
TD{border-width: 1px;padding: 4px;border-style: solid;border-color: black;background-color:white}
</style>
</head>
<h3 align="+"><span style="color: #ff0000;">{{ $alert->title }}</span></h3>
<h4>Alert info:</h4>
<table style="width: 622px; height: 65px;">
<tbody>
<tr>
<td style="width: 129px;">ID:</td>
<td style="width: 482px;">{{ $alert->uid }}</td>
</tr>
<tr>
<td style="width: 129px;">Severity:</td>
<td style="width: 482px;">{{ $alert->severity }}</td>
</tr>
<tr>
<td style="width: 129px;">Timestamp:</td>
<td style="width: 482px;">{{ $alert->timestamp }}</td>
</tr>
</tbody>
</table>
<h2><strong style="font-size: 14px;">Device info:</strong></h2>
<table style="height: 122px;" width="622">
<tbody>
<tr>
<td style="width: 128px;">Location:</td>
<td style="width: 478px;">{{ $alert->location }}</td>
</tr>
<tr>
<td style="width: 128px;">Type of device:</td>
<td style="width: 478px;">{{ $alert->type }}</td>
</tr>
<tr>
<td style="width: 128px;">Device name (IP):</td>
<td style="width: 478px;">{{ $alert->sysName }} ({{ $alert->hostname }})</td>
</tr>
<tr>
<td style="width: 128px;">Device OS:</td>
<td style="width: 478px;">{{ $alert->os }}</td>
</tr>
<tr>
<td style="width: 128px;">Uptime:</td>
<td style="width: 478px;">{{ $alert->uptime_long }} &ndash; ({{ $alert->uptime }} sec)</td>
</tr>
</tbody>
</table>
<p>@if ($alert->state == 0) Time elapsed: {{ $alert->elapsed }} @endif</p>
<p>Link to host: @if ($alert->transport == mail)<a href="http://<LIBRENMS_SERVER>/device/device={{ $alert->hostname }}/">{{ $alert->hostname }}</a>
@else
{{ $alert->hostname }}
  @endif</p>

Attach template to rules:
Device status up/down

Alert title:
Device {{ $alert->hostname }} change status is DOWN

Recovery title:
Device {{ $alert->hostname }} change status is UP


Ports Utilization

Template name:
Ports Utilization

Template:
<head>
<style>
BODY{background-color:white;}
TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}
TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:grey}
TD{border-width: 1px;padding: 4px;border-style: solid;border-color: black;background-color:white}
</style>
</head>
<h3 align="+"><span style="color: #ff0000;">{{ $alert->title }}</span></h3>
<h4>Alert info:</h4>
<table style="width: 624px; height: 65px;">
<tbody>
<tr>
<td style="width: 129px;">ID:</td>
<td style="width: 482px;">{{ $alert->uid }}</td>
</tr>
<tr>
<td style="width: 129px;">Severity:</td>
<td style="width: 482px;">{{ $alert->severity }}</td>
</tr>
<tr>
<td style="width: 129px;">Timestamp:</td>
<td style="width: 482px;">{{ $alert->timestamp }}</td>
</tr>
</tbody>
</table>
<h2><strong style="font-size: 14px;">Device info:</strong></h2>
<table style="height: 122px;" width="622">
<tbody>
<tr>
<td style="width: 128px;">Location:</td>
<td style="width: 478px;">{{ $alert->location }}</td>
</tr>
<tr>
<td style="width: 128px;">Type of device:</td>
<td style="width: 478px;">{{ $alert->type }}</td>
</tr>
<tr>
<td style="width: 128px;">Device name (IP):</td>
<td style="width: 478px;">{{ $alert->sysName }} ({{ $alert->hostname }})</td>
</tr>
<tr>
<td style="width: 128px;">Device OS:</td>
<td style="width: 478px;">{{ $alert->os }}</td>
</tr>
<tr>
<td style="width: 128px;">Uptime:</td>
<td style="width: 478px;">{{ $alert->uptime_long }} &ndash; ({{ $alert->uptime }} sec)</td>
</tr>
</tbody>
</table>
<p><strong>Ports info:</strong><br />@foreach ($alert->faults as $key => $value)</p>
<table style="width: 618px;">
<tbody>
<tr>
<td style="width: 170px;">Physical Interface:</td>
<td style="width: 448px;">{{ $value['ifDescr'] }}</td>
</tr>
<tr>
<td style="width: 170px;">Interface Description:</td>
<td style="width: 448px;">{{ $value['ifAlias'] }}</td>
</tr>
<tr>
<td style="width: 170px;">Interface Speed:</td>
<td style="width: 448px;">{{ ($value['ifSpeed']/1000000000) }} Gbs</td>
</tr>
<tr>
<td style="width: 170px;">Inbound Utilization:</td>
<td style="width: 448px;">{{ (($value['ifInOctets_rate']*8)/$value['ifSpeed'])*100 }}</td>
</tr>
<tr>
<td style="width: 170px;">Outbound Utilization:</td>
<td style="width: 448px;">{{ (($value['ifOutOctets_rate']*8)/$value['ifSpeed'])*100 }}</td>
</tr>
</tbody>
</table>
<p>@endforeach</p>
<br><img src="http://LIBRENMS_SERVER/graph.php?width=459&height=213&lazy_w=552&from=end-24h&device={{ $value['device_id'] }}&type=device_bits&legend=yes"/><br>
<p>Link to host: @if ($alert->transport == mail)<a href="http://LIBRENMS_SERVER/device/device={{ $alert->hostname }}/">{{ $alert->hostname }}</a>
@else
{{ $alert->hostname }}
  @endif</p>

Attach template to rules:
Port utilisation over threshold


Reboot device

Template name: 
Reboot device

Template: 
<head>
<style>
BODY{background-color:white;}
TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;} 
TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:grey} 
TD{border-width: 1px;padding: 4px;border-style: solid;border-color: black;background-color:white} 
</style>
</head>
<h3 align="+"><span style="color: #ff0000;">{{ $alert->title }}</span></h3>
<h4>Alert info:</h4>
<table style="width: 621px; height: 65px;">
<tbody>
<tr>
<td style="width: 129px;">ID:</td>
<td style="width: 485px;">{{ $alert->uid }}</td>
</tr>
<tr>
<td style="width: 129px;">Severity:</td>
<td style="width: 485px;">{{ $alert->severity }}</td>
</tr>
<tr>
<td style="width: 129px;">Timestamp:</td>
<td style="width: 485px;">{{ $alert->timestamp }}</td>
</tr>
</tbody>
</table>
<h2><strong style="font-size: 14px;">Device info:</strong></h2>
<table style="height: 122px;" width="622">
<tbody>
<tr>
<td style="width: 128px;">Location:</td>
<td style="width: 478px;">{{ $alert->location }}</td>
</tr>
<tr>
<td style="width: 128px;">Type of device:</td>
<td style="width: 478px;">{{ $alert->type }}</td>
</tr>
<tr>
<td style="width: 128px;">Device name (IP):</td>
<td style="width: 478px;">{{ $alert->sysName }} ({{ $alert->hostname }})</td>
</tr>
<tr>
<td style="width: 128px;">Device OS:</td>
<td style="width: 478px;">{{ $alert->os }}</td>
</tr>
<tr>
<td style="width: 128px;">Uptime:</td>
<td style="width: 478px;">{{ $alert->uptime_long }} &ndash; ({{ $alert->uptime }} sec)</td>
</tr>
</tbody>
</table>
<p>Link to host: @if ($alert->transport == mail)<a href="http://LIBRENMS_SERVER/device/device={{ $alert->hostname }}/">{{ $alert->hostname }}</a>
@else
{{ $alert->hostname }}
  @endif</p>

Attach template to rules: 
Reboot device


Port change status up/down

Template name:
Port change status up/down

Template:
<head>
<style>
BODY{background-color:white;}
TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}
TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:grey}
TD{border-width: 1px;padding: 4px;border-style: solid;border-color: black;background-color:white}
</style>
</head>
<h3 align="+"><span style="color: #ff0000;">{{ $alert->title }}</span></h3>
<h4>Alert info:</h4>
<table style="width: 656px; height: 65px;">
<tbody>
<tr>
<td style="width: 129px;">ID:</td>
<td style="width: 515px;">{{ $alert->uid }}</td>
</tr>
<tr>
<td style="width: 129px;">Severity:</td>
<td style="width: 515px;">{{ $alert->severity }}</td>
</tr>
<tr>
<td style="width: 129px;">Timestamp:</td>
<td style="width: 515px;">{{ $alert->timestamp }}</td>
</tr>
</tbody>
</table>
<h2><strong style="font-size: 14px;">Device info:</strong></h2>
<table style="height: 122px; width: 654px;">
<tbody>
<tr>
<td style="width: 128px;">Location:</td>
<td style="width: 511px;">{{ $alert->location }}</td>
</tr>
<tr>
<td style="width: 128px;">Type of device:</td>
<td style="width: 511px;">{{ $alert->type }}</td>
</tr>
<tr>
<td style="width: 128px;">Device name (IP):</td>
<td style="width: 511px;">{{ $alert->sysName }} ({{ $alert->hostname }})</td>
</tr>
<tr>
<td style="width: 128px;">Device OS:</td>
<td style="width: 511px;">{{ $alert->os }}</td>
</tr>
<tr>
<td style="width: 128px;">Uptime:</td>
<td style="width: 511px;">{{ $alert->uptime_long }} &ndash; ({{ $alert->uptime }} sec)</td>
</tr>
</tbody>
</table>
<p><strong>Ports info:</strong>@if ($alert->state == 1) <span style=”color: #ff0000;”>{{ $alert->severity }} @else <span style=”color: #008000;”>recovering @endif </span></p>
<p>@foreach ($alert->faults as $key => $value)</p>
<table style="width: 709px;">
<tbody>
<tr>
<td style="width: 145px;">Physical Interface:</td>
<td style="width: 560px;">{{ $value['ifDescr'] }} (Interface Description: {{ $value['ifAlias'] }} )&nbsp;</td>
</tr>
</tbody>
</table>
<p>@endforeach @if ($alert->state == 0) @endif</p>
<p>@if ($alert->state == 0) Time elapsed: {{ $alert->elapsed }} @endif</p>
<p>Link to host: @if ($alert->transport == mail)<a href="http://LIBRENMS_SERVER/device/device={{ $alert->hostname }}/">{{ $alert->hostname }}</a>
@else
{{ $alert->hostname }}
  @endif</p>

Attach template to rules:
Port change status up/down


CPU usage over 60%

Template name:
CPU usage over 60%

Template:
<head>
<style>
BODY{background-color:white;}
TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}
TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:grey}
TD{border-width: 1px;padding: 4px;border-style: solid;border-color: black;background-color:white}
</style>
</head>
<h3 align="+"><span style="color: #ff0000;">{{ $alert->title }}</span></h3>
<h4>Alert info:</h4>
<table style="width: 621px; height: 65px;">
<tbody>
<tr>
<td style="width: 129px;">ID:</td>
<td style="width: 485px;">{{ $alert->uid }}</td>
</tr>
<tr>
<td style="width: 129px;">Severity:</td>
<td style="width: 485px;">{{ $alert->severity }}</td>
</tr>
<tr>
<td style="width: 129px;">Timestamp:</td>
<td style="width: 485px;">{{ $alert->timestamp }}</td>
</tr>
</tbody>
</table>
<h2><strong style="font-size: 14px;">Device info:</strong></h2>
<table style="height: 122px;" width="622">
<tbody>
<tr>
<td style="width: 128px;">Location:</td>
<td style="width: 478px;">{{ $alert->location }}</td>
</tr>
<tr>
<td style="width: 128px;">Type of device:</td>
<td style="width: 478px;">{{ $alert->type }}</td>
</tr>
<tr>
<td style="width: 128px;">Device name (IP):</td>
<td style="width: 478px;">{{ $alert->sysName }} ({{ $alert->hostname }})</td>
</tr>
<tr>
<td style="width: 128px;">Device OS:</td>
<td style="width: 478px;">{{ $alert->os }}</td>
</tr>
<tr>
<td style="width: 128px;">Uptime:</td>
<td style="width: 478px;">{{ $alert->uptime_long }} &ndash; ({{ $alert->uptime }} sec)</td>
</tr>
</tbody>
</table>
<br>
@foreach ($alert->faults as $key => $value)<img src="http://LIBRENMS_SERVER/graph.php?device={{ $value['device_id'] }}&type=device_processor&width=459&height=213&lazy_w=552&from=end-6h"><br>
@endforeach
<p>Link to host: @if ($alert->transport == mail)<a href="http://LIBRENMS_SERVER/device/device={{ $alert->hostname }}/">{{ $alert->hostname }}</a>
@else
{{ $alert->hostname }}
  @endif</p>

Attach template to rules:
Processor usage over 60%