feat(pfsense): add OpenVPN connected users item & fix import errors
- Added calculated item 'OpenVPN: Total de Usuários Conectados' (sum of openvpn.user.status). - Fixed Zabbix Import Error (Invalid Tag): Explicitly quoted all macro values to ensure they are treated as strings (e.g. '080000'). - Updated validation script: - Added check for non-string macro values. - Allowed 'REGEXP' operator specifically for Override Operations (Zabbix 7.0 compatibility quirk). - Regenerated template documentation.
This commit is contained in:
parent
9444511c6d
commit
9b4b37df2f
|
|
@ -4,7 +4,7 @@ zabbix_export:
|
||||||
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
|
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
|
||||||
name: Templates/Applications
|
name: Templates/Applications
|
||||||
templates:
|
templates:
|
||||||
- uuid: 05b29f6748b34f4ab8a3930d8b064f94
|
- uuid: 26f714d88de2408a87fc9e486ae6dbfe
|
||||||
template: PFSense by SNMP
|
template: PFSense by SNMP
|
||||||
name: PFSense by SNMP
|
name: PFSense by SNMP
|
||||||
description: "Template para monitoramento do pfSense via SNMP\nConfiguração:\n 1. Habilite o daemon SNMP em Services na interface web do pfSense: https://docs.netgate.com/pfsense/en/latest/services/snmp.html\n 2. Configure a regra de firewall para permitir acesso do Zabbix Proxy/Server via SNMP: https://docs.netgate.com/pfsense/en/latest/firewall/index.html#managing-firewall-rules\n 3. Associe o template ao host.\n\nMIBs usadas:\nBEGEMOT-PF-MIB\nHOST-RESOURCES-MIB\n\nGerado originalmente pela ferramenta oficial \"Templator\", Otimizado para Padrão Gold (Arthur)\n"
|
description: "Template para monitoramento do pfSense via SNMP\nConfiguração:\n 1. Habilite o daemon SNMP em Services na interface web do pfSense: https://docs.netgate.com/pfsense/en/latest/services/snmp.html\n 2. Configure a regra de firewall para permitir acesso do Zabbix Proxy/Server via SNMP: https://docs.netgate.com/pfsense/en/latest/firewall/index.html#managing-firewall-rules\n 3. Associe o template ao host.\n\nMIBs usadas:\nBEGEMOT-PF-MIB\nHOST-RESOURCES-MIB\n\nGerado originalmente pela ferramenta oficial \"Templator\", Otimizado para Padrão Gold (Arthur)\n"
|
||||||
|
|
@ -16,19 +16,19 @@ zabbix_export:
|
||||||
macros:
|
macros:
|
||||||
- macro: '{$VPN.S2S.PATTERN}'
|
- macro: '{$VPN.S2S.PATTERN}'
|
||||||
value: '^S2S_'
|
value: '^S2S_'
|
||||||
description: 'Regex para identificar túneis Site-to-Site pelo nome (CN).'
|
description: Regex para identificar túneis Site-to-Site pelo nome (CN).
|
||||||
- macro: '{$VPN.DATA.LIMIT}'
|
- macro: '{$VPN.DATA.LIMIT}'
|
||||||
value: '10737418240'
|
value: '10737418240'
|
||||||
description: 'Limite de Download (10GB) para alerta de Exfiltração.'
|
description: Limite de Download (10GB) para alerta de Exfiltração.
|
||||||
- macro: '{$VPN.WORK.START}'
|
- macro: '{$VPN.WORK.START}'
|
||||||
value: '080000'
|
value: '080000'
|
||||||
description: 'Início do expediente (HHMMSS).'
|
description: Início do expediente (HHMMSS).
|
||||||
- macro: '{$VPN.WORK.END}'
|
- macro: '{$VPN.WORK.END}'
|
||||||
value: '180000'
|
value: '180000'
|
||||||
description: 'Fim do expediente (HHMMSS).'
|
description: Fim do expediente (HHMMSS).
|
||||||
- macro: '{$VPN.ZOMBIE.LIMIT}'
|
- macro: '{$VPN.ZOMBIE.LIMIT}'
|
||||||
value: '86400'
|
value: '86400'
|
||||||
description: 'Tempo máximo de conexão (24h) para alerta de Sessão Zumbi.'
|
description: Tempo máximo de conexão (24h) para alerta de Sessão Zumbi.
|
||||||
- macro: '{$IF.ERRORS.WARN}'
|
- macro: '{$IF.ERRORS.WARN}'
|
||||||
value: '2'
|
value: '2'
|
||||||
description: Limiar de taxa de pacotes com erro para disparo de alerta. Pode ser usado com contexto de nome de interface.
|
description: Limiar de taxa de pacotes com erro para disparo de alerta. Pode ser usado com contexto de nome de interface.
|
||||||
|
|
@ -45,19 +45,19 @@ zabbix_export:
|
||||||
value: '1'
|
value: '1'
|
||||||
description: Macro para controle de estado operacional da interface (trigger de link down). Valor 1 = monitorar, 0 = ignorar. Pode ser usado com contexto de nome de interface.
|
description: Macro para controle de estado operacional da interface (trigger de link down). Valor 1 = monitorar, 0 = ignorar. Pode ser usado com contexto de nome de interface.
|
||||||
- macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
|
- macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
|
||||||
value: ^.*
|
value: '^.*'
|
||||||
description: Filtro de descoberta de interfaces de rede (status administrativo).
|
description: Filtro de descoberta de interfaces de rede (status administrativo).
|
||||||
- macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
|
- macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
|
||||||
value: ^2$
|
value: '^2$'
|
||||||
description: Ignora interfaces com status administrativo down(2).
|
description: Ignora interfaces com status administrativo down(2).
|
||||||
- macro: '{$NET.IF.IFALIAS.MATCHES}'
|
- macro: '{$NET.IF.IFALIAS.MATCHES}'
|
||||||
value: .*
|
value: '.*'
|
||||||
description: Filtro de descoberta de interfaces de rede (alias).
|
description: Filtro de descoberta de interfaces de rede (alias).
|
||||||
- macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
|
- macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
|
||||||
value: CHANGE_IF_NEEDED
|
value: CHANGE_IF_NEEDED
|
||||||
description: Filtro de descoberta de interfaces de rede (alias - exclusão).
|
description: Filtro de descoberta de interfaces de rede (alias - exclusão).
|
||||||
- macro: '{$NET.IF.IFDESCR.MATCHES}'
|
- macro: '{$NET.IF.IFDESCR.MATCHES}'
|
||||||
value: .*
|
value: '.*'
|
||||||
description: Filtro de descoberta de interfaces de rede (descrição).
|
description: Filtro de descoberta de interfaces de rede (descrição).
|
||||||
- macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
|
- macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
|
||||||
value: CHANGE_IF_NEEDED
|
value: CHANGE_IF_NEEDED
|
||||||
|
|
@ -72,7 +72,7 @@ zabbix_export:
|
||||||
value: ^6$
|
value: ^6$
|
||||||
description: Ignora interfaces com status operacional notPresent(6).
|
description: Ignora interfaces com status operacional notPresent(6).
|
||||||
- macro: '{$NET.IF.IFTYPE.MATCHES}'
|
- macro: '{$NET.IF.IFTYPE.MATCHES}'
|
||||||
value: .*
|
value: '.*'
|
||||||
description: Filtro de descoberta de interfaces de rede (tipo de interface).
|
description: Filtro de descoberta de interfaces de rede (tipo de interface).
|
||||||
- macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
|
- macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
|
||||||
value: CHANGE_IF_NEEDED
|
value: CHANGE_IF_NEEDED
|
||||||
|
|
@ -87,7 +87,7 @@ zabbix_export:
|
||||||
value: '90'
|
value: '90'
|
||||||
description: Limiar de utilização da tabela de estados (%).
|
description: Limiar de utilização da tabela de estados (%).
|
||||||
items:
|
items:
|
||||||
- uuid: e2a65d09f0d04f87a22b48754d52d219
|
- uuid: e69ff1057f654deaa0f5d93707457d54
|
||||||
name: 'Coleta Raw (SNMP): Interfaces de Rede PF'
|
name: 'Coleta Raw (SNMP): Interfaces de Rede PF'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: walk[1.3.6.1.4.1.12325.1.200.1.8.2]
|
snmp_oid: walk[1.3.6.1.4.1.12325.1.200.1.8.2]
|
||||||
|
|
@ -156,7 +156,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: raw
|
value: raw
|
||||||
- uuid: 43ef5151237d4bd48428b26cd389042d
|
- uuid: 39c8406ab2ee4fe0a37d6ab19ebe04b9
|
||||||
name: 'Coleta Raw (SNMP): Interfaces de Rede (IF-MIB)'
|
name: 'Coleta Raw (SNMP): Interfaces de Rede (IF-MIB)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]
|
snmp_oid: walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]
|
||||||
|
|
@ -168,7 +168,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: raw
|
value: raw
|
||||||
- uuid: d6873f4b275c40c18d2ef512b102e382
|
- uuid: 91a438b287b341cc8fffc643f4e9e4ee
|
||||||
name: Status do servidor DHCP
|
name: Status do servidor DHCP
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.dhcpd.status
|
key: pfsense.dhcpd.status
|
||||||
|
|
@ -192,7 +192,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: application
|
value: application
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: 014a4a17d96f457da8ba701de62fcb4f
|
- uuid: 2ad90789cbba4c768bc0cadcd222fe16
|
||||||
expression: last(/PFSense by SNMP/pfsense.dhcpd.status)=0
|
expression: last(/PFSense by SNMP/pfsense.dhcpd.status)=0
|
||||||
name: '🚨 DHCP Parado: Servidor DHCP não está em execução'
|
name: '🚨 DHCP Parado: Servidor DHCP não está em execução'
|
||||||
event_name: '🚨 DHCP Parado em {HOST.NAME}: O serviço dhcpd retornou status {ITEM.LASTVALUE}'
|
event_name: '🚨 DHCP Parado em {HOST.NAME}: O serviço dhcpd retornou status {ITEM.LASTVALUE}'
|
||||||
|
|
@ -202,7 +202,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 827033dc86ab45bfa46b5c6d7552b315
|
- uuid: f6d15151588c4b2fb2d96d0be5f4703f
|
||||||
name: Status do servidor DNS
|
name: Status do servidor DNS
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.dns.status
|
key: pfsense.dns.status
|
||||||
|
|
@ -226,7 +226,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: application
|
value: application
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: 471d897f345b4bfbb4d1c77362739a2b
|
- uuid: c7bae27c2ac74b3182074c7d0cbece9f
|
||||||
expression: last(/PFSense by SNMP/pfsense.dns.status)=0
|
expression: last(/PFSense by SNMP/pfsense.dns.status)=0
|
||||||
name: '🚨 DNS Parado: Servidor DNS (Unbound) não está em execução'
|
name: '🚨 DNS Parado: Servidor DNS (Unbound) não está em execução'
|
||||||
event_name: '🚨 DNS Parado em {HOST.NAME}: O serviço unbound retornou status {ITEM.LASTVALUE}'
|
event_name: '🚨 DNS Parado em {HOST.NAME}: O serviço unbound retornou status {ITEM.LASTVALUE}'
|
||||||
|
|
@ -236,7 +236,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 10e3a5669abb44b196d17e2bee0fa206
|
- uuid: 233eff72ab114bc99e158c9f43e6f935
|
||||||
name: Estado do processo Nginx (Web)
|
name: Estado do processo Nginx (Web)
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.nginx.status
|
key: pfsense.nginx.status
|
||||||
|
|
@ -260,7 +260,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: application
|
value: application
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: fc1696e914e049e5a7df88d07aeff03c
|
- uuid: 1e279190eb644f23890727d743eb1107
|
||||||
expression: last(/PFSense by SNMP/pfsense.nginx.status)=0
|
expression: last(/PFSense by SNMP/pfsense.nginx.status)=0
|
||||||
name: '🚨 WebServer Parado: Nginx não está rodando'
|
name: '🚨 WebServer Parado: Nginx não está rodando'
|
||||||
event_name: '🚨 WebServer Parado em {HOST.NAME}: O serviço nginx retornou status {ITEM.LASTVALUE}'
|
event_name: '🚨 WebServer Parado em {HOST.NAME}: O serviço nginx retornou status {ITEM.LASTVALUE}'
|
||||||
|
|
@ -270,7 +270,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 279896526ea349a1afd73d58c5ac68c5
|
- uuid: eedbd6f5f60a4653b7b54b8260ee7e68
|
||||||
name: Pacotes com offset incorreto (Bad Offset)
|
name: Pacotes com offset incorreto (Bad Offset)
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.packets.bad.offset
|
key: pfsense.packets.bad.offset
|
||||||
|
|
@ -295,7 +295,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: ca13b4cd9a794cd38a933382ffcf1303
|
- uuid: f21dd206c16740a5a6ddd803c36739b1
|
||||||
name: Pacotes Fragmentados
|
name: Pacotes Fragmentados
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.packets.fragment
|
key: pfsense.packets.fragment
|
||||||
|
|
@ -321,7 +321,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: ff9f3a0bfdd94d8b89f9771b9cb76849
|
- uuid: ac86e80811e1461bb4259f272926561d
|
||||||
expression: min(/PFSense by SNMP/pfsense.packets.fragment,5m)>{$PF.FRAG.MAX}
|
expression: min(/PFSense by SNMP/pfsense.packets.fragment,5m)>{$PF.FRAG.MAX}
|
||||||
recovery_mode: RECOVERY_EXPRESSION
|
recovery_mode: RECOVERY_EXPRESSION
|
||||||
recovery_expression: max(/PFSense by SNMP/pfsense.packets.fragment,5m)<{$PF.FRAG.MAX}*0.5
|
recovery_expression: max(/PFSense by SNMP/pfsense.packets.fragment,5m)<{$PF.FRAG.MAX}*0.5
|
||||||
|
|
@ -339,7 +339,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: security
|
value: security
|
||||||
- uuid: 403697863f564e6bad6f09cb3bde48ac
|
- uuid: 7621d1df6d8f45acb8072f22616dd21d
|
||||||
name: Pacotes correspondentes a uma regra de filtro
|
name: Pacotes correspondentes a uma regra de filtro
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.packets.match
|
key: pfsense.packets.match
|
||||||
|
|
@ -365,7 +365,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: 7e634c0b00a647d68e4bea916dd3d42b
|
- uuid: fc4768d852fa4f5587812bf7a0d29fdf
|
||||||
expression: min(/PFSense by SNMP/pfsense.packets.match,5m)>avg(/PFSense by SNMP/pfsense.packets.match,1h)*3
|
expression: min(/PFSense by SNMP/pfsense.packets.match,5m)>avg(/PFSense by SNMP/pfsense.packets.match,1h)*3
|
||||||
recovery_mode: RECOVERY_EXPRESSION
|
recovery_mode: RECOVERY_EXPRESSION
|
||||||
recovery_expression: max(/PFSense by SNMP/pfsense.packets.match,5m)<avg(/PFSense by SNMP/pfsense.packets.match,1h)*1.5
|
recovery_expression: max(/PFSense by SNMP/pfsense.packets.match,5m)<avg(/PFSense by SNMP/pfsense.packets.match,1h)*1.5
|
||||||
|
|
@ -385,7 +385,7 @@ zabbix_export:
|
||||||
value: security
|
value: security
|
||||||
- tag: type
|
- tag: type
|
||||||
value: anomaly
|
value: anomaly
|
||||||
- uuid: b775071904fb494c846b3dd37dc951b9
|
- uuid: cd6d25802e5f4cec9f2c564b8c702a3f
|
||||||
name: Pacotes descartados por limite de memória
|
name: Pacotes descartados por limite de memória
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.packets.mem.drop
|
key: pfsense.packets.mem.drop
|
||||||
|
|
@ -410,7 +410,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: 1e050409f84040bb8950e113c428177c
|
- uuid: 5184015d0c5744b1a380bf120d564fc7
|
||||||
name: Pacotes Normalizados
|
name: Pacotes Normalizados
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.packets.normalize
|
key: pfsense.packets.normalize
|
||||||
|
|
@ -435,7 +435,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: d774954a835e49be9322d2e11fa254c9
|
- uuid: c251261b4e2c4017969d70a1c3c32d26
|
||||||
name: Pacotes Curtos (Short Packets)
|
name: Pacotes Curtos (Short Packets)
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.packets.short
|
key: pfsense.packets.short
|
||||||
|
|
@ -460,7 +460,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: 59476388a4c745b998f4f93fbcc61fa9
|
- uuid: 1f53c87c0ede4637ad0e852b2cf4fa27
|
||||||
name: Status de execução do Packet Filter
|
name: Status de execução do Packet Filter
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.1.1.0]
|
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.1.1.0]
|
||||||
|
|
@ -478,7 +478,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: health
|
value: health
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: e9f25a8cd5da4a0ea801b2528816a04c
|
- uuid: d180143d5bc94739875c4579b1c02897
|
||||||
expression: last(/PFSense by SNMP/pfsense.pf.status)<>1
|
expression: last(/PFSense by SNMP/pfsense.pf.status)<>1
|
||||||
name: '🚨 Firewall Desligado: Packet Filter inativo'
|
name: '🚨 Firewall Desligado: Packet Filter inativo'
|
||||||
opdata: 'Estado Atual: {ITEM.LASTVALUE1}'
|
opdata: 'Estado Atual: {ITEM.LASTVALUE1}'
|
||||||
|
|
@ -487,7 +487,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 80febc02c284406cbcd74b4d7a4d9cf5
|
- uuid: 242e34998b2446beab804f631df4aced
|
||||||
name: 'Coleta Raw (SNMP): Contadores PF (pfCounter)'
|
name: 'Coleta Raw (SNMP): Contadores PF (pfCounter)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: walk[1.3.6.1.4.1.12325.1.200.1.2]
|
snmp_oid: walk[1.3.6.1.4.1.12325.1.200.1.2]
|
||||||
|
|
@ -505,7 +505,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: raw
|
value: raw
|
||||||
- uuid: 9173404e36144515b0a4ec65e86a7811
|
- uuid: 3e36f8986ab24c66a2c02b5b501ba448
|
||||||
name: Contagem de regras de Firewall
|
name: Contagem de regras de Firewall
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.11.1.0]
|
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.11.1.0]
|
||||||
|
|
@ -518,7 +518,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: firewall
|
value: firewall
|
||||||
- uuid: b32fedd2fa2b4f80a88ffafc8206e431
|
- uuid: 74f5cd8e738f47d5ac25e01e7494bf87
|
||||||
name: 'Tabela de Rastreamento: Origens Atuais (Source Tracking)'
|
name: 'Tabela de Rastreamento: Origens Atuais (Source Tracking)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.4.1.0]
|
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.4.1.0]
|
||||||
|
|
@ -531,7 +531,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: 7ba4b4e710e24585b908e012fcd14c17
|
- uuid: 6c314ee1e92f4adeac792704d94e542c
|
||||||
name: 'Tabela de Rastreamento: Limite (Limit)'
|
name: 'Tabela de Rastreamento: Limite (Limit)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.5.2.0]
|
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.5.2.0]
|
||||||
|
|
@ -544,7 +544,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: 15bfda94b7a442ed8af39493714586f8
|
- uuid: 1c21adbb6cca4bf984414f235a15abcf
|
||||||
name: 'Tabela de Rastreamento: Utilização (%)'
|
name: 'Tabela de Rastreamento: Utilização (%)'
|
||||||
type: CALCULATED
|
type: CALCULATED
|
||||||
key: pfsense.source.tracking.table.pused
|
key: pfsense.source.tracking.table.pused
|
||||||
|
|
@ -556,7 +556,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: 928bd977d97a4d478bd73c9e7d969ef6
|
- uuid: 92b394642eb14bbe90c5fff98a230340
|
||||||
expression: min(/PFSense by SNMP/pfsense.source.tracking.table.pused,#3)>{$SOURCE.TRACKING.TABLE.UTIL.MAX}
|
expression: min(/PFSense by SNMP/pfsense.source.tracking.table.pused,#3)>{$SOURCE.TRACKING.TABLE.UTIL.MAX}
|
||||||
name: '⚠️ Tabela de Rastreamento Cheia: Uso elevado ({ITEM.LASTVALUE1}%)'
|
name: '⚠️ Tabela de Rastreamento Cheia: Uso elevado ({ITEM.LASTVALUE1}%)'
|
||||||
event_name: '⚠️ Tabela de Rastreamento Cheia: Uso acima de {$SOURCE.TRACKING.TABLE.UTIL.MAX}%'
|
event_name: '⚠️ Tabela de Rastreamento Cheia: Uso acima de {$SOURCE.TRACKING.TABLE.UTIL.MAX}%'
|
||||||
|
|
@ -566,7 +566,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: capacity
|
value: capacity
|
||||||
- uuid: d01d68e0b68744a9b649ef19f8a68f8b
|
- uuid: d47d9e2511fe4da48ada834e4808c123
|
||||||
expression: timeleft(/PFSense by SNMP/pfsense.source.tracking.table.pused,1h,100)<1h
|
expression: timeleft(/PFSense by SNMP/pfsense.source.tracking.table.pused,1h,100)<1h
|
||||||
name: ⏳ Source Tracking cheia em < 1h (Previsão)
|
name: ⏳ Source Tracking cheia em < 1h (Previsão)
|
||||||
event_name: '⏳ Previsão: Source Tracking em {HOST.NAME} cheia em menos de 1 hora'
|
event_name: '⏳ Previsão: Source Tracking em {HOST.NAME} cheia em menos de 1 hora'
|
||||||
|
|
@ -582,7 +582,7 @@ zabbix_export:
|
||||||
value: capacity
|
value: capacity
|
||||||
- tag: type
|
- tag: type
|
||||||
value: predictive
|
value: predictive
|
||||||
- uuid: b68001ded3d84372bd8f2d25097331d5
|
- uuid: 07b8d39e10c74b3e830d0dc49ceea76b
|
||||||
name: 'Tabela de Estados: Atual (State Table)'
|
name: 'Tabela de Estados: Atual (State Table)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.3.1.0]
|
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.3.1.0]
|
||||||
|
|
@ -595,7 +595,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: 483dc0d67c7548ed96f22e341b85b48f
|
- uuid: 41c5895c3c0049f68b392062ba62402c
|
||||||
name: 'Tabela de Estados: Limite (Limit)'
|
name: 'Tabela de Estados: Limite (Limit)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.5.1.0]
|
snmp_oid: get[1.3.6.1.4.1.12325.1.200.1.5.1.0]
|
||||||
|
|
@ -608,7 +608,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
- uuid: f4f192b367fc43578828365c3d78be43
|
- uuid: 27c6cc6298cf42e98598b735ead01ba5
|
||||||
name: 'Tabela de Estados: Utilização (%)'
|
name: 'Tabela de Estados: Utilização (%)'
|
||||||
type: CALCULATED
|
type: CALCULATED
|
||||||
key: pfsense.state.table.pused
|
key: pfsense.state.table.pused
|
||||||
|
|
@ -620,7 +620,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: aeb585f0eac145159521ff06de04220e
|
- uuid: fa282a21fe8941e4807c23800feccba5
|
||||||
expression: min(/PFSense by SNMP/pfsense.state.table.pused,#3)>{$STATE.TABLE.UTIL.MAX}
|
expression: min(/PFSense by SNMP/pfsense.state.table.pused,#3)>{$STATE.TABLE.UTIL.MAX}
|
||||||
name: '🔥 Tabela de Estados Crítica: Risco de bloqueio ({ITEM.LASTVALUE1}%)'
|
name: '🔥 Tabela de Estados Crítica: Risco de bloqueio ({ITEM.LASTVALUE1}%)'
|
||||||
event_name: '🔥 Tabela de Estados Crítica: Uso acima de {$STATE.TABLE.UTIL.MAX}%'
|
event_name: '🔥 Tabela de Estados Crítica: Uso acima de {$STATE.TABLE.UTIL.MAX}%'
|
||||||
|
|
@ -630,7 +630,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: capacity
|
value: capacity
|
||||||
- uuid: c6cc7b069e564a5c91b3e777bd88266e
|
- uuid: ecc35bc873034a29aeb11f5dee669a85
|
||||||
expression: timeleft(/PFSense by SNMP/pfsense.state.table.pused,1h,100)<1h
|
expression: timeleft(/PFSense by SNMP/pfsense.state.table.pused,1h,100)<1h
|
||||||
name: ⏳ Tabela de Estados cheia em < 1h (Previsão)
|
name: ⏳ Tabela de Estados cheia em < 1h (Previsão)
|
||||||
event_name: '⏳ Previsão: Tabela de Estados em {HOST.NAME} cheia em menos de 1 hora'
|
event_name: '⏳ Previsão: Tabela de Estados em {HOST.NAME} cheia em menos de 1 hora'
|
||||||
|
|
@ -646,7 +646,7 @@ zabbix_export:
|
||||||
value: capacity
|
value: capacity
|
||||||
- tag: type
|
- tag: type
|
||||||
value: predictive
|
value: predictive
|
||||||
- uuid: 2c1c84a1a0fb40c09d6bb2252a9240a4
|
- uuid: b65039aca123453ca3eddb4ee2dfc05c
|
||||||
name: 'Coleta Raw (SNMP): Software Instalado (hrSWRun)'
|
name: 'Coleta Raw (SNMP): Software Instalado (hrSWRun)'
|
||||||
type: SNMP_AGENT
|
type: SNMP_AGENT
|
||||||
snmp_oid: walk[1.3.6.1.2.1.25.4.2.1.2,1.3.6.1.2.1.25.4.2.1.7,1.3.6.1.2.1.25.4.2.1.5]
|
snmp_oid: walk[1.3.6.1.2.1.25.4.2.1.2,1.3.6.1.2.1.25.4.2.1.7,1.3.6.1.2.1.25.4.2.1.5]
|
||||||
|
|
@ -676,7 +676,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: raw
|
value: raw
|
||||||
- uuid: 517cbb7af4304df1a09fe75ca5d5e619
|
- uuid: 71d279df2b8f41a7821d12c29f6428ca
|
||||||
name: Disponibilidade do Agente SNMP
|
name: Disponibilidade do Agente SNMP
|
||||||
type: INTERNAL
|
type: INTERNAL
|
||||||
key: zabbix[host,snmp,available]
|
key: zabbix[host,snmp,available]
|
||||||
|
|
@ -699,7 +699,7 @@ zabbix_export:
|
||||||
- tag: component
|
- tag: component
|
||||||
value: network
|
value: network
|
||||||
triggers:
|
triggers:
|
||||||
- uuid: 94f82cddb0dd44d986c59c7df67953f6
|
- uuid: 91a9fdd814924ca8bdbb48550145dadb
|
||||||
expression: max(/PFSense by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0
|
expression: max(/PFSense by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0
|
||||||
name: '🚨 Falha SNMP: Sem coleta de dados no pfSense'
|
name: '🚨 Falha SNMP: Sem coleta de dados no pfSense'
|
||||||
opdata: 'Estado Atual: {ITEM.LASTVALUE1}'
|
opdata: 'Estado Atual: {ITEM.LASTVALUE1}'
|
||||||
|
|
@ -708,20 +708,34 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
|
- uuid: 4d39e166cb0a44c4a154804e5e424205
|
||||||
|
name: 'OpenVPN: Total de Usuários Conectados'
|
||||||
|
type: CALCULATED
|
||||||
|
key: openvpn.users.connected.total
|
||||||
|
history: 7d
|
||||||
|
value_type: FLOAT
|
||||||
|
units: ''
|
||||||
|
params: sum(last_foreach(//openvpn.user.status[*]))
|
||||||
|
description: Soma de usuários OpenVPN conectados atualmente.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: vpn
|
||||||
discovery_rules:
|
discovery_rules:
|
||||||
- uuid: 34ed656ffcf845b0b5598870de258002
|
- uuid: 0d2fdd4472b04aebb17fe87a4da359f5
|
||||||
name: Descoberta de Usuários OpenVPN
|
name: Descoberta de Usuários OpenVPN
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.discovery
|
key: openvpn.discovery
|
||||||
delay: 5m
|
delay: 5m
|
||||||
description: |
|
description: 'Descobre usuários conectados ao OpenVPN através do script openvpn-discovery.sh.
|
||||||
Descobre usuários conectados ao OpenVPN através do script openvpn-discovery.sh.
|
|
||||||
Requisito: Zabbix Agent ativo com UserParameter configurado.
|
Requisito: Zabbix Agent ativo com UserParameter configurado.
|
||||||
|
|
||||||
|
'
|
||||||
item_prototypes:
|
item_prototypes:
|
||||||
- uuid: a8a060a8e0494d3d99a71cd4f2b6a7c8
|
- uuid: 190889d238a346349f68b39360e6b823
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Download Total (Bytes)'
|
name: 'OpenVPN [{#VPN.USER}]: Download Total (Bytes)'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'openvpn.user.bytes_recv.cached[{#VPN.USER}]'
|
key: openvpn.user.bytes_recv.cached[{#VPN.USER}]
|
||||||
delay: 1m
|
delay: 1m
|
||||||
history: 30d
|
history: 30d
|
||||||
trends: 365d
|
trends: 365d
|
||||||
|
|
@ -732,10 +746,10 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: vpn_user
|
- tag: vpn_user
|
||||||
value: '{#VPN.USER}'
|
value: '{#VPN.USER}'
|
||||||
- uuid: 36362e120e9445a1bbdc750afc0f6a1f
|
- uuid: 7ae9377297954618966f042ec812caa0
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Upload Total (Bytes)'
|
name: 'OpenVPN [{#VPN.USER}]: Upload Total (Bytes)'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'openvpn.user.bytes_sent.cached[{#VPN.USER}]'
|
key: openvpn.user.bytes_sent.cached[{#VPN.USER}]
|
||||||
delay: 1m
|
delay: 1m
|
||||||
history: 30d
|
history: 30d
|
||||||
trends: 365d
|
trends: 365d
|
||||||
|
|
@ -746,10 +760,10 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: vpn_user
|
- tag: vpn_user
|
||||||
value: '{#VPN.USER}'
|
value: '{#VPN.USER}'
|
||||||
- uuid: 7eee5d914f0346c8a2b1c3d4e5f6a7b8
|
- uuid: 7801ee20d08146f7a9bb734ec23da0a7
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Tempo Online (Segundos)'
|
name: 'OpenVPN [{#VPN.USER}]: Tempo Online (Segundos)'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'openvpn.user.time_online[{#VPN.USER}]'
|
key: openvpn.user.time_online[{#VPN.USER}]
|
||||||
delay: 1m
|
delay: 1m
|
||||||
history: 30d
|
history: 30d
|
||||||
trends: 365d
|
trends: 365d
|
||||||
|
|
@ -760,10 +774,10 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: vpn_user
|
- tag: vpn_user
|
||||||
value: '{#VPN.USER}'
|
value: '{#VPN.USER}'
|
||||||
- uuid: c3a4b5c6d7e84f0991a2b3c4d5e6f7a8
|
- uuid: 27e17610b61b494eaa6c4767fb239799
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Status'
|
name: 'OpenVPN [{#VPN.USER}]: Status'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'openvpn.user.status[{#VPN.USER}]'
|
key: openvpn.user.status[{#VPN.USER}]
|
||||||
delay: 1m
|
delay: 1m
|
||||||
history: 30d
|
history: 30d
|
||||||
trends: '0'
|
trends: '0'
|
||||||
|
|
@ -775,10 +789,10 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: vpn_user
|
- tag: vpn_user
|
||||||
value: '{#VPN.USER}'
|
value: '{#VPN.USER}'
|
||||||
- uuid: 1f2a3b4c5d6e4f8a9b0c1d2e3f4a5b6c
|
- uuid: 01d95e68b9414b349571af87f4ed2486
|
||||||
name: 'OpenVPN [{#VPN.USER}]: IP Real'
|
name: 'OpenVPN [{#VPN.USER}]: IP Real'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'openvpn.user.real_address.new[{#VPN.USER}]'
|
key: openvpn.user.real_address.new[{#VPN.USER}]
|
||||||
delay: 1m
|
delay: 1m
|
||||||
history: 30d
|
history: 30d
|
||||||
trends: '0'
|
trends: '0'
|
||||||
|
|
@ -789,10 +803,10 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: vpn_user
|
- tag: vpn_user
|
||||||
value: '{#VPN.USER}'
|
value: '{#VPN.USER}'
|
||||||
- uuid: 9e8d7c6b5a4941f2bccd1e2f3a4b5c6d
|
- uuid: 9ebd06f090b14ff6aa20b93b56947ec4
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Destinos Acessados'
|
name: 'OpenVPN [{#VPN.USER}]: Destinos Acessados'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'openvpn.access.destinations[{#VPN.USER}]'
|
key: openvpn.access.destinations[{#VPN.USER}]
|
||||||
delay: 5m
|
delay: 5m
|
||||||
history: 30d
|
history: 30d
|
||||||
trends: '0'
|
trends: '0'
|
||||||
|
|
@ -806,19 +820,19 @@ zabbix_export:
|
||||||
- tag: vpn_user
|
- tag: vpn_user
|
||||||
value: '{#VPN.USER}'
|
value: '{#VPN.USER}'
|
||||||
graph_prototypes:
|
graph_prototypes:
|
||||||
- uuid: 2b3c4d5e6f7a4892abcd1e2f3a4b5c6d
|
- uuid: 6b9325ae9c094cb98005d2b52f92d8f5
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Tráfego'
|
name: 'OpenVPN [{#VPN.USER}]: Tráfego'
|
||||||
graph_items:
|
graph_items:
|
||||||
- color: 199C0D
|
- color: 199C0D
|
||||||
item:
|
item:
|
||||||
host: 'PFSense by SNMP'
|
host: PFSense by SNMP
|
||||||
key: 'openvpn.user.bytes_recv.cached[{#VPN.USER}]'
|
key: openvpn.user.bytes_recv.cached[{#VPN.USER}]
|
||||||
- sortorder: '1'
|
- sortorder: '1'
|
||||||
color: F63100
|
color: F63100
|
||||||
item:
|
item:
|
||||||
host: 'PFSense by SNMP'
|
host: PFSense by SNMP
|
||||||
key: 'openvpn.user.bytes_sent.cached[{#VPN.USER}]'
|
key: openvpn.user.bytes_sent.cached[{#VPN.USER}]
|
||||||
- uuid: e9fa3f6d8d864df8b0132f690ae54a1b
|
- uuid: 4319b9eedcd34b25ac315b7baea8d05f
|
||||||
name: Descoberta de interfaces de rede
|
name: Descoberta de interfaces de rede
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.net.if.discovery
|
key: pfsense.net.if.discovery
|
||||||
|
|
@ -870,7 +884,7 @@ zabbix_export:
|
||||||
formulaid: L
|
formulaid: L
|
||||||
description: Descoberta de interfaces via IF-MIB.
|
description: Descoberta de interfaces via IF-MIB.
|
||||||
item_prototypes:
|
item_prototypes:
|
||||||
- uuid: 9ef6068a317d479881e405464ccf6bc1
|
- uuid: 8496d1099ae94ae598cdc4aaaee2919f
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de entrada bloqueado'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de entrada bloqueado'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.block.v4.bps[{#SNMPINDEX}]
|
key: net.if.in.block.v4.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -902,7 +916,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: e6b6d1394b7248e192c1e8db91ca1c97
|
- uuid: dceda9ca8ba9428380e61ee9b7f92657
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de entrada bloqueados'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de entrada bloqueados'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.block.v4.pps[{#SNMPINDEX}]
|
key: net.if.in.block.v4.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -931,7 +945,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: f725a30292f24361b0fb20348f192269
|
- uuid: 8d1e551630674b4aac6c42e2419eaf38
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de entrada bloqueado'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de entrada bloqueado'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.block.v6.bps[{#SNMPINDEX}]
|
key: net.if.in.block.v6.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -963,7 +977,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 5952bb5bce3f429f83c63889454f73e3
|
- uuid: 3419a871342142d2ba96f6b5ae179dfd
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv6 de entrada bloqueados'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv6 de entrada bloqueados'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.block.v6.pps[{#SNMPINDEX}]
|
key: net.if.in.block.v6.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -992,7 +1006,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 0ee2183a375e4e53899ba9e3ff9cb040
|
- uuid: 65c99e5f26604d68b32f410f414e88a0
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de entrada descartados'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de entrada descartados'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.discards[{#SNMPINDEX}]
|
key: net.if.in.discards[{#SNMPINDEX}]
|
||||||
|
|
@ -1022,7 +1036,7 @@ zabbix_export:
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: 7deee856841d4dd295435c06c69db714
|
- uuid: 789f3e68130545089d0d1ca209e9ae7f
|
||||||
expression: min(/PFSense by SNMP/net.if.in.discards[{#SNMPINDEX}],5m)>{$IF.DISCARDS.WARN:"{#IFNAME}"}
|
expression: min(/PFSense by SNMP/net.if.in.discards[{#SNMPINDEX}],5m)>{$IF.DISCARDS.WARN:"{#IFNAME}"}
|
||||||
recovery_mode: RECOVERY_EXPRESSION
|
recovery_mode: RECOVERY_EXPRESSION
|
||||||
recovery_expression: max(/PFSense by SNMP/net.if.in.discards[{#SNMPINDEX}],5m)<{$IF.DISCARDS.WARN:"{#IFNAME}"}*0.8
|
recovery_expression: max(/PFSense by SNMP/net.if.in.discards[{#SNMPINDEX}],5m)<{$IF.DISCARDS.WARN:"{#IFNAME}"}*0.8
|
||||||
|
|
@ -1042,7 +1056,7 @@ zabbix_export:
|
||||||
value: capacity
|
value: capacity
|
||||||
- tag: layer
|
- tag: layer
|
||||||
value: network
|
value: network
|
||||||
- uuid: 59a418974c7f4f27987c84faf2bf00b8
|
- uuid: ee83d9a8d42f4973a3fdfcb983435772
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de entrada com erros'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de entrada com erros'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.errors[{#SNMPINDEX}]
|
key: net.if.in.errors[{#SNMPINDEX}]
|
||||||
|
|
@ -1072,7 +1086,7 @@ zabbix_export:
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: 8730a59fd47b44d8ab09a8080a381e59
|
- uuid: 8810a687e73747c382eaa1d71476f35d
|
||||||
expression: min(/PFSense by SNMP/net.if.in.errors[{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
|
expression: min(/PFSense by SNMP/net.if.in.errors[{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
|
||||||
recovery_mode: RECOVERY_EXPRESSION
|
recovery_mode: RECOVERY_EXPRESSION
|
||||||
recovery_expression: max(/PFSense by SNMP/net.if.in.errors[{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
|
recovery_expression: max(/PFSense by SNMP/net.if.in.errors[{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
|
||||||
|
|
@ -1087,7 +1101,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 1bd37e94b786445caa6ada8855dfb252
|
- uuid: c08553abc9da448cb6a4a64854cdfe69
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de entrada permitido'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de entrada permitido'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.pass.v4.bps[{#SNMPINDEX}]
|
key: net.if.in.pass.v4.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -1119,7 +1133,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 243751e84f884372832e51fc4e32a7dc
|
- uuid: 98614c00af374d06a0c7634b94cdfc9c
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de entrada permitidos'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de entrada permitidos'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.pass.v4.pps[{#SNMPINDEX}]
|
key: net.if.in.pass.v4.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -1148,7 +1162,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 722c2f1696274667a754c4c3bbc5b548
|
- uuid: 6f5e8255140d46eaae7524e20b0afcff
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de entrada permitido'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de entrada permitido'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.pass.v6.bps[{#SNMPINDEX}]
|
key: net.if.in.pass.v6.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -1180,7 +1194,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 9e10f4a41f9d4762a81cb0e0906624d5
|
- uuid: 2d47d2696e44421e83171cb854cdbdf1
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv6 de entrada permitidos'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv6 de entrada permitidos'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in.pass.v6.pps[{#SNMPINDEX}]
|
key: net.if.in.pass.v6.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -1209,7 +1223,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 2f2bd830634a47c19de2522c9435b428
|
- uuid: a2b1376ba9b140a996ac6d73d2536851
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Bits recebidos'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Bits recebidos'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.in[{#SNMPINDEX}]
|
key: net.if.in[{#SNMPINDEX}]
|
||||||
|
|
@ -1242,7 +1256,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: d0c8f2518bae4d58bdb4268a02ed2451
|
- uuid: aecc5b5db9bc43729841ec6018a36bad
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de saída bloqueado'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de saída bloqueado'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.block.v4.bps[{#SNMPINDEX}]
|
key: net.if.out.block.v4.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -1274,7 +1288,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 6f1a2a5d11734c7b8f2831f0760fdbe9
|
- uuid: 63d0eb16b35c44609526b9efdadaba77
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de saída bloqueados'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de saída bloqueados'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.block.v4.pps[{#SNMPINDEX}]
|
key: net.if.out.block.v4.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -1303,7 +1317,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 1314708916dc452ab5a6cc391b7b1d5a
|
- uuid: f86c7517b3854f10bb9e524633e4e8a3
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de saída bloqueado'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de saída bloqueado'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.block.v6.bps[{#SNMPINDEX}]
|
key: net.if.out.block.v6.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -1335,7 +1349,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 5c44ce98d46c447e887ca51029e9d283
|
- uuid: d8388e7697f1448099e73deacb0991cd
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de saída descartados'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de saída descartados'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.discards[{#SNMPINDEX}]
|
key: net.if.out.discards[{#SNMPINDEX}]
|
||||||
|
|
@ -1364,7 +1378,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: d2f086cfa1ec4b49b3f67b28937aa879
|
- uuid: e2a19a6ad32e4d7f987b9dedc8ffa888
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de saída com erros'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes de saída com erros'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.errors[{#SNMPINDEX}]
|
key: net.if.out.errors[{#SNMPINDEX}]
|
||||||
|
|
@ -1394,7 +1408,7 @@ zabbix_export:
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: c8a6edd70f16407887f5a9a2a8c34e0d
|
- uuid: 78674539d47442d9ba2ec8fc6a680246
|
||||||
expression: min(/PFSense by SNMP/net.if.out.errors[{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
|
expression: min(/PFSense by SNMP/net.if.out.errors[{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
|
||||||
recovery_mode: RECOVERY_EXPRESSION
|
recovery_mode: RECOVERY_EXPRESSION
|
||||||
recovery_expression: max(/PFSense by SNMP/net.if.out.errors[{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
|
recovery_expression: max(/PFSense by SNMP/net.if.out.errors[{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
|
||||||
|
|
@ -1409,7 +1423,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 4a0aab86624a46a89405f0e52333a320
|
- uuid: 0425dcfc440b4a6daf55f0b047ea0119
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de saída permitido'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv4 de saída permitido'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.pass.v4.bps[{#SNMPINDEX}]
|
key: net.if.out.pass.v4.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -1441,7 +1455,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: de4f5905719040dfa99eb8a31075f610
|
- uuid: 76c8c4bfc8ba45f4aa3278179bd0a82d
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de saída permitidos'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv4 de saída permitidos'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.pass.v4.pps[{#SNMPINDEX}]
|
key: net.if.out.pass.v4.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -1470,7 +1484,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: fdc005f450664b159b9c5a6f75878e49
|
- uuid: f9f17f3a84f047c4bbe9ff420b8052be
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de saída permitido'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego IPv6 de saída permitido'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.pass.v6.bps[{#SNMPINDEX}]
|
key: net.if.out.pass.v6.bps[{#SNMPINDEX}]
|
||||||
|
|
@ -1502,7 +1516,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 9425d460009a48648a03e4d431bfa4db
|
- uuid: c4bdb1e973184e8580a1789cefdf9017
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv6 de saída permitidos'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Pacotes IPv6 de saída permitidos'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out.pass.v6.pps[{#SNMPINDEX}]
|
key: net.if.out.pass.v6.pps[{#SNMPINDEX}]
|
||||||
|
|
@ -1531,7 +1545,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 769bc0e41d13401a903c11acb3bf4127
|
- uuid: c3f0dc451f2a4a5a8c3ed6188418526b
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Bits enviados'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Bits enviados'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.out[{#SNMPINDEX}]
|
key: net.if.out[{#SNMPINDEX}]
|
||||||
|
|
@ -1564,7 +1578,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 2714800b92634c8cb79a0fcf262f1f2f
|
- uuid: aac2f637be9f4fe09bf4b8233035d840
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Contagem de referências de regras'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Contagem de referências de regras'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.rules.refs[{#SNMPINDEX}]
|
key: net.if.rules.refs[{#SNMPINDEX}]
|
||||||
|
|
@ -1589,7 +1603,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 5636f9f1b52b43779f59bd2e751c7a3e
|
- uuid: 36aca220eae3434695cea797a756f16d
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Velocidade'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Velocidade'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.speed[{#SNMPINDEX}]
|
key: net.if.speed[{#SNMPINDEX}]
|
||||||
|
|
@ -1622,7 +1636,7 @@ zabbix_export:
|
||||||
value: '{#IFALIAS}'
|
value: '{#IFALIAS}'
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
- uuid: 4217558941c2437bbad030a19f60639b
|
- uuid: 41210ea1fce3406a93bc1c3c769d02d3
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Status operacional'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Status operacional'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.status[{#SNMPINDEX}]
|
key: net.if.status[{#SNMPINDEX}]
|
||||||
|
|
@ -1668,7 +1682,7 @@ zabbix_export:
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: ec74da7a0ec543939d80bbf93e6ed33f
|
- uuid: f3c3674b62ea4787ba9988d96512c091
|
||||||
expression: '{$IFCONTROL:"{#IFNAME}"}=1 and (last(/PFSense by SNMP/net.if.status[{#SNMPINDEX}])=2)'
|
expression: '{$IFCONTROL:"{#IFNAME}"}=1 and (last(/PFSense by SNMP/net.if.status[{#SNMPINDEX}])=2)'
|
||||||
name: '🔌 PFSense: Interface [{#IFNAME}({#IFALIAS})]: Link indisponível'
|
name: '🔌 PFSense: Interface [{#IFNAME}({#IFALIAS})]: Link indisponível'
|
||||||
opdata: 'Estado atual: {ITEM.LASTVALUE1}'
|
opdata: 'Estado atual: {ITEM.LASTVALUE1}'
|
||||||
|
|
@ -1683,7 +1697,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: availability
|
value: availability
|
||||||
- uuid: 515394e4d006469ab91d5cd9d40874c8
|
- uuid: 0b43d6703ba141729f8a0e860b34064d
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tipo de interface'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tipo de interface'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: net.if.type[{#SNMPINDEX}]
|
key: net.if.type[{#SNMPINDEX}]
|
||||||
|
|
@ -1715,7 +1729,7 @@ zabbix_export:
|
||||||
- tag: interface
|
- tag: interface
|
||||||
value: '{#IFNAME}'
|
value: '{#IFNAME}'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: 5a27caf007fa4d20837edfb3b67f4753
|
- uuid: c867833b2c6244f1974d7f3ab1331865
|
||||||
expression: 'change(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])<0 and last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])>0
|
expression: 'change(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])<0 and last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])>0
|
||||||
|
|
||||||
and (
|
and (
|
||||||
|
|
@ -1755,7 +1769,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: capacity
|
value: capacity
|
||||||
- uuid: 7e8b530b7b38444388eabfedd9a4f2ea
|
- uuid: 6264c829391342d0b167088593ff5dbb
|
||||||
expression: '(avg(/PFSense by SNMP/net.if.in[{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])) and
|
expression: '(avg(/PFSense by SNMP/net.if.in[{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])) and
|
||||||
|
|
||||||
last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])>0
|
last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])>0
|
||||||
|
|
@ -1774,7 +1788,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: performance
|
value: performance
|
||||||
- uuid: c3f5f04c84b944a9afc04a14e4b549e2
|
- uuid: 5b63a3dcb4ad4377a8257b65f028c961
|
||||||
expression: '(avg(/PFSense by SNMP/net.if.out[{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])) and
|
expression: '(avg(/PFSense by SNMP/net.if.out[{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])) and
|
||||||
|
|
||||||
last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])>0
|
last(/PFSense by SNMP/net.if.speed[{#SNMPINDEX}])>0
|
||||||
|
|
@ -1794,7 +1808,7 @@ zabbix_export:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: performance
|
value: performance
|
||||||
graph_prototypes:
|
graph_prototypes:
|
||||||
- uuid: 753ffcb1edd44a3eacbf898990a7aa37
|
- uuid: 13981eb919824e2a859d1c151dc1b8a3
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego de Entrada (PF)'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego de Entrada (PF)'
|
||||||
graph_items:
|
graph_items:
|
||||||
- color: 1A7C11
|
- color: 1A7C11
|
||||||
|
|
@ -1840,7 +1854,7 @@ zabbix_export:
|
||||||
item:
|
item:
|
||||||
host: PFSense by SNMP
|
host: PFSense by SNMP
|
||||||
key: net.if.in.block.v6.pps[{#SNMPINDEX}]
|
key: net.if.in.block.v6.pps[{#SNMPINDEX}]
|
||||||
- uuid: 0fcdd7eb9bf247afa616cda9c4e90cf4
|
- uuid: fc21f577c55e4c269f97a8a98584557c
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego de Rede'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego de Rede'
|
||||||
graph_items:
|
graph_items:
|
||||||
- drawtype: GRADIENT_LINE
|
- drawtype: GRADIENT_LINE
|
||||||
|
|
@ -1878,7 +1892,7 @@ zabbix_export:
|
||||||
item:
|
item:
|
||||||
host: PFSense by SNMP
|
host: PFSense by SNMP
|
||||||
key: net.if.in.discards[{#SNMPINDEX}]
|
key: net.if.in.discards[{#SNMPINDEX}]
|
||||||
- uuid: 32175c20e813464c912e1d2726973ea3
|
- uuid: 58b647bc9b554759b4b0596ae93e2b77
|
||||||
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego de Saída (PF)'
|
name: 'Interface [{#IFNAME}({#IFALIAS})]: Tráfego de Saída (PF)'
|
||||||
graph_items:
|
graph_items:
|
||||||
- color: 1A7C11
|
- color: 1A7C11
|
||||||
|
|
@ -1944,7 +1958,7 @@ zabbix_export:
|
||||||
- type: DISCARD_UNCHANGED_HEARTBEAT
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
parameters:
|
parameters:
|
||||||
- 1h
|
- 1h
|
||||||
- uuid: 912aa599db6c4f79ba52b3cc91bccbc4
|
- uuid: cf1dff0d35274163be62dd5614a9dc75
|
||||||
name: Descoberta de Processos DHCP
|
name: Descoberta de Processos DHCP
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.dhcp.discovery
|
key: pfsense.dhcp.discovery
|
||||||
|
|
@ -1961,7 +1975,7 @@ zabbix_export:
|
||||||
value: ^dhcpd$
|
value: ^dhcpd$
|
||||||
formulaid: A
|
formulaid: A
|
||||||
item_prototypes:
|
item_prototypes:
|
||||||
- uuid: 1a78fbd118e64d99b12f333f88436e56
|
- uuid: b78861d424fd4931bb1440fb8cc6e8de
|
||||||
name: 'Processo DHCP [{#HR_SW_PARAMS}]: Status'
|
name: 'Processo DHCP [{#HR_SW_PARAMS}]: Status'
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: pfsense.dhcp.process.status[{#HR_SW_PARAMS}]
|
key: pfsense.dhcp.process.status[{#HR_SW_PARAMS}]
|
||||||
|
|
@ -1987,7 +2001,7 @@ zabbix_export:
|
||||||
- tag: service
|
- tag: service
|
||||||
value: dhcp
|
value: dhcp
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: b619b3979b114f9cadb52845cd892027
|
- uuid: 3c0d7a6a277e4847a2057b980e43b27d
|
||||||
expression: last(/PFSense by SNMP/pfsense.dhcp.process.status[{#HR_SW_PARAMS}])=0
|
expression: last(/PFSense by SNMP/pfsense.dhcp.process.status[{#HR_SW_PARAMS}])=0
|
||||||
name: '🚨 DHCP Parado: Instância {#HR_SW_PARAMS} não está rodando'
|
name: '🚨 DHCP Parado: Instância {#HR_SW_PARAMS} não está rodando'
|
||||||
event_name: '🚨 DHCP em {HOST.NAME}: Instância "{#HR_SW_PARAMS}" parou'
|
event_name: '🚨 DHCP em {HOST.NAME}: Instância "{#HR_SW_PARAMS}" parou'
|
||||||
|
|
@ -2012,7 +2026,7 @@ zabbix_export:
|
||||||
path: $.hrSWRunStatus
|
path: $.hrSWRunStatus
|
||||||
master_item:
|
master_item:
|
||||||
key: pfsense.sw.walk
|
key: pfsense.sw.walk
|
||||||
- uuid: a8fb2e8345964e9abbe44eb1ad1534ed
|
- uuid: 49b85dae32a74d4d99b0a6c1c835a075
|
||||||
name: Descoberta de Usuários OpenVPN
|
name: Descoberta de Usuários OpenVPN
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.discovery
|
key: openvpn.discovery
|
||||||
|
|
@ -2024,7 +2038,7 @@ zabbix_export:
|
||||||
|
|
||||||
'
|
'
|
||||||
item_prototypes:
|
item_prototypes:
|
||||||
- uuid: a238ea332afe471393035965cbc29e5c
|
- uuid: aa7b6b4e7e9546dead5990a24188a1b7
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Download Total (Bytes)'
|
name: 'OpenVPN [{#VPN.USER}]: Download Total (Bytes)'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.user.bytes_received.total[{#VPN.USER}]
|
key: openvpn.user.bytes_received.total[{#VPN.USER}]
|
||||||
|
|
@ -2036,7 +2050,7 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: Company
|
- tag: Company
|
||||||
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
||||||
- uuid: 19112b3cbfdb47b28baa5b8843ea5933
|
- uuid: a4277cd86d984f9eb149e1ae97ddec2b
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Upload Total (Bytes)'
|
name: 'OpenVPN [{#VPN.USER}]: Upload Total (Bytes)'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.user.bytes_sent.total[{#VPN.USER}]
|
key: openvpn.user.bytes_sent.total[{#VPN.USER}]
|
||||||
|
|
@ -2048,7 +2062,7 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: Company
|
- tag: Company
|
||||||
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
||||||
- uuid: e68e9902fd3a45ce896c19bddd06ff8e
|
- uuid: 6e79301fcb1c4d7482b3fa39d8a3b04e
|
||||||
name: 'OpenVPN [{#VPN.USER}]: IP Real'
|
name: 'OpenVPN [{#VPN.USER}]: IP Real'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.user.real_address.new[{#VPN.USER}]
|
key: openvpn.user.real_address.new[{#VPN.USER}]
|
||||||
|
|
@ -2061,7 +2075,7 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: Company
|
- tag: Company
|
||||||
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
||||||
- uuid: 52788b70897542e0bd5baeeff1b5b7fc
|
- uuid: 1158b2581c1742c4b4daed61ec0b47c5
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Status'
|
name: 'OpenVPN [{#VPN.USER}]: Status'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.user.status[{#VPN.USER}]
|
key: openvpn.user.status[{#VPN.USER}]
|
||||||
|
|
@ -2074,7 +2088,7 @@ zabbix_export:
|
||||||
value: vpn
|
value: vpn
|
||||||
- tag: Company
|
- tag: Company
|
||||||
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
||||||
- uuid: 80439efbb32d47b5bd6819afe73a6206
|
- uuid: 05618f25d95c425c9adb350db64197e4
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Tempo Conectado (Unix)'
|
name: 'OpenVPN [{#VPN.USER}]: Tempo Conectado (Unix)'
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: openvpn.user.connected_since[{#VPN.USER}]
|
key: openvpn.user.connected_since[{#VPN.USER}]
|
||||||
|
|
@ -2087,7 +2101,7 @@ zabbix_export:
|
||||||
- tag: Company
|
- tag: Company
|
||||||
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
value: '{{#VPN.SERVER}.regsub("(?:CLIENT_|S2S_)?(.*)", "\1")}'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
- uuid: 06fd55dcd7694b03ac50735e33bd8774
|
- uuid: e6aec4d20e474306bd23d7aaf8b14906
|
||||||
expression: change(/PFSense by SNMP/openvpn.user.real_address.new[{#VPN.USER}])<>0 and last(/PFSense by SNMP/openvpn.user.status[{#VPN.USER}])=1
|
expression: change(/PFSense by SNMP/openvpn.user.real_address.new[{#VPN.USER}])<>0 and last(/PFSense by SNMP/openvpn.user.status[{#VPN.USER}])=1
|
||||||
name: 'OpenVPN [{#VPN.USER}]: IP Alterado Durante Sessão (Possível Hijacking)'
|
name: 'OpenVPN [{#VPN.USER}]: IP Alterado Durante Sessão (Possível Hijacking)'
|
||||||
event_name: '🛡️ SEGURANÇA: IP de {#VPN.USER} alterou para {ITEM.LASTVALUE1} enquanto conectado'
|
event_name: '🛡️ SEGURANÇA: IP de {#VPN.USER} alterou para {ITEM.LASTVALUE1} enquanto conectado'
|
||||||
|
|
@ -2106,7 +2120,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: security
|
value: security
|
||||||
- uuid: 73ea7045fd9f4a099265edbad1163323
|
- uuid: 9f4f5e8f4324424884a802b4735b6249
|
||||||
expression: (max(/PFSense by SNMP/openvpn.user.bytes_received.total[{#VPN.USER}],1h)-min(/PFSense by SNMP/openvpn.user.bytes_received.total[{#VPN.USER}],1h))>{$VPN.DATA.LIMIT}
|
expression: (max(/PFSense by SNMP/openvpn.user.bytes_received.total[{#VPN.USER}],1h)-min(/PFSense by SNMP/openvpn.user.bytes_received.total[{#VPN.USER}],1h))>{$VPN.DATA.LIMIT}
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Exfiltração de Dados (Download > 10GB/h)'
|
name: 'OpenVPN [{#VPN.USER}]: Exfiltração de Dados (Download > 10GB/h)'
|
||||||
event_name: '🚨 EXFILTRAÇÃO: {#VPN.USER} baixou mais de 10GB na última hora'
|
event_name: '🚨 EXFILTRAÇÃO: {#VPN.USER} baixou mais de 10GB na última hora'
|
||||||
|
|
@ -2121,7 +2135,7 @@ zabbix_export:
|
||||||
tags:
|
tags:
|
||||||
- tag: scope
|
- tag: scope
|
||||||
value: security
|
value: security
|
||||||
- uuid: f612c09955474b3b90b34be246d6ce4e
|
- uuid: 68209a416ddf473e9f9c4191031f2164
|
||||||
expression: (now()-last(/PFSense by SNMP/openvpn.user.connected_since[{#VPN.USER}]))>{$VPN.ZOMBIE.LIMIT}
|
expression: (now()-last(/PFSense by SNMP/openvpn.user.connected_since[{#VPN.USER}]))>{$VPN.ZOMBIE.LIMIT}
|
||||||
name: 'OpenVPN [{#VPN.USER}]: Sessão Zumbi (> 24h conectado)'
|
name: 'OpenVPN [{#VPN.USER}]: Sessão Zumbi (> 24h conectado)'
|
||||||
event_name: '🧟 ZUMBI: {#VPN.USER} está conectado há mais de 24h'
|
event_name: '🧟 ZUMBI: {#VPN.USER} está conectado há mais de 24h'
|
||||||
|
|
@ -2175,7 +2189,7 @@ zabbix_export:
|
||||||
- tag: target
|
- tag: target
|
||||||
value: pfsense
|
value: pfsense
|
||||||
dashboards:
|
dashboards:
|
||||||
- uuid: 1cb88d5d96484a61b3dd96c5e98ff260
|
- uuid: edf0ed7f9a54465ca6ee60d41a108c68
|
||||||
name: 'PFSense: Overview'
|
name: 'PFSense: Overview'
|
||||||
pages:
|
pages:
|
||||||
- name: Filtro de Pacotes
|
- name: Filtro de Pacotes
|
||||||
|
|
@ -2242,14 +2256,14 @@ zabbix_export:
|
||||||
name: reference
|
name: reference
|
||||||
value: AAAAD
|
value: AAAAD
|
||||||
valuemaps:
|
valuemaps:
|
||||||
- uuid: 7b7a2bcea9084e3ab7428522fb991eff
|
- uuid: 3c205eb3816e40f1ac010de9bc6ff79b
|
||||||
name: 'OpenVPN Connection Status'
|
name: OpenVPN Connection Status
|
||||||
mappings:
|
mappings:
|
||||||
- value: '0'
|
- value: '0'
|
||||||
newvalue: Desconectado
|
newvalue: Desconectado
|
||||||
- value: '1'
|
- value: '1'
|
||||||
newvalue: Conectado
|
newvalue: Conectado
|
||||||
- uuid: 09d094600f2841b2808b785771e91afa
|
- uuid: 68a5217cef3745abb2dcc45ec7f012a1
|
||||||
name: IF-MIB::ifOperStatus
|
name: IF-MIB::ifOperStatus
|
||||||
mappings:
|
mappings:
|
||||||
- value: '1'
|
- value: '1'
|
||||||
|
|
@ -2266,7 +2280,7 @@ zabbix_export:
|
||||||
newvalue: Não Presente
|
newvalue: Não Presente
|
||||||
- value: '7'
|
- value: '7'
|
||||||
newvalue: Camada Inferior Down
|
newvalue: Camada Inferior Down
|
||||||
- uuid: f58b3f693e704820b878ec7a772587d7
|
- uuid: 3dcce8aca0564e798d289f1b4eb7a9c6
|
||||||
name: IF-MIB::ifType
|
name: IF-MIB::ifType
|
||||||
mappings:
|
mappings:
|
||||||
- value: '1'
|
- value: '1'
|
||||||
|
|
@ -2841,21 +2855,21 @@ zabbix_export:
|
||||||
newvalue: ptm
|
newvalue: ptm
|
||||||
- value: '290'
|
- value: '290'
|
||||||
newvalue: ghn
|
newvalue: ghn
|
||||||
- uuid: 60004ca88d644194964e4febb5f82510
|
- uuid: e42aaa3bd0c74d2a86189e2ac7c3f6ee
|
||||||
name: Services status
|
name: Services status
|
||||||
mappings:
|
mappings:
|
||||||
- value: '0'
|
- value: '0'
|
||||||
newvalue: Parado
|
newvalue: Parado
|
||||||
- value: '2'
|
- value: '2'
|
||||||
newvalue: Executando
|
newvalue: Executando
|
||||||
- uuid: 3607263605264a6eb01b08b74a6017da
|
- uuid: 3d4ce839e5e24889842c33ce1f735387
|
||||||
name: SNMPv2-TC::TruthValue
|
name: SNMPv2-TC::TruthValue
|
||||||
mappings:
|
mappings:
|
||||||
- value: '1'
|
- value: '1'
|
||||||
newvalue: Verdadeiro
|
newvalue: Verdadeiro
|
||||||
- value: '2'
|
- value: '2'
|
||||||
newvalue: Falso
|
newvalue: Falso
|
||||||
- uuid: 3607cfa1513f49a89114307a127c5433
|
- uuid: c276def5d7bc4377bd6ba38fede619f9
|
||||||
name: zabbix.host.available
|
name: zabbix.host.available
|
||||||
mappings:
|
mappings:
|
||||||
- value: '0'
|
- value: '0'
|
||||||
|
|
@ -2864,16 +2878,15 @@ zabbix_export:
|
||||||
newvalue: Disponível
|
newvalue: Disponível
|
||||||
- value: '2'
|
- value: '2'
|
||||||
newvalue: Desconhecido
|
newvalue: Desconhecido
|
||||||
- uuid: 830106fa5d2a45f9897c9154431eef08
|
- uuid: fc8f6e9277c24e7c959c4b2c1c51f7e8
|
||||||
name: VPN User Status
|
name: VPN User Status
|
||||||
mappings:
|
mappings:
|
||||||
- value: '0'
|
- value: '0'
|
||||||
newvalue: Desconectado
|
newvalue: Desconectado
|
||||||
- value: '1'
|
- value: '1'
|
||||||
newvalue: Conectado
|
newvalue: Conectado
|
||||||
|
|
||||||
graphs:
|
graphs:
|
||||||
- uuid: 18b72f3eafe54206a574f431e7bb563a
|
- uuid: d37f590e4d1f42f4b2fef6845db1fc0d
|
||||||
name: 'PFSense: Códigos de Motivo (Packet Filter)'
|
name: 'PFSense: Códigos de Motivo (Packet Filter)'
|
||||||
type: STACKED
|
type: STACKED
|
||||||
ymin_type_1: FIXED
|
ymin_type_1: FIXED
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ Gerado originalmente pela ferramenta oficial "Templator", Otimizado para Padrão
|
||||||
- **Tabela de Estados: Utilização (%)** (`pfsense.state.table.pused`)
|
- **Tabela de Estados: Utilização (%)** (`pfsense.state.table.pused`)
|
||||||
- **Coleta Raw (SNMP): Software Instalado (hrSWRun)** (`pfsense.sw.walk`)
|
- **Coleta Raw (SNMP): Software Instalado (hrSWRun)** (`pfsense.sw.walk`)
|
||||||
- **Disponibilidade do Agente SNMP** (`zabbix[host,snmp,available]`)
|
- **Disponibilidade do Agente SNMP** (`zabbix[host,snmp,available]`)
|
||||||
|
- **OpenVPN: Total de Usuários Conectados** (`openvpn.users.connected.total`)
|
||||||
|
|
||||||
### Regras de Descoberta (LLD)
|
### Regras de Descoberta (LLD)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,8 +291,13 @@ def validate_zabbix_7_compliance(content):
|
||||||
errors.append(f"[FORBIDDEN TAG] Tag 'no' found at {path}. Zabbix 7.0 determines order by list position.")
|
errors.append(f"[FORBIDDEN TAG] Tag 'no' found at {path}. Zabbix 7.0 determines order by list position.")
|
||||||
|
|
||||||
# Check 2: Deprecated Operators
|
# Check 2: Deprecated Operators
|
||||||
|
# Exception: 'REGEXP' is VALID inside 'operations' (Override Operations), but DEPRECATED/INVALID in 'conditions' (Filters) usually.
|
||||||
|
# However, to be safe, Zabbix 7.0 seems to still use REGEXP in override operations.
|
||||||
if k == 'operator' and v == 'REGEXP':
|
if k == 'operator' and v == 'REGEXP':
|
||||||
errors.append(f"[DEPRECATED CONSTANT] 'REGEXP' at {path}. Use 'MATCHES_REGEX' for Zabbix 7.0+.")
|
if "operations" in path:
|
||||||
|
pass # Allowed in override operations
|
||||||
|
else:
|
||||||
|
errors.append(f"[DEPRECATED CONSTANT] 'REGEXP' at {path}. Use 'MATCHES_REGEX' for Zabbix 7.0+ (unless this is an override operation).")
|
||||||
|
|
||||||
# Check 4: Hostname Mismatch in Triggers
|
# Check 4: Hostname Mismatch in Triggers
|
||||||
if k == 'expression' and isinstance(v, str) and template_name:
|
if k == 'expression' and isinstance(v, str) and template_name:
|
||||||
|
|
@ -606,6 +611,34 @@ def validate_yaml(file_path):
|
||||||
else:
|
else:
|
||||||
print(" ✅ Active Agent compliance check passed")
|
print(" ✅ Active Agent compliance check passed")
|
||||||
|
|
||||||
|
# ========== 10. Macro Value Type Check ==========
|
||||||
|
print("\n[10/10] Checking Macro Value Types...")
|
||||||
|
macro_errors = []
|
||||||
|
def check_macros_types(node, path="root"):
|
||||||
|
if isinstance(node, dict):
|
||||||
|
if 'macros' in node and isinstance(node['macros'], list):
|
||||||
|
for i, m in enumerate(node['macros']):
|
||||||
|
if 'value' in m:
|
||||||
|
val = m['value']
|
||||||
|
# Zabbix requires values to be strings.
|
||||||
|
# PyYAML might load '080000' as int 80000 if unquoted.
|
||||||
|
if not isinstance(val, str):
|
||||||
|
macro_errors.append(f"[INVALID MACRO TYPE] Macro '{m.get('macro','?')}' at {path}.macros[{i}] has value {val} (type {type(val).__name__}). Must be a string.")
|
||||||
|
|
||||||
|
for k, v in node.items():
|
||||||
|
check_macros_types(v, f"{path}.{k}")
|
||||||
|
elif isinstance(node, list):
|
||||||
|
for i, item in enumerate(node):
|
||||||
|
check_macros_types(item, f"{path}[{i}]")
|
||||||
|
|
||||||
|
check_macros_types(content)
|
||||||
|
if macro_errors:
|
||||||
|
all_errors.extend(macro_errors)
|
||||||
|
print(f" ❌ Found {len(macro_errors)} macros with non-string values")
|
||||||
|
else:
|
||||||
|
print(" ✅ All macro values are strings")
|
||||||
|
|
||||||
|
|
||||||
# ========== Summary ==========
|
# ========== Summary ==========
|
||||||
print("\n" + "=" * 60)
|
print("\n" + "=" * 60)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue