From 6aa87a8a2b4b5e264ae3d15f97468dbd4b3c9a58 Mon Sep 17 00:00:00 2001 From: HalbeBruno Date: Tue, 14 Apr 2026 09:13:49 -0300 Subject: [PATCH] Templates Datacom DmOS --- datacom/datacom_dmos/README.md | 167 ++--- .../datacom_dmos/Template_Datacom_DmOS.xml | 634 ------------------ 2 files changed, 47 insertions(+), 754 deletions(-) diff --git a/datacom/datacom_dmos/README.md b/datacom/datacom_dmos/README.md index be73ee3..0c7f764 100644 --- a/datacom/datacom_dmos/README.md +++ b/datacom/datacom_dmos/README.md @@ -4,7 +4,9 @@ Template desenvolvido para monitoramento de equipamentos Datacom com sistema operacional **DmOS** via **SNMPv1/v2c**, compatível com o **Zabbix 7.2** ou superior. -Realiza o monitoramento completo de disponibilidade (ICMP), informações de sistema, interfaces de rede, CPU, memória, ventiladores (FANs), sensores de temperatura e fontes de alimentação (PSU), fazendo uso extensivo de **Low-Level Discovery (LLD)** para descoberta automática de componentes. +Realiza o monitoramento de disponibilidade (ICMP), informações de sistema, CPU, memória, ventiladores (FANs), sensores de temperatura e fontes de alimentação (PSU), fazendo uso extensivo de **Low-Level Discovery (LLD)** para descoberta automática de componentes. + +> **Nota:** O monitoramento de interfaces de rede está disponível em um template separado. --- @@ -28,10 +30,9 @@ Para o correto funcionamento das coletas SNMP, é necessário que os arquivos de copy mibs ``` -Em seguida, disponibilize os arquivos no diretório de MIBs do Zabbix (geralmente `/usr/share/snmp/mibs/` ou `/etc/snmp/mibs/`). As MIBs utilizadas por este template são: +Em seguida, disponibilize os arquivos no diretório de MIBs do servidor Zabbix (geralmente `/usr/share/snmp/mibs/` ou `/etc/snmp/mibs/`). As MIBs utilizadas por este template são: - `SNMPv2-MIB` -- `IF-MIB` - `DMOS-SYSMON-MIB` - `DMOS-HW-MONITOR-MIB` @@ -57,33 +58,7 @@ chmod +x /usr/lib/zabbix/externalscripts/dmos_hardware_monitor_mib_psu.py ## Configuração -### SNMP - -Configure o host no Zabbix com interface **SNMP** apontando para o IP do equipamento. A macro `{$SNMP_COMMUNITY}` deve ser definida no host com a community correta: - -| Macro | Valor padrão | Descrição | -|-------------------|-------------|----------------------------------| -| `{$SNMP_COMMUNITY}` | `public` | Community SNMP do equipamento | - -### Filtros de Interface - -As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os valores conforme necessário no host ou template: - -| Macro | Valor padrão | Descrição | -|-------|-------------|-----------| -| `{$NET.IF.IFNAME.MATCHES}` | `^.*$` | Regex de nomes de interface a incluir | -| `{$NET.IF.IFNAME.NOT_MATCHES}` | `(^Software Loopback...\|^NULL...\|^[Ll]o...\|docker...\|br-...)` | Exclui loopbacks, docker e similares | -| `{$NET.IF.IFADMINSTATUS.MATCHES}` | `^.*` | Status administrativo a incluir | -| `{$NET.IF.IFADMINSTATUS.NOT_MATCHES}` | `^2$` | Exclui interfaces administrativamente down | -| `{$NET.IF.IFOPERSTATUS.MATCHES}` | `^u\|^1` | Status operacional a incluir | -| `{$NET.IF.IFOPERSTATUS.NOT_MATCHES}` | `^6$` | Exclui interfaces notPresent | -| `{$NET.IF.IFALIAS.MATCHES}` | `.*` | Filtra por alias | -| `{$NET.IF.IFALIAS.NOT_MATCHES}` | `CHANGE_IF_NEEDED` | Desabilitado por padrão | -| `{$NET.IF.IFDESCR.MATCHES}` | `.*` | Filtra por descrição | -| `{$NET.IF.IFDESCR.NOT_MATCHES}` | `CHANGE_IF_NEEDED` | Desabilitado por padrão | -| `{$NET.IF.IFTYPE.MATCHES}` | `.*` | Filtra por tipo de interface | -| `{$NET.IF.IFTYPE.NOT_MATCHES}` | `CHANGE_IF_NEEDED` | Desabilitado por padrão | -| `{$IFCONTROL}` | `1` | Habilita alertas de link down (0 = desabilita) | +Configure o host no Zabbix com interface **SNMP** apontando para o IP do equipamento. Defina a macro `{$SNMP_COMMUNITY}` no host com a community correta. --- @@ -103,11 +78,11 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os ### Disponibilidade (ICMP) -| Item | Chave | Intervalo | Retenção | -|------|-------|-----------|---------| -| ICMP Ping | `icmpping` | padrão | 90 dias | -| ICMP Loss | `icmppingloss` | padrão | 90 dias | -| ICMP Response Time | `icmppingsec` | padrão | 90 dias | +| Item | Chave | Retenção | +|------|-------|---------| +| ICMP Ping | `icmpping` | 90 dias | +| ICMP Loss | `icmppingloss` | 90 dias | +| ICMP Response Time | `icmppingsec` | 90 dias | ### Traps SNMP @@ -119,45 +94,33 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os ## Regras de Descoberta (LLD) -### 1. SNMP Discovery — Network Interfaces +### 1. SNMP Discovery — PSU -**Chave:** `net.if.discovery` -**Tipo:** SNMP Agent (IF-MIB) -**Intervalo:** 1 hora +**Chave:** `dmos_hardware_monitor_mib_psu.py["{HOST.CONN}", "{$SNMP_COMMUNITY}"]` +**Tipo:** External Check (script Python) +**Intervalo:** 60 min + +> ⚠️ **Requer** o script `dmos_hardware_monitor_mib_psu.py` instalado no diretório de scripts externos do Zabbix. **Variáveis descobertas:** | Macro | Descrição | |-------|-----------| -| `{#IFNAME}` | Nome da interface | -| `{#IFALIAS}` | Alias/descrição da interface | -| `{#IFDESCR}` | Descrição do IF-MIB | -| `{#IFOPERSTATUS}` | Status operacional | -| `{#IFADMINSTATUS}` | Status administrativo | -| `{#IFTYPE}` | Tipo de interface | -| `{#SNMPINDEX}` | Índice SNMP | +| `{#PSU_SLOT_NAME}` | Nome do slot da PSU (ex.: `1/PSU1`) | +| `{#PSU_SLOT_NAME_LEN}` | Comprimento do nome em formato decimal | +| `{#PSU_SLOT_NAME_DEC}` | Nome em decimal para composição do OID SNMP (ex.: `49.47.80.83.85.49`) | -**Itens criados por interface:** +**Itens criados:** -| Item | OID | Intervalo | Unidade | -|------|-----|-----------|---------| -| Bits recebidos | `ifHCInOctets` | 3 min | bps | -| Bits enviados | `ifHCOutOctets` | 3 min | bps | -| Pacotes recebidos descartados | `ifInDiscards` | 3 min | — | -| Pacotes recebidos com erros | `ifInErrors` | 3 min | — | -| Pacotes enviados descartados | `ifOutDiscards` | 3 min | — | -| Pacotes enviados com erros | `ifOutErrors` | 3 min | — | -| Velocidade da interface | `ifHighSpeed` | 5 min | bps | -| Status operacional | `ifOperStatus` | — | — | -| Tipo de interface | `ifType` | 1 hora | — | - -**Gráfico:** `Interface {#IFNAME}({#IFALIAS}): Network traffic` +| Item | OID | Intervalo | +|------|-----|-----------| +| `{#PSU_SLOT_NAME}` Status | `DMOS-HW-MONITOR-MIB::psuStatus.{#PSU_SLOT_NAME_LEN}.{#PSU_SLOT_NAME_DEC}` | 5 min | --- -### 2. SNMP Discovery — CPU Core +### 2. SNMP Discovery — CPU Cores -**Chave:** `snmp.discovery.cpu.core` +**Chave:** `snmp.discovery.cpu.cores` **Tipo:** SNMP Agent (`DMOS-SYSMON-MIB::cpuCoreFiveSecondsActive`) **Intervalo:** 60 min @@ -251,30 +214,9 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os | Hysteresis Temperature | `temperatureSensorHysteresis` | ºC | × 0,1 | | Max Temperature | `temperatureSensorMaxTemperature` | ºC | × 0,1 | | Min Temperature | `temperatureSensorMinTemperature` | ºC | × 0,1 | +| Read Error | `temperatureSensorTemperatureReadError` | — | — | ---- - -### 7. SNMP Discovery — PSU - -**Chave:** `dmos_hardware_monitor_mib_psu.py["{HOST.CONN}", "{$SNMP_COMMUNITY}"]` -**Tipo:** External Check (script Python) -**Intervalo:** 60 min - -> ⚠️ **Requer** o script `dmos_hardware_monitor_mib_psu.py` instalado no diretório de scripts externos do Zabbix. - -**Variáveis descobertas:** - -| Macro | Descrição | -|-------|-----------| -| `{#PSU_SLOT_NAME}` | Nome do slot da PSU (ex.: `1/PSU1`) | -| `{#PSU_SLOT_NAME_LEN}` | Comprimento do nome em formato decimal | -| `{#PSU_SLOT_NAME_DEC}` | Nome em decimal para uso no OID SNMP (ex.: `49.47.80.83.85.49`) | - -**Itens criados:** - -| Item | OID | Intervalo | -|------|-----|-----------| -| `{#PSU_SLOT_NAME}` Status | `DMOS-HW-MONITOR-MIB::psuStatus.{#PSU_SLOT_NAME_LEN}.{#PSU_SLOT_NAME_DEC}` | 5 min | +**Gráfico:** `Sensor {#SNMPVALUE} Temperature` (Current / Max / Min) --- @@ -288,20 +230,17 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os | No SNMP data collection | 🟡 Warning | SNMP indisponível por `{$SNMP.TIMEOUT}` (padrão: 5 min) | | Host has been restarted | 🟡 Warning | Uptime < 10 minutos | | High ICMP ping loss | 🟡 Warning | Perda > `{$ICMP_LOSS_WARN}`% (padrão: 20%) por 5 min | -| High ICMP ping response time | 🟡 Warning | Tempo médio > `{$ICMP_RESPONSE_TIME_WARN}`s (padrão: 0.15s) por 5 min | +| High ICMP ping response time | 🟡 Warning | Tempo médio > `{$ICMP_RESPONSE_TIME_WARN}`s (padrão: 0,15s) por 5 min | | System name has changed | 🔵 Info | Nome SNMP alterado | ### Trigger Prototypes (LLD) | Nome | Severidade | Condição | |------|-----------|---------| -| Interface `{#IFNAME}`: Link down | 🟠 Average | Status operacional = down (controlado por `{$IFCONTROL}`) | -| Interface `{#IFNAME}`: High bandwidth usage | 🟡 Warning | Utilização > `{$IF.UTIL.MAX}`% (padrão: 90%) por 15 min | -| Interface `{#IFNAME}`: High error rate | 🟡 Warning | Taxa de erros > `{$IF.ERRORS.WARN}` pps (padrão: 2) por 5 min | -| Interface `{#IFNAME}`: Ethernet has changed to lower speed | 🔵 Info | Velocidade caiu abaixo do máximo conhecido | -| CPU Load High Usage > `{$CPU.UTIL.CRIT}`% | 🟡 Warning | Uso de CPU ativo > 80% (padrão) por 5 min | +| CPU Core High Usage > `{$CPU.UTIL.CRIT}`% | 🟡 Warning | CPU Core ativo > 80% (padrão) por 5 min | +| CPU Load High Usage > `{$CPU.UTIL.CRIT}`% | 🟡 Warning | CPU Load ativo > 80% (padrão) por 5 min | | Memory Available Low < 100MB | 🔴 High | Memória disponível < 100.000.000 bytes | -| FAN `{#SNMPVALUE}` Status Error | 🔴 High | Status do FAN diferente de OK (0) | +| FAN `{#SNMPVALUE}` Status Error | 🔴 High | Status do FAN diferente de Normal (0) | | FAN `{#SNMPVALUE}` Read Error | 🔴 High | Erro de leitura de velocidade do FAN | | PSU Status Failed: `{#PSU_SLOT_NAME}` | 🔴 High | Status PSU ≠ OK e diferente da leitura anterior | @@ -311,30 +250,16 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os | Macro | Valor padrão | Descrição | |-------|-------------|-----------| -| `{$SNMP_COMMUNITY}` | `public` | Community SNMP | +| `{$SNMP_COMMUNITY}` | `public` | Community SNMP do equipamento | | `{$SNMP.TIMEOUT}` | `5m` | Timeout para trigger de SNMP indisponível | | `{$CPU.UTIL.CRIT}` | `80` | Limiar crítico de uso de CPU (%) | | `{$MEMORY.UTIL.MAX}` | `90` | Limiar máximo de uso de memória (%) | | `{$ICMP_LOSS_WARN}` | `20` | Limiar de aviso de perda de pacotes ICMP (%) | | `{$ICMP_RESPONSE_TIME_WARN}` | `0.15` | Limiar de aviso de tempo de resposta ICMP (s) | -| `{$IF.UTIL.MAX}` | `90` | Utilização máxima de interface (%) | -| `{$IF.ERRORS.WARN}` | `2` | Taxa de erro mínima para disparo de alerta (pps) | -| `{$IFCONTROL}` | `1` | Controle de alertas de link down (0 = desabilita) | | `{$FAN_CRIT_STATUS}` | `2` | Código de status crítico para FANs | | `{$TEMP_WARN}` | `50` | Temperatura de aviso (ºC) | | `{$TEMP_CRIT}` | `60` | Temperatura crítica (ºC) | | `{$TEMP_CRIT_LOW}` | `5` | Temperatura crítica mínima (ºC) | -| `{$NET.IF.IFNAME.NOT_MATCHES}` | `(loopback\|null\|lo\|docker...)` | Interfaces excluídas da descoberta | -| `{$NET.IF.IFADMINSTATUS.NOT_MATCHES}` | `^2$` | Exclui interfaces administrativamente down | -| `{$NET.IF.IFOPERSTATUS.NOT_MATCHES}` | `^6$` | Exclui interfaces notPresent | - ---- - -## Dashboards - -| Nome | Conteúdo | -|------|---------| -| Network interfaces | Gráfico em grade com tráfego de todas as interfaces descobertas | --- @@ -343,14 +268,13 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os | Nome | Itens | |------|-------| | Uptime | `system.uptime[sysUpTime.0]` | -| Interface `{#IFNAME}({#IFALIAS})`: Network traffic | Bits in/out, discards in/out | -| CPU Core `{#SNMPINDEX}` Last 1 Minute | Active/Interrupt/Nice/Softirq/System/User/Wait | -| CPU Core `{#SNMPINDEX}` Last 5 Minutes | Active/Interrupt/Nice/Softirq/System/User/Wait | -| CPU Load `{#SNMPINDEX}` Last 1 Minute | cpuLoadOneMinuteActive | -| CPU Load `{#SNMPINDEX}` Last 5 Minutes | cpuLoadFiveMinutesActive | -| Memory Status `{#SNMPINDEX}` Last 1 minute | Available/Buffered/Cached/Free/SlabRecl/SlabUnrecl/Total/Used | -| FAN `{#SNMPVALUE}` Speed | fanSpeed | -| Temperature Sensor `{#SNMPVALUE}` | Current/Max/Min/Hysteresis | +| CPU Core `{#SNMPINDEX}` Last 1 Minute | Active / Interrupt / Nice / Softirq / System / User / Wait | +| CPU Core `{#SNMPINDEX}` Last 5 Minutes | Active / Interrupt / Nice / Softirq / System / User / Wait | +| CPU Load `{#SNMPINDEX}` Last 1 Minute | `cpuLoadOneMinuteActive` | +| CPU Load `{#SNMPINDEX}` Last 5 Minutes | `cpuLoadFiveMinutesActive` | +| Memory Status `{#SNMPINDEX}` Last 1 minute | Available / Buffered / Cached / Free / SlabRecl / SlabUnrecl / Total / Used | +| FAN `{#SNMPVALUE}` Speed | `fanSpeed` | +| Sensor `{#SNMPVALUE}` Temperature | Current / Max / Min | --- @@ -362,9 +286,9 @@ As interfaces descobertas podem ser filtradas pelas seguintes macros. Altere os | `zabbix.host.available` | SNMP Agent Availability (0/1/2) | | `IF-MIB::ifOperStatus` | Status operacional de interfaces | | `IF-MIB::ifType` | Tipo de interface (290+ mapeamentos) | -| `DmOS-HW-MONITOR-MIB PSU Status` | Status das fontes de alimentação | -| `DmOS-HW-MONITOR Environment Sensor Status` | Status dos FANs | -| `DmOS-HW-MONITOR Read Error` | Erro de leitura de sensor | +| `DmOS-HW-MONITOR-MIB PSU Status` | Status das fontes (Ok / Power Input Failure / Fuse Failure / Error) | +| `DmOS-HW-MONITOR Environment Sensor Status` | Status dos FANs (Normal / High / Low / Critical / Error / Fail) | +| `DmOS-HW-MONITOR Read Error` | Erro de leitura de sensor (Normal / Abnormal) | --- @@ -384,8 +308,11 @@ Os seguintes campos de inventário são preenchidos automaticamente: ## Instalação 1. Importe o arquivo `zbx_export_templates.xml` no Zabbix via **Data collection → Templates → Import**. -2. Copie as MIBs DmOS para o servidor Zabbix e reinicie o `snmpd` ou o Zabbix Server conforme necessário. -3. Copie `dmos_hardware_monitor_mib_psu.py` para `/usr/lib/zabbix/externalscripts/` e dê permissão de execução. +2. Copie as MIBs DmOS para o servidor Zabbix (`/usr/share/snmp/mibs/` ou equivalente). +3. Copie `dmos_hardware_monitor_mib_psu.py` para `/usr/lib/zabbix/externalscripts/` e aplique permissão de execução: + ```bash + chmod +x /usr/lib/zabbix/externalscripts/dmos_hardware_monitor_mib_psu.py + ``` 4. Crie ou edite o host do equipamento Datacom no Zabbix: - Adicione interface SNMP apontando para o IP do equipamento. - Defina a macro `{$SNMP_COMMUNITY}` com a community correta. diff --git a/datacom/datacom_dmos/Template_Datacom_DmOS.xml b/datacom/datacom_dmos/Template_Datacom_DmOS.xml index 7bd2def..2d98ab3 100644 --- a/datacom/datacom_dmos/Template_Datacom_DmOS.xml +++ b/datacom/datacom_dmos/Template_Datacom_DmOS.xml @@ -421,567 +421,6 @@ Trigger activate if PSU Status is different from OK (0) and difference between p - - f4362dd3f8414e05a7eae2d1a13249ab - SNMP Discovery - Network Interfaces Discovery - SNMP_AGENT - discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3] - net.if.discovery - 1h - - - - {#IFADMINSTATUS} - {$NET.IF.IFADMINSTATUS.MATCHES} - - - {#IFADMINSTATUS} - {$NET.IF.IFADMINSTATUS.NOT_MATCHES} - NOT_MATCHES_REGEX - - - {#IFALIAS} - {$NET.IF.IFALIAS.MATCHES} - - - {#IFALIAS} - {$NET.IF.IFALIAS.NOT_MATCHES} - NOT_MATCHES_REGEX - - - {#IFDESCR} - {$NET.IF.IFDESCR.MATCHES} - - - {#IFDESCR} - {$NET.IF.IFDESCR.NOT_MATCHES} - NOT_MATCHES_REGEX - - - {#IFNAME} - {$NET.IF.IFNAME.MATCHES} - - - {#IFNAME} - {$NET.IF.IFNAME.NOT_MATCHES} - NOT_MATCHES_REGEX - - - {#IFOPERSTATUS} - {$NET.IF.IFOPERSTATUS.MATCHES} - - - {#IFOPERSTATUS} - {$NET.IF.IFOPERSTATUS.NOT_MATCHES} - NOT_MATCHES_REGEX - - - {#IFTYPE} - {$NET.IF.IFTYPE.MATCHES} - - - {#IFTYPE} - {$NET.IF.IFTYPE.NOT_MATCHES} - NOT_MATCHES_REGEX - - - - Discovering interfaces from IF-MIB. - - - f3340e49312f491da5e14ab37f22e532 - Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded - SNMP_AGENT - 1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX} - net.if.in.discards[ifInDiscards.{#SNMPINDEX}] - 3m - MIB: IF-MIB -The number of inbound packets which were chosen to be discarded -even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. -One possible reason for discarding such a packet could be to free up buffer space. -Discontinuities in the value of this counter can occur at re-initialization of the management system, -and at other times as indicated by the value of ifCounterDiscontinuityTime. - - - CHANGE_PER_SECOND - - - - - component - network - - - interface - {#IFNAME} - - - - - 00ab5b76a7fd48a4ad5553b5eefa026f - Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors - SNMP_AGENT - 1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX} - net.if.in.errors[ifInErrors.{#SNMPINDEX}] - 3m - MIB: IF-MIB -For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. - - - CHANGE_PER_SECOND - - - - - component - network - - - interface - {#IFNAME} - - - - - a9581c3662404ba481d06ddcd5d0c554 - Interface {#IFNAME}({#IFALIAS}): Bits received - SNMP_AGENT - 1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX} - net.if.in[ifHCInOctets.{#SNMPINDEX}] - 3m - bps - MIB: IF-MIB -The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. - - - CHANGE_PER_SECOND - - - MULTIPLIER - - 8 - - - - - - component - network - - - interface - {#IFNAME} - - - - - 1b2eafab575d42cda071035ffc5321a8 - Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded - SNMP_AGENT - 1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX} - net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] - 3m - MIB: IF-MIB -The number of outbound packets which were chosen to be discarded -even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. -One possible reason for discarding such a packet could be to free up buffer space. -Discontinuities in the value of this counter can occur at re-initialization of the management system, -and at other times as indicated by the value of ifCounterDiscontinuityTime. - - - CHANGE_PER_SECOND - - - - - component - network - - - interface - {#IFNAME} - - - - - 5e1ed90e871b4edf9d64ce5c940c140e - Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors - SNMP_AGENT - 1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX} - net.if.out.errors[ifOutErrors.{#SNMPINDEX}] - 3m - MIB: IF-MIB -For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. - - - CHANGE_PER_SECOND - - - - - component - network - - - interface - {#IFNAME} - - - - - c37f525026474c23b5beeade04369f55 - Interface {#IFNAME}({#IFALIAS}): Bits sent - SNMP_AGENT - 1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX} - net.if.out[ifHCOutOctets.{#SNMPINDEX}] - 3m - bps - MIB: IF-MIB -The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. - - - CHANGE_PER_SECOND - - - MULTIPLIER - - 8 - - - - - - component - network - - - interface - {#IFNAME} - - - - - df681c05a7004430ad5699bf43744cda - Interface {#IFNAME}({#IFALIAS}): Speed - SNMP_AGENT - 1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX} - net.if.speed[ifHighSpeed.{#SNMPINDEX}] - 5m - 0 - bps - MIB: IF-MIB -An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'. For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero. - - - MULTIPLIER - - 1000000 - - - - DISCARD_UNCHANGED_HEARTBEAT - - 1h - - - - - - component - network - - - interface - {#IFNAME} - - - - - 7456c0f902b047398aa07de75aa26de1 - Interface {#IFNAME}({#IFALIAS}): Operational status - SNMP_AGENT - 1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX} - net.if.status[ifOperStatus.{#SNMPINDEX}] - 0 - MIB: IF-MIB -The current operational state of the interface. -- The testing(3) state indicates that no operational packet scan be passed -- If ifAdminStatus is down(2) then ifOperStatus should be down(2) -- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic -- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection) -- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state -- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components. - - IF-MIB::ifOperStatus - - - - component - network - - - interface - {#IFNAME} - - - - - 9c042fb9de884b50a80259616016722d - {$IFCONTROL:"{#IFNAME}"}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) - RECOVERY_EXPRESSION - last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 - Interface {#IFNAME}({#IFALIAS}): Link down - Current state: {ITEM.LASTVALUE1} - AVERAGE - This trigger expression works as follows: -1. It can be triggered if the operations status is down. -2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down. -3. `{TEMPLATE_NAME:METRIC.diff()}=1` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "eternal off" interfaces.) - -WARNING: if closed manually - it will not fire again on the next poll, because of .diff. - YES - - - scope - availability - - - - - - - f4d4a3b2dfde4c97a7b7ad97298e95ab - Interface {#IFNAME}({#IFALIAS}): Interface type - SNMP_AGENT - 1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX} - net.if.type[ifType.{#SNMPINDEX}] - 1h - 0 - MIB: IF-MIB -The type of interface. -Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA), -through updating the syntax of the IANAifType textual convention. - - IF-MIB::ifType - - - - DISCARD_UNCHANGED_HEARTBEAT - - 1d - - - - - - component - network - - - interface - {#IFNAME} - - - - - - - 763cbe562ea14bd9bb3f88be5ca2d7c9 - change(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 -and ( -last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=6 or -last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=7 or -last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=11 or -last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=62 or -last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=69 or -last(/IPv0 - Template Datacom DmOS/net.if.type[ifType.{#SNMPINDEX}])=117 -) -and -(last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) - RECOVERY_EXPRESSION - (change(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or -(last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2) - Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before - Current reported speed: {ITEM.LASTVALUE1} - INFO - This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually. - YES - - - Interface {#IFNAME}({#IFALIAS}): Link down - {$IFCONTROL:"{#IFNAME}"}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) - last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 - - - - - scope - performance - - - - - b6b21d02d74d454b8936fbfc7c4db86d - (avg(/IPv0 - Template Datacom DmOS/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or -avg(/IPv0 - Template Datacom DmOS/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and -last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 - RECOVERY_EXPRESSION - avg(/IPv0 - Template Datacom DmOS/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and -avg(/IPv0 - Template Datacom DmOS/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/IPv0 - Template Datacom DmOS/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) - Interface {#IFNAME}({#IFALIAS}): High bandwidth usage - Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%) - In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2} - WARNING - The utilization of the network interface is close to its estimated maximum bandwidth. - YES - - - Interface {#IFNAME}({#IFALIAS}): Link down - {$IFCONTROL:"{#IFNAME}"}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) - last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 - - - - - scope - performance - - - - - f59d7ea314364649a5022cc095ac9871 - min(/IPv0 - Template Datacom DmOS/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} -or min(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} - RECOVERY_EXPRESSION - max(/IPv0 - Template Datacom DmOS/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 -and max(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 - Interface {#IFNAME}({#IFALIAS}): High error rate - Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m) - errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2} - WARNING - It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold. - YES - - - Interface {#IFNAME}({#IFALIAS}): Link down - {$IFCONTROL:"{#IFNAME}"}=1 and last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) - last(/IPv0 - Template Datacom DmOS/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 - - - - - scope - availability - - - scope - performance - - - - - - - 6b159eb7d128485bbcf460eb52627800 - Interface {#IFNAME}({#IFALIAS}): Network traffic - - - 1A7C11 - - IPv0 - Template Datacom DmOS - net.if.in[ifHCInOctets.{#SNMPINDEX}] - - - - 1 - FF0000 - - IPv0 - Template Datacom DmOS - net.if.out[ifHCOutOctets.{#SNMPINDEX}] - - - - 2 - 00611C - - IPv0 - Template Datacom DmOS - net.if.in.discards[ifInDiscards.{#SNMPINDEX}] - - - - 3 - F7941D - - IPv0 - Template Datacom DmOS - net.if.in.errors[ifInErrors.{#SNMPINDEX}] - - - - 4 - FC6EA3 - - IPv0 - Template Datacom DmOS - net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] - - - - 5 - 6C59DC - - IPv0 - Template Datacom DmOS - net.if.out.errors[ifOutErrors.{#SNMPINDEX}] - - - - - - - - Discovery only UP - 1 - - - - {#IFADMINSTATUS} - ^2$ - - - - - - LIKE - Bits - DISCOVER - - - LIKE - Inbound packets - DISCOVER - - - LIKE - Interface type - DISCOVER - - - LIKE - Interface type - DISCOVER - - - LIKE - Outbound packets - DISCOVER - - - LIKE - Speed - DISCOVER - - - - - 497ca11cdfe045478f4ce7c507706db7 SNMP Discovery - CPU Cores @@ -1976,75 +1415,10 @@ and max(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX} 0.15 Warning threshold of the average ICMP response time in seconds. - - {$IF.ERRORS.WARN} - 2 - Warning threshold of error packet rate. Can be used with interface name as context. - - - {$IF.UTIL.MAX} - 90 - - - {$IFCONTROL} - 1 - {$MEMORY.UTIL.MAX} 90 - - {$NET.IF.IFADMINSTATUS.MATCHES} - ^.* - - - {$NET.IF.IFADMINSTATUS.NOT_MATCHES} - ^2$ - Ignore down(2) administrative status - - - {$NET.IF.IFALIAS.MATCHES} - .* - - - {$NET.IF.IFALIAS.NOT_MATCHES} - CHANGE_IF_NEEDED - - - {$NET.IF.IFDESCR.MATCHES} - .* - - - {$NET.IF.IFDESCR.NOT_MATCHES} - CHANGE_IF_NEEDED - - - {$NET.IF.IFNAME.MATCHES} - ^.*$ - - - {$NET.IF.IFNAME.NOT_MATCHES} - (^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12}) - Filter out loopbacks, nulls, docker veth links and docker0 bridge by default - - - {$NET.IF.IFOPERSTATUS.MATCHES} - ^u|^1 - ^.*$ - - - {$NET.IF.IFOPERSTATUS.NOT_MATCHES} - ^6$ - Ignore notPresent(6) - - - {$NET.IF.IFTYPE.MATCHES} - .* - - - {$NET.IF.IFTYPE.NOT_MATCHES} - CHANGE_IF_NEEDED - {$SNMP.TIMEOUT} 5m @@ -2081,14 +1455,6 @@ and max(/IPv0 - Template Datacom DmOS/net.if.out.errors[ifOutErrors.{#SNMPINDEX} columns 1 - - GRAPH_PROTOTYPE - graphid.0 - - IPv0 - Template Datacom DmOS - Interface {#IFNAME}({#IFALIAS}): Network traffic - - STRING reference