feat(exchange): Create v2 template with robust PerfCounter keys and fixed import
This commit is contained in:
parent
505586ee7c
commit
94ffd94e89
|
|
@ -0,0 +1,563 @@
|
||||||
|
zabbix_export:
|
||||||
|
version: '7.0'
|
||||||
|
template_groups:
|
||||||
|
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
|
||||||
|
name: Templates/Aplicações
|
||||||
|
templates:
|
||||||
|
- uuid: a0e05ca631034676821b7e0e1ce25488
|
||||||
|
template: 'Microsoft Exchange Server 2016 by Zabbix agent active'
|
||||||
|
name: 'Microsoft Exchange Server 2016 by Zabbix agent active v2'
|
||||||
|
description: 'Template Gold para Microsoft Exchange Server (2016/2019).
|
||||||
|
|
||||||
|
|
||||||
|
Monitoramento 360º com foco em performance e disponibilidade.
|
||||||
|
|
||||||
|
|
||||||
|
Inclui:
|
||||||
|
|
||||||
|
- Filas de Transporte (Submission, Delivery, Poison)
|
||||||
|
|
||||||
|
- Banco de Dados (Latência, Page Faults, Status)
|
||||||
|
|
||||||
|
- Serviços MSExchange (Discovery Automático)
|
||||||
|
|
||||||
|
- Web Access (OWA/ECP)
|
||||||
|
|
||||||
|
- Métricas de ActiveSync e WebServices
|
||||||
|
|
||||||
|
|
||||||
|
Desenvolvido por Arthur "O Farol" Mendes.
|
||||||
|
|
||||||
|
'
|
||||||
|
vendor:
|
||||||
|
name: ITGuys
|
||||||
|
version: 1.0-gold
|
||||||
|
groups:
|
||||||
|
- name: Templates/Aplicações
|
||||||
|
items:
|
||||||
|
- uuid: 4aa072de238b47b386a908ee01f1bc14
|
||||||
|
name: 'Bancos de Dados: Total Montados'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Active Manager(_total)\Database Mounted"]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
description: Número de cópias de banco de dados ativas no servidor.
|
||||||
|
preprocessing:
|
||||||
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
|
parameters:
|
||||||
|
- 3h
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: database
|
||||||
|
- uuid: 551b8a4f9fe64d1ea591d7ae26ea2ca4
|
||||||
|
name: 'ActiveSync: Comandos Ping Pendentes'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange ActiveSync\Ping Commands Pending", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Número de comandos de ping pendentes na fila.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: mobile
|
||||||
|
- uuid: ead34280d2e24fe4a60ba857b32d5c77
|
||||||
|
name: 'ActiveSync: Requisições por Segundo'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange ActiveSync\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Taxa de requisições HTTP recebidas via ASP.NET para ActiveSync. Indica carga de usuários móveis.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: mobile
|
||||||
|
- uuid: 977fbdde2a924181a14e7d33134c12f7
|
||||||
|
name: 'OWA: Usuários Únicos Atuais'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange OWA\Current Unique Users", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Número de usuários únicos logados no Outlook Web App.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: web
|
||||||
|
- uuid: 7625ed7825f847d2ae9d341c61f8c453
|
||||||
|
name: 'OWA: Requisições por Segundo'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange OWA\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Taxa de requisições processadas pelo OWA.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: web
|
||||||
|
triggers:
|
||||||
|
- uuid: a1a64d10544c446aa04cb23538b42e70
|
||||||
|
expression: 'last(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange OWA\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}])=0 and avg(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange OWA\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}],1h:now-1d)>5'
|
||||||
|
name: '📉 Exchange: Queda Anômala de Tráfego OWA'
|
||||||
|
event_name: '📉 Exchange: OWA zerado (Anomalia! Média esperada: {ITEM.VALUE2})'
|
||||||
|
priority: HIGH
|
||||||
|
description: 'Detecção de Anomalia: O tráfego do OWA caiu a zero, mas a média histórica para este dia/hora é superior a 5 req/s.'
|
||||||
|
tags:
|
||||||
|
- tag: scope
|
||||||
|
value: anomaly
|
||||||
|
- uuid: e4f4dc8abfa642ada0be9beb659c356c
|
||||||
|
name: 'WebServices: Requisições por Segundo'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeWS\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Taxa de requisições EWS (Exchange Web Services) processadas.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: web
|
||||||
|
- uuid: b06d3ff34b6b47058c91b022114ef64d
|
||||||
|
name: 'Zabbix: Disponibilidade do Agente (Active)'
|
||||||
|
type: INTERNAL
|
||||||
|
key: zabbix[host,active_agent,available]
|
||||||
|
description: 'Disponibilidade das checagens ativas.
|
||||||
|
|
||||||
|
0 - desconhecido
|
||||||
|
|
||||||
|
1 - disponível
|
||||||
|
|
||||||
|
2 - indisponível
|
||||||
|
|
||||||
|
'
|
||||||
|
valuemap:
|
||||||
|
name: zabbix.host.active_agent.available
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: health
|
||||||
|
triggers:
|
||||||
|
- uuid: fcda33f2d0eb4cc4903bff0e16b7f2ad
|
||||||
|
expression: min(/Microsoft Exchange Server 2016 by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2
|
||||||
|
name: '🚨 Exchange: Agente Zabbix Indisponível'
|
||||||
|
opdata: 'Estado: {ITEM.LASTVALUE1}'
|
||||||
|
priority: HIGH
|
||||||
|
description: O Agente Zabbix (Active) parou de reportar dados.
|
||||||
|
tags:
|
||||||
|
- tag: scope
|
||||||
|
value: availability
|
||||||
|
- uuid: 81acfad17f434e25b52491c94118a0bd
|
||||||
|
name: 'Fila de Transporte: Submission Queue'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeTransport Queues(_Total)\Submission Queue Length"]
|
||||||
|
delay: 1m
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Número de itens na fila de Submissão. Se > 50, indica gargalo no transporte.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: transport
|
||||||
|
triggers:
|
||||||
|
- uuid: cba94316ce8f4b15a9ac696c3fe3f301
|
||||||
|
expression: min(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchangeTransport Queues(_Total)\Submission Queue Length"],5m)>50
|
||||||
|
name: '⚠️ Exchange: Fila de Submissão Alta'
|
||||||
|
event_name: '⚠️ Exchange: Fila de Submissão Alta ({ITEM.LASTVALUE} > 50)'
|
||||||
|
priority: AVERAGE
|
||||||
|
description: A fila de submissão está acumulando mensagens por mais de 5 minutos.
|
||||||
|
dependencies:
|
||||||
|
- name: '🚨 Serviço Parado: Microsoft Exchange Transport Submission'
|
||||||
|
expression: 'last(/Microsoft Exchange Server 2016 by Zabbix agent active/service.info["MSExchangeSubmission",state])<>0'
|
||||||
|
- uuid: 1cfa33d9c4b24cb4901fb3dbad573465
|
||||||
|
expression: 'forecast(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchangeTransport Queues(_Total)\Submission Queue Length"],1h,15m)>200'
|
||||||
|
name: '🔮 Exchange: Fila de Submissão em Crescimento Rápido'
|
||||||
|
event_name: '🔮 Exchange: Fila de Submissão vai estourar (200 itens) em 15m'
|
||||||
|
priority: HIGH
|
||||||
|
description: 'Análise Preditiva: A fila está crescendo rápido e deve atingir nível crítico em breve.'
|
||||||
|
tags:
|
||||||
|
- tag: scope
|
||||||
|
value: prediction
|
||||||
|
dependencies:
|
||||||
|
- name: '🚨 Serviço Parado: Microsoft Exchange Transport Submission'
|
||||||
|
expression: 'last(/Microsoft Exchange Server 2016 by Zabbix agent active/service.info["MSExchangeSubmission",state])<>0'
|
||||||
|
- uuid: 0f1acc8f102c43209268ceebbc608c1b
|
||||||
|
name: 'Fila de Transporte: Active Mailbox Delivery'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeTransport Queues(_Total)\Active Mailbox Delivery Queue Length"]
|
||||||
|
delay: 1m
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Número de mensagens sendo entregues para caixas locais. Alto volume indica lentidão no disco/DB.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: transport
|
||||||
|
triggers:
|
||||||
|
- uuid: 08197c3b395e446b93f28435f1cb5b92
|
||||||
|
expression: min(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchangeTransport Queues(_Total)\Active Mailbox Delivery Queue Length"],5m)>100
|
||||||
|
name: '⚠️ Exchange: Fila de Entrega Local Alta'
|
||||||
|
event_name: '⚠️ Exchange: Fila de Entrega Local Alta ({ITEM.LASTVALUE} > 100)'
|
||||||
|
priority: AVERAGE
|
||||||
|
description: Muitas mensagens aguardando entrega local.
|
||||||
|
dependencies:
|
||||||
|
- name: '🚨 Serviço Parado: Microsoft Exchange Transport'
|
||||||
|
expression: 'last(/Microsoft Exchange Server 2016 by Zabbix agent active/service.info["MSExchangeTransport",state])<>0'
|
||||||
|
- uuid: 75c256562e28429492439f0ce87150b8
|
||||||
|
expression: 'forecast(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchangeTransport Queues(_Total)\Active Mailbox Delivery Queue Length"],1h,15m)>200'
|
||||||
|
name: '🔮 Exchange: Fila de Entrega em Crescimento Rápido'
|
||||||
|
event_name: '🔮 Exchange: Fila de Entrega vai estourar (200 itens) em 15m'
|
||||||
|
priority: HIGH
|
||||||
|
description: 'Análise Preditiva: A fila de entrega está crescendo rápido.'
|
||||||
|
tags:
|
||||||
|
- tag: scope
|
||||||
|
value: prediction
|
||||||
|
dependencies:
|
||||||
|
- name: '🚨 Serviço Parado: Microsoft Exchange Transport'
|
||||||
|
expression: 'last(/Microsoft Exchange Server 2016 by Zabbix agent active/service.info["MSExchangeTransport",state])<>0'
|
||||||
|
- uuid: bd276a0ec6c14be7bd519c74e88ea50f
|
||||||
|
name: 'Fila de Transporte: Poison Queue'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeTransport Queues(_Total)\Poison Queue Length"]
|
||||||
|
delay: 10m
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Mensagens corrompidas ou perigosas isoladas pelo Exchange.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: transport
|
||||||
|
triggers:
|
||||||
|
- uuid: a12a9a66b56e426aa680984334d8e539
|
||||||
|
expression: last(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchangeTransport Queues(_Total)\Poison Queue Length"])>0
|
||||||
|
name: '🚨 Exchange: Mensagens em Quarentena (Poison Queue) detectadas'
|
||||||
|
event_name: '🚨 Exchange: {ITEM.LASTVALUE} Mensagens Corrompidas/Perigosas (Poison Queue)'
|
||||||
|
priority: HIGH
|
||||||
|
description: |
|
||||||
|
A "Poison Queue" isola mensagens que causaram falhas graves no sistema após múltiplas tentativas de processamento.
|
||||||
|
Impacto: Essas mensagens NÃO serão entregues.
|
||||||
|
Ação N1:
|
||||||
|
1. Acesso o servidor Exchange via RDP/PowerShell.
|
||||||
|
2. Execute "Get-Message -Queue Poison" para ver os detalhes.
|
||||||
|
3. Escalone para N3 se não souber como tratar (remover ou reenfileirar).
|
||||||
|
- uuid: b4ce5e851b35400ab9d14e8889d256c8
|
||||||
|
name: 'Fila de Transporte: Retry Mailbox Delivery'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeTransport Queues(_Total)\Retry Mailbox Delivery Queue Length"]
|
||||||
|
delay: 5m
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Mensagens em nova tentativa de entrega.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: transport
|
||||||
|
- uuid: b4882bc9014a4bd6bdee1baac6e8b27f
|
||||||
|
name: 'Service: Status do Microsoft Exchange Transport Submission'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: service.info["MSExchangeSubmission",state]
|
||||||
|
delay: 1m
|
||||||
|
description: Status do serviço de submissão de transporte.
|
||||||
|
valuemap:
|
||||||
|
name: Service state
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: service
|
||||||
|
triggers:
|
||||||
|
- uuid: 4b34aadb986643eebc84f23a3741a795
|
||||||
|
expression: last(/Microsoft Exchange Server 2016 by Zabbix agent active/service.info["MSExchangeSubmission",state])<>0
|
||||||
|
name: '🚨 Serviço Parado: Microsoft Exchange Transport Submission'
|
||||||
|
priority: HIGH
|
||||||
|
description: O serviço Microsoft Exchange Transport Submission está parado.
|
||||||
|
tags:
|
||||||
|
- tag: scope
|
||||||
|
value: availability
|
||||||
|
- uuid: c9300a9c97b84f21bb7eb45719caae58
|
||||||
|
name: 'Service: Status do Microsoft Exchange Transport'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: service.info["MSExchangeTransport",state]
|
||||||
|
delay: 1m
|
||||||
|
description: Status do serviço de transporte principal.
|
||||||
|
valuemap:
|
||||||
|
name: Service state
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: service
|
||||||
|
triggers:
|
||||||
|
- uuid: a1b2c3d4e5f64a1b8c2d3e4f5a6b7c8d
|
||||||
|
expression: last(/Microsoft Exchange Server 2016 by Zabbix agent active/service.info["MSExchangeTransport",state])<>0
|
||||||
|
name: '🚨 Serviço Parado: Microsoft Exchange Transport'
|
||||||
|
priority: HIGH
|
||||||
|
description: O serviço Microsoft Exchange Transport está parado.
|
||||||
|
tags:
|
||||||
|
- tag: scope
|
||||||
|
value: availability
|
||||||
|
discovery_rules:
|
||||||
|
- uuid: c3c2d45be1f4439292678d07d36eb042
|
||||||
|
name: Descoberta de Serviços Exchange
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: wmi.getall[root\cimv2,"SELECT Name, DisplayName, State FROM Win32_Service WHERE Name LIKE 'MSExchange%' AND StartMode='Auto'"]
|
||||||
|
delay: 1h
|
||||||
|
description: Descobre serviços do Exchange que iniciam automaticamente via WMI (evita conflito com Template Windows).
|
||||||
|
lld_macro_paths:
|
||||||
|
- lld_macro: '{#SERVICE.NAME}'
|
||||||
|
path: $.Name
|
||||||
|
- lld_macro: '{#SERVICE.DISPLAYNAME}'
|
||||||
|
path: $.DisplayName
|
||||||
|
item_prototypes:
|
||||||
|
- uuid: dd3c489ce5f94540b50b6f2aa1aac65e
|
||||||
|
name: 'Serviço: Status do {#SERVICE.DISPLAYNAME}'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: wmi.get[root\cimv2,"SELECT State FROM Win32_Service WHERE Name='{#SERVICE.NAME}'"]
|
||||||
|
delay: 3m
|
||||||
|
description: Status atual do serviço {#SERVICE.DISPLAYNAME} via WMI.
|
||||||
|
valuemap:
|
||||||
|
name: Service state
|
||||||
|
preprocessing:
|
||||||
|
- type: JAVASCRIPT
|
||||||
|
parameters:
|
||||||
|
- |
|
||||||
|
var states = {'Running': 0, 'Paused': 1, 'Start Pending': 2, 'Pause Pending': 3, 'Continue Pending': 4, 'Stop Pending': 5, 'Stopped': 6};
|
||||||
|
return states[value] !== undefined ? states[value] : 7;
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: service
|
||||||
|
trigger_prototypes:
|
||||||
|
- uuid: 38cefb16c51448d69e05b322e08a495a
|
||||||
|
expression: last(/Microsoft Exchange Server 2016 by Zabbix agent active/wmi.get[root\cimv2,"SELECT State FROM Win32_Service WHERE Name='{#SERVICE.NAME}'"])<>0
|
||||||
|
name: '🚨 Serviço Parado: {#SERVICE.DISPLAYNAME}'
|
||||||
|
priority: HIGH
|
||||||
|
description: O serviço {#SERVICE.DISPLAYNAME} deveria estar rodando (Auto) mas está parado.
|
||||||
|
- uuid: 2c5a8b3587f9473484b9f52cc65bd57c
|
||||||
|
name: Descoberta de Bancos de Dados
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_instance.discovery["MSExchange Active Manager"]
|
||||||
|
delay: 1h
|
||||||
|
filter:
|
||||||
|
evaltype: AND
|
||||||
|
conditions:
|
||||||
|
- macro: '{#INSTANCE}'
|
||||||
|
value: _Total
|
||||||
|
operator: NOT_MATCHES_REGEX
|
||||||
|
formulaid: A
|
||||||
|
description: Descoberta de instâncias de Bancos de Dados Database.
|
||||||
|
item_prototypes:
|
||||||
|
- uuid: d6c7a4d5987540cb850ac5744a3d1042
|
||||||
|
name: 'Banco [{#INSTANCE}]: Função da Cópia'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Active Manager({#INSTANCE})\Database Copy Role Active"]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
description: Função da cópia do banco (Ativa/Passiva).
|
||||||
|
valuemap:
|
||||||
|
name: Exchange database copy role
|
||||||
|
preprocessing:
|
||||||
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
|
parameters:
|
||||||
|
- 3h
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: database
|
||||||
|
- uuid: 2d17e641e64b401285f2cd151c0376f9
|
||||||
|
name: 'Banco [{#INSTANCE}]: Page Faults/seg'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Database({#INSTANCE})\Database Page Fault Stalls/sec", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Taxa de falhas de página. Se > 0 com frequência, indica falta de cache/RAM.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: performance
|
||||||
|
trigger_prototypes:
|
||||||
|
- uuid: 38a4f3ef4f984513bbdfea4aa1095850
|
||||||
|
expression: min(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange Database({#INSTANCE})\Database Page Fault Stalls/sec", {$MS.EXCHANGE.PERF.INTERVAL}],{$MS.EXCHANGE.DB.FAULTS.TIME})>{$MS.EXCHANGE.DB.FAULTS.WARN}
|
||||||
|
name: '⚠️ Exchange: Page Faults Elevados em {#INSTANCE}'
|
||||||
|
event_name: '⚠️ Exchange: Page Faults Elevados em {#INSTANCE} (>{$MS.EXCHANGE.DB.FAULTS.WARN})'
|
||||||
|
priority: AVERAGE
|
||||||
|
description: Falhas de página excessivas detectadas no banco {#INSTANCE}.
|
||||||
|
- uuid: 5e18839af10849fcb1e0d855ed015d0d
|
||||||
|
name: 'Banco [{#INSTANCE}]: Logs Aguardando (Stalled)'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Database({#INSTANCE})\Log Record Stalls/sec", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Logs aguardando buffer. Média deve ser < 10.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: performance
|
||||||
|
trigger_prototypes:
|
||||||
|
- uuid: 38185b2825d141f8acc508895a2d0125
|
||||||
|
expression: avg(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange Database({#INSTANCE})\Log Record Stalls/sec", {$MS.EXCHANGE.PERF.INTERVAL}],{$MS.EXCHANGE.LOG.STALLS.TIME})>{$MS.EXCHANGE.LOG.STALLS.WARN}
|
||||||
|
name: '🐢 Exchange: Escrita de Logs Travada em {#INSTANCE}'
|
||||||
|
priority: AVERAGE
|
||||||
|
description: Muitos registros de log aguardando escrita.
|
||||||
|
- uuid: 81ac288a0d784f8d9cd99883b44797ee
|
||||||
|
name: 'Banco [{#INSTANCE}]: Latência de Leitura (Ativo)'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Database ==> Instances({#INSTANCE}/_Total)\I/O Database Reads (Attached) Average Latency", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
units: s
|
||||||
|
description: Latência média de leitura. Esperado < 20ms.
|
||||||
|
preprocessing:
|
||||||
|
- type: MULTIPLIER
|
||||||
|
parameters:
|
||||||
|
- '0.001'
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: performance
|
||||||
|
trigger_prototypes:
|
||||||
|
- uuid: bc1a548c79bc428ea005f652e699f4cc
|
||||||
|
expression: min(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange Database ==> Instances({#INF.STORE}/_Total)\I/O Database Reads (Attached) Average Latency", {$MS.EXCHANGE.PERF.INTERVAL}],{$MS.EXCHANGE.DB.ACTIVE.READ.TIME})>{$MS.EXCHANGE.DB.ACTIVE.READ.WARN}
|
||||||
|
name: '🐢 Exchange: Latência de Leitura Alta em {#INSTANCE}'
|
||||||
|
priority: WARNING
|
||||||
|
description: A latência de leitura está acima de 20ms sustentados.
|
||||||
|
- uuid: 3fe061c683b9424c8b88caade4a5a4e3
|
||||||
|
name: 'Banco [{#INSTANCE}]: Latência de Escrita (Ativo)'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Database ==> Instances({#INF.STORE}/_Total)\I/O Database Writes (Attached) Average Latency", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value_type: FLOAT
|
||||||
|
units: s
|
||||||
|
description: Latência média de escrita. Esperado < 50ms.
|
||||||
|
preprocessing:
|
||||||
|
- type: MULTIPLIER
|
||||||
|
parameters:
|
||||||
|
- '0.001'
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: performance
|
||||||
|
trigger_prototypes:
|
||||||
|
- uuid: 47c01687add949ab8f72633ae8a1f53f
|
||||||
|
expression: min(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange Database ==> Instances({#INF.STORE}/_Total)\I/O Database Writes (Attached) Average Latency", {$MS.EXCHANGE.PERF.INTERVAL}],{$MS.EXCHANGE.DB.ACTIVE.WRITE.TIME})>{$MS.EXCHANGE.DB.ACTIVE.WRITE.WARN}
|
||||||
|
name: '🐢 Exchange: Latência de Escrita Alta em {#INSTANCE}'
|
||||||
|
priority: WARNING
|
||||||
|
description: A latência de escrita está acima de 50ms sustentados.
|
||||||
|
- uuid: 1f942e624a4c43e1a737c956cefbb1b1
|
||||||
|
name: 'Banco [{#INSTANCE}]: Estado'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeIS Store({#INSTANCE})\Database State"]
|
||||||
|
delay: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
description: 'Estado do Banco: 1=Montado, 0=Desmontado'
|
||||||
|
valuemap:
|
||||||
|
name: Exchange database state
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: availability
|
||||||
|
- uuid: c2b84a11f7ab47019b6f97c960669b60
|
||||||
|
name: 'Banco [{#INSTANCE}]: Tamanho do Arquivo'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchange Database({#INSTANCE})\Database File Size In Bytes", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: 5m
|
||||||
|
value_type: FLOAT
|
||||||
|
units: B
|
||||||
|
description: Tamanho atual do arquivo de banco de dados (.edb).
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: storage
|
||||||
|
trigger_prototypes:
|
||||||
|
- uuid: d52164ffd4e0436daa9cf2d038d2f4bc
|
||||||
|
expression: last(/Microsoft Exchange Server 2016 by Zabbix agent active/perf_counter_en["\MSExchange Database({#INSTANCE})\Database File Size In Bytes", {$MS.EXCHANGE.PERF.INTERVAL}])>{$EXCHANGE.DB.SIZE.WARN}
|
||||||
|
name: '⚠️ Exchange: Banco de Dados Grande em {#INSTANCE}'
|
||||||
|
event_name: '⚠️ Exchange: Banco {#INSTANCE} está grande ({ITEM.LASTVALUE} > {$EXCHANGE.DB.SIZE.WARN})'
|
||||||
|
priority: WARNING
|
||||||
|
description: O arquivo do banco de dados excedeu o limite configurado.
|
||||||
|
- uuid: 0ea0824b26714249a2a90965377f0c10
|
||||||
|
name: 'Banco [{#INSTANCE}]: Total de Itens'
|
||||||
|
type: ZABBIX_ACTIVE
|
||||||
|
key: perf_counter_en["\MSExchangeIS Store({#INSTANCE})\Item Count", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
delay: 15m
|
||||||
|
value_type: FLOAT
|
||||||
|
description: Contagem total de itens no banco de dados.
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: storage
|
||||||
|
preprocessing:
|
||||||
|
- type: JAVASCRIPT
|
||||||
|
parameters:
|
||||||
|
- "var data = JSON.parse(value);\ndata.forEach(function(instance) {\n\tif (instance[\"{#INSTANCE}\"] === '_total') {\n\t\tinstance[\"{#INF.STORE}\"] = 'Information Store';\n\t}\n\telse {\n\t\tinstance[\"{#INF.STORE}\"] = 'Information Store - ' + instance[\"{#INSTANCE}\"];\n\t}\n})\nreturn JSON.stringify(data);\n"
|
||||||
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
|
parameters:
|
||||||
|
- 1h
|
||||||
|
graph_prototypes:
|
||||||
|
- uuid: 7f33d43a755d49e1987d6eac3df0b330
|
||||||
|
name: 'Exchange: Tamanho do Banco {#INSTANCE}'
|
||||||
|
graph_items:
|
||||||
|
- color: 1A7C11
|
||||||
|
item:
|
||||||
|
host: 'Microsoft Exchange Server 2016 by Zabbix agent active'
|
||||||
|
key: perf_counter_en["\MSExchange Database({#INSTANCE})\Database File Size In Bytes", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
- uuid: 4b27c3da6a7b45e0a6e78b27c3da4560
|
||||||
|
name: 'Exchange: Contagem de Itens em {#INSTANCE}'
|
||||||
|
graph_items:
|
||||||
|
- color: 199C0D
|
||||||
|
item:
|
||||||
|
host: 'Microsoft Exchange Server 2016 by Zabbix agent active'
|
||||||
|
key: perf_counter_en["\MSExchangeIS Store({#INSTANCE})\Item Count", {$MS.EXCHANGE.PERF.INTERVAL}]
|
||||||
|
httptests:
|
||||||
|
- uuid: 2e6bd09c77fa434cbc8c02ad74d12b7c
|
||||||
|
name: 'Teste de Disponibilidade: OWA'
|
||||||
|
steps:
|
||||||
|
- name: Login Page
|
||||||
|
url: '{$EXCHANGE.URL}'
|
||||||
|
status_codes: '200'
|
||||||
|
tags:
|
||||||
|
- tag: component
|
||||||
|
value: web
|
||||||
|
macros:
|
||||||
|
- macro: '{$AGENT.TIMEOUT}'
|
||||||
|
value: 5m
|
||||||
|
- macro: '{$MS.EXCHANGE.PERF.INTERVAL}'
|
||||||
|
value: '60'
|
||||||
|
- macro: '{$MS.EXCHANGE.DB.FAULTS.WARN}'
|
||||||
|
value: '0'
|
||||||
|
- macro: '{$MS.EXCHANGE.DB.FAULTS.TIME}'
|
||||||
|
value: 5m
|
||||||
|
- macro: '{$MS.EXCHANGE.LOG.STALLS.WARN}'
|
||||||
|
value: '100'
|
||||||
|
- macro: '{$MS.EXCHANGE.LOG.STALLS.TIME}'
|
||||||
|
value: 10m
|
||||||
|
- macro: '{$MS.EXCHANGE.DB.ACTIVE.READ.WARN}'
|
||||||
|
value: '0.02'
|
||||||
|
- macro: '{$MS.EXCHANGE.DB.ACTIVE.READ.TIME}'
|
||||||
|
value: 5m
|
||||||
|
- macro: '{$MS.EXCHANGE.DB.ACTIVE.WRITE.WARN}'
|
||||||
|
value: '0.05'
|
||||||
|
- macro: '{$MS.EXCHANGE.DB.ACTIVE.WRITE.TIME}'
|
||||||
|
value: 10m
|
||||||
|
- macro: '{$EXCHANGE.URL}'
|
||||||
|
value: https://webmail.itguys.com.br/owa
|
||||||
|
description: URL para teste do OWA
|
||||||
|
- macro: '{$EXCHANGE.DB.SIZE.WARN}'
|
||||||
|
value: 500G
|
||||||
|
description: Limite de aviso para tamanho do banco de dados.
|
||||||
|
valuemaps:
|
||||||
|
- uuid: 4608c0402f434f66b6fbc3b7b9cbb7ce
|
||||||
|
name: Exchange database copy role
|
||||||
|
mappings:
|
||||||
|
- value: '0'
|
||||||
|
newvalue: Passiva
|
||||||
|
- value: '1'
|
||||||
|
newvalue: Ativa
|
||||||
|
- uuid: e6e48613166048cea3eb11be58dde6f1
|
||||||
|
name: Exchange database state
|
||||||
|
mappings:
|
||||||
|
- value: '0'
|
||||||
|
newvalue: Desmontado
|
||||||
|
- value: '1'
|
||||||
|
newvalue: Montado
|
||||||
|
- value: '2'
|
||||||
|
newvalue: Saudável
|
||||||
|
- uuid: 1a2e1ca2e381428da1f9141fec223b37
|
||||||
|
name: zabbix.host.active_agent.available
|
||||||
|
mappings:
|
||||||
|
- value: '0'
|
||||||
|
newvalue: desconhecido
|
||||||
|
- value: '1'
|
||||||
|
newvalue: disponível
|
||||||
|
- value: '2'
|
||||||
|
newvalue: indisponível
|
||||||
|
- uuid: 65abb9cc274947129796e721a34c41dd
|
||||||
|
name: Service state
|
||||||
|
mappings:
|
||||||
|
- value: '0'
|
||||||
|
newvalue: Running
|
||||||
|
- value: '1'
|
||||||
|
newvalue: Paused
|
||||||
|
- value: '2'
|
||||||
|
newvalue: Start Pending
|
||||||
|
- value: '3'
|
||||||
|
newvalue: Pause Pending
|
||||||
|
- value: '4'
|
||||||
|
newvalue: Continue Pending
|
||||||
|
- value: '5'
|
||||||
|
newvalue: Stop Pending
|
||||||
|
- value: '6'
|
||||||
|
newvalue: Stopped
|
||||||
|
- value: '7'
|
||||||
|
newvalue: Unknown
|
||||||
|
- value: '255'
|
||||||
|
newvalue: No such service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
# Documentação: Microsoft Exchange Server 2016 by Zabbix agent active v2
|
||||||
|
|
||||||
|
**Template:** Microsoft Exchange Server 2016 by Zabbix agent active v2
|
||||||
|
**Descrição:**
|
||||||
|
Template Gold para Microsoft Exchange Server (2016/2019).
|
||||||
|
|
||||||
|
Monitoramento 360º com foco em performance e disponibilidade.
|
||||||
|
|
||||||
|
Inclui:
|
||||||
|
- Filas de Transporte (Submission, Delivery, Poison)
|
||||||
|
- Banco de Dados (Latência, Page Faults, Status)
|
||||||
|
- Serviços MSExchange (Discovery Automático)
|
||||||
|
- Web Access (OWA/ECP)
|
||||||
|
- Métricas de ActiveSync e WebServices
|
||||||
|
|
||||||
|
Desenvolvido por Arthur "O Farol" Mendes.
|
||||||
|
|
||||||
|
## Itens Monitorados
|
||||||
|
|
||||||
|
### Itens Globais
|
||||||
|
- **Bancos de Dados: Total Montados** (`perf_counter_en["\MSExchange Active Manager(_total)\Database Mounted"]`)
|
||||||
|
- **ActiveSync: Comandos Ping Pendentes** (`perf_counter_en["\MSExchange ActiveSync\Ping Commands Pending", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- **ActiveSync: Requisições por Segundo** (`perf_counter_en["\MSExchange ActiveSync\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- **OWA: Usuários Únicos Atuais** (`perf_counter_en["\MSExchange OWA\Current Unique Users", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- **OWA: Requisições por Segundo** (`perf_counter_en["\MSExchange OWA\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- **WebServices: Requisições por Segundo** (`perf_counter_en["\MSExchangeWS\Requests/sec", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- **Zabbix: Disponibilidade do Agente (Active)** (`zabbix[host,active_agent,available]`)
|
||||||
|
- **Fila de Transporte: Submission Queue** (`perf_counter_en["\MSExchangeTransport Queues(_Total)\Submission Queue Length"]`)
|
||||||
|
- **Fila de Transporte: Active Mailbox Delivery** (`perf_counter_en["\MSExchangeTransport Queues(_Total)\Active Mailbox Delivery Queue Length"]`)
|
||||||
|
- **Fila de Transporte: Poison Queue** (`perf_counter_en["\MSExchangeTransport Queues(_Total)\Poison Queue Length"]`)
|
||||||
|
- **Fila de Transporte: Retry Mailbox Delivery** (`perf_counter_en["\MSExchangeTransport Queues(_Total)\Retry Mailbox Delivery Queue Length"]`)
|
||||||
|
- **Service: Status do Microsoft Exchange Transport Submission** (`service.info["MSExchangeSubmission",state]`)
|
||||||
|
- **Service: Status do Microsoft Exchange Transport** (`service.info["MSExchangeTransport",state]`)
|
||||||
|
|
||||||
|
### Regras de Descoberta (LLD)
|
||||||
|
|
||||||
|
#### Descoberta de Serviços Exchange (`wmi.getall[root\cimv2,"SELECT Name, DisplayName, State FROM Win32_Service WHERE Name LIKE 'MSExchange%' AND StartMode='Auto'"]`)
|
||||||
|
- **Protótipos de Itens:**
|
||||||
|
- Serviço: Status do {#SERVICE.DISPLAYNAME} (`wmi.get[root\cimv2,"SELECT State FROM Win32_Service WHERE Name='{#SERVICE.NAME}'"]`)
|
||||||
|
#### Descoberta de Bancos de Dados (`perf_instance.discovery["MSExchange Active Manager"]`)
|
||||||
|
- **Protótipos de Itens:**
|
||||||
|
- Banco [{#INSTANCE}]: Função da Cópia (`perf_counter_en["\MSExchange Active Manager({#INSTANCE})\Database Copy Role Active"]`)
|
||||||
|
- Banco [{#INSTANCE}]: Page Faults/seg (`perf_counter_en["\MSExchange Database({#INSTANCE})\Database Page Fault Stalls/sec", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- Banco [{#INSTANCE}]: Logs Aguardando (Stalled) (`perf_counter_en["\MSExchange Database({#INSTANCE})\Log Record Stalls/sec", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- Banco [{#INSTANCE}]: Latência de Leitura (Ativo) (`perf_counter_en["\MSExchange Database ==> Instances({#INSTANCE}/_Total)\I/O Database Reads (Attached) Average Latency", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- Banco [{#INSTANCE}]: Latência de Escrita (Ativo) (`perf_counter_en["\MSExchange Database ==> Instances({#INF.STORE}/_Total)\I/O Database Writes (Attached) Average Latency", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- Banco [{#INSTANCE}]: Estado (`perf_counter_en["\MSExchangeIS Store({#INSTANCE})\Database State"]`)
|
||||||
|
- Banco [{#INSTANCE}]: Tamanho do Arquivo (`perf_counter_en["\MSExchange Database({#INSTANCE})\Database File Size In Bytes", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
- Banco [{#INSTANCE}]: Total de Itens (`perf_counter_en["\MSExchangeIS Store({#INSTANCE})\Item Count", {$MS.EXCHANGE.PERF.INTERVAL}]`)
|
||||||
|
|
||||||
|
## Alertas (Triggers)
|
||||||
|
|
||||||
|
### Triggers Globais
|
||||||
|
- [HIGH] **📉 Exchange: Queda Anômala de Tráfego OWA**
|
||||||
|
- [HIGH] **🚨 Exchange: Agente Zabbix Indisponível**
|
||||||
|
- [AVERAGE] **⚠️ Exchange: Fila de Submissão Alta**
|
||||||
|
- [HIGH] **🔮 Exchange: Fila de Submissão em Crescimento Rápido**
|
||||||
|
- [AVERAGE] **⚠️ Exchange: Fila de Entrega Local Alta**
|
||||||
|
- [HIGH] **🔮 Exchange: Fila de Entrega em Crescimento Rápido**
|
||||||
|
- [HIGH] **🚨 Exchange: Mensagens em Quarentena (Poison Queue) detectadas**
|
||||||
|
- [HIGH] **🚨 Serviço Parado: Microsoft Exchange Transport Submission**
|
||||||
|
- [HIGH] **🚨 Serviço Parado: Microsoft Exchange Transport**
|
||||||
|
|
||||||
|
### Protótipos de Triggers (LLD)
|
||||||
|
|
||||||
|
**Regra: Descoberta de Serviços Exchange**
|
||||||
|
- [HIGH] **🚨 Serviço Parado: {#SERVICE.DISPLAYNAME}**
|
||||||
|
|
||||||
|
**Regra: Descoberta de Bancos de Dados**
|
||||||
|
- [AVERAGE] **⚠️ Exchange: Page Faults Elevados em {#INSTANCE}**
|
||||||
|
- [AVERAGE] **🐢 Exchange: Escrita de Logs Travada em {#INSTANCE}**
|
||||||
|
- [WARNING] **🐢 Exchange: Latência de Leitura Alta em {#INSTANCE}**
|
||||||
|
- [WARNING] **🐢 Exchange: Latência de Escrita Alta em {#INSTANCE}**
|
||||||
|
- [WARNING] **⚠️ Exchange: Banco de Dados Grande em {#INSTANCE}**
|
||||||
Loading…
Reference in New Issue