Monitorando
servidores MS
SQL Server com
Zabbix
DO UP & DOWN AO SLA
Objetivos
• Overview sobre a ferramenta;
• Conceitos do Zabbix;
• Formas de monitoramento disponibilizados pela ferramenta;
• Dicas para implementar na infraestrutura;
• Como monitorar a disponibilidade do seu ambiente e obter valores
de SLA;
• Idéias/sugestões de implementar e/ou melhorar o monitoramento do
ambiente MS SQL Server.
Sobre mim
Patrícia Ladislau Silva
• Formação na área de análise de sistemas e redes;
• MBA de Gestão de SegInfo (em curso);
• + 6 anos de experiência em Infraestrutura, atuando como analista de T.I. da MTI
(CEPROMAT);
• + 3 anos atuando com monitoramento de ambientes;
• Certificações Oficiais e Internacionais ZABBIX
• ZCS – Zabbix Certified Specialist;
• ZCP – Zabbix Certified Professional;
• Integrante ativa das Comunidades ZABBIX .
Visão Geral sobre o Zabbix
• Software Open Source (Licença GNUv2);
• Atualmente nas versões 4.0 LTS e 4.2 (Non LTS);
• Leve;
• Escalável;
• Altamente integrável com uma infinidade de tecnologias,
ferramentas, etc.;
• Baixíssima manutenção;
• Alta capacidade de processamento de valores por segundo.
• Monitora desde um simples ping até uma consulta do Banco de
Dados e a disponibilidade
Componentes do Zabbix
• Server;
• Backend (Database);
• Frontend;
• Proxy;
• Agente;
• Java-Gateway.
Conceitos importantes
• Host
• Dispositivo na rede que precisa ser monitorado;
• Grupo de Hosts
• Agrupamento lógico de hosts;
• Item
• Um dado específico que necessita receber do host; métrica;
• Trigger
• Expressão lógica utilizada para definir um limiar e indicar mudanças de estado;
• Evento
• Uma única ocorrência de algo que necessita de atenção;
• Ação
• Forma pré-definida de reação à um evento.
Zabbix e as tecnologias da Microsoft
• Além dos itens habituais de monitoramento que são conhecidos
(disco, memória, rede, etc.), com Zabbix é possível monitorar uma
infinidade de aplicações Microsoft:
• Windows Server
•IIS
•Active Directory
•DHCP
•WSUS
•DNS
•Exchange Server
• Hyper-V, MS SQL Server e muitos outros.
Zabbix e as tecnologias da Microsoft
• Previsão de implementação de MS SQL Server como Backend do
Zabbix Server;
• Tanto a Zabbix SIA quanto a própria comunidade está em constante
evolução no monitoramento, integração e provisão de serviços do
Zabbix voltados para os ambientes Microsoft;
Coletando os dados via
Zabbix
Métodos de coleta
• ODBC Monitoring
• Checagem Simples
• Estentendo o monitoramento com Zabbix Agent (User Parameter)
• Log de Eventos
• Contadores de Desempenho (Performance Counters)
Monitamento via ODBC
• O ODBC é API em C para acesso a sistemas de gerenciamento de
Banco de Dados;
• O Zabbix pode consultar qualquer base de dados, bastando para isso
que exista o suporte através do driver ODBC;
• Permite monitorar vários aspectos do banco de dados:
• Verificar filas no banco de dados;
• Estatísticas;
• Quantidade de registros... entre outros.
Fluxo de dados - ODBC
Requisitos para monitorar via ODBC
• UnixODBC
• Projeto OpenSource que implementa a API ODBC sob licença GNU GPL/LGPL
• Dependências: unixODBC-devel (necessário para compilar o Zabbix com o
suporte ao unixODBC).
• FreeTDS
• Biblioteca (ou leia-se reimplementação) do protocolo TDS –
Tabular Data Stream, que permite que aplicativos de código
aberto possam se conectar a bases MS SQL Server
Configuração - ODBC
• odbcinst.ini: lista os drivers ODBC instalados;
• odbc.ini: define as fontes de dados;
odbcinst.ini
$ vi /etc/odbcinst.ini
[FreeTDS]
Driver = /usr/lib64/libtdsodbc.so.0
odbc.ini
$ vi /etc/odbc.ini
[sql1]
Driver = FreeTDS
Server = <SQL server 1 IP>
PORT = 1433
TDS_Version = 8.0
Configurando o item ODBC
• Verificando a conexão via ODBC
• isql sql1 <user_mssql> <password>
• Configuração do item no frontend do Zabbix
• Key: db.odbc.select[<unique short description>,dsn]
• Key LLD: db.odbc.discovery[<unique short description>,dsn]
Configurando o item ODBC
Checagem Simples
• Utilizado em casos que não é possível ter agente no servidor remoto;
• Modo agentless;
User Parameter – Zabbix Agent
• Configurado no Conf do Zabbix Agent;
Exemplo:
UserParameter=sqldatabasename.discovery,powershell -NoProfile -ExecutionPolicy
Bypass -File C:zabbixscriptsSQLBaseName_To_Zabbix.ps1
• Criando o item no frontend:
User Parameter – Zabbix Agent
• Itens de descoberta:
Log de Eventos
• Chave "eventlog"obtém dado do tipo log;
• Sintaxe:
eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>]
• Exemplos:
eventlog[Application]
eventlog[Security,,"Failure Audit",,^(529|680)$]
eventlog[System,,"Warning|Error"]
Contadores de Performance
• Com o Zabbix é possível estender e customizar seu monitoramento,
usando os contadores de desempenho do próprio Windows;
• Dica: faça o mapeamento dos contadores de desempenho:
typeperf –qx
• Chave perf_counter
• Exemplos de itens com chaves perf_counter :
perf_counter[SQLServer:Buffer ManagerDatabase pages]
perf_counter[{$MSSQLINST}:Databases(_Total)Data File(s) Size (KB)]
perf_counter[{$MSSQLINST}:General StatisticsUser Connections]
• Outras chaves específicas para Windows em:
• https://www.zabbix.com/documentation/4.0/manual/config/items/itemtypes/
zabbix_agent/win_keys
Alguns cuidados com seus itens
• Tempo de atualização;
• Tempo de histórico;
• Regras de descoberta;
• Alertas muito sensíveis;
• A combinação de dois mais itens na construção de determinadas triggers é o
melhor cenário;
• Seus itens com coletas com grande espaço de tempo entre elas
podem interferir na precisão do Serviço de T.I.
Outros recursos para o ambiente
• Com os itens criados, agora é possível configurar outros recursos:
• Triggers;
• Ações:
• Comandos remotos;
• Escalonamento;
• Notificações personalizadas.
• Serviços de T.I.
• Gráficos;
• Entre outros.
Medindo a disponibilidade/SLAs
• Visão de alto nível (negócio) da infraestrutura;
• Informações para assegurar acordos de níveis de serviços;
• Pode ser individual ou correlacionado com outros medidores de
disponibilidade;
• Tipos de medições com flexibilidade de horários:
• Horário comercial e não comercial;
• Feriados;
• Dias específicos;
• Período de manutenção pode ou não interferir.
Visualização dos Serviços de T.I.
Documentação e recursos disponíveis
• Documentação oficial: https://www.zabbix.com/manuals
• Share Zabbix: https://share.zabbix.com/
• Blog Zabbix: https://blog.zabbix.com/
• Wiki: https://zabbix.org/wiki/Main_Page
• Fóruns: https://www.zabbix.com/forum
Comunidade Zabbix no Brasil
http://zabbixbrasil.org/
https://www.facebook.com/groups/zabbixbrasil
@zabbixbr
https://www.linkedin.com/groups?gid=8130071
https://t.me/ZabbixBrasil
Dúvidas?
Obrigada!
Patrícia Ladislau Silva

Monitoramento de Bancos de Dados MS SQL Server com Zabbix - SQL Technology Day #6

  • 1.
    Monitorando servidores MS SQL Servercom Zabbix DO UP & DOWN AO SLA
  • 2.
    Objetivos • Overview sobrea ferramenta; • Conceitos do Zabbix; • Formas de monitoramento disponibilizados pela ferramenta; • Dicas para implementar na infraestrutura; • Como monitorar a disponibilidade do seu ambiente e obter valores de SLA; • Idéias/sugestões de implementar e/ou melhorar o monitoramento do ambiente MS SQL Server.
  • 3.
    Sobre mim Patrícia LadislauSilva • Formação na área de análise de sistemas e redes; • MBA de Gestão de SegInfo (em curso); • + 6 anos de experiência em Infraestrutura, atuando como analista de T.I. da MTI (CEPROMAT); • + 3 anos atuando com monitoramento de ambientes; • Certificações Oficiais e Internacionais ZABBIX • ZCS – Zabbix Certified Specialist; • ZCP – Zabbix Certified Professional; • Integrante ativa das Comunidades ZABBIX .
  • 4.
    Visão Geral sobreo Zabbix • Software Open Source (Licença GNUv2); • Atualmente nas versões 4.0 LTS e 4.2 (Non LTS); • Leve; • Escalável; • Altamente integrável com uma infinidade de tecnologias, ferramentas, etc.; • Baixíssima manutenção; • Alta capacidade de processamento de valores por segundo. • Monitora desde um simples ping até uma consulta do Banco de Dados e a disponibilidade
  • 5.
    Componentes do Zabbix •Server; • Backend (Database); • Frontend; • Proxy; • Agente; • Java-Gateway.
  • 6.
    Conceitos importantes • Host •Dispositivo na rede que precisa ser monitorado; • Grupo de Hosts • Agrupamento lógico de hosts; • Item • Um dado específico que necessita receber do host; métrica; • Trigger • Expressão lógica utilizada para definir um limiar e indicar mudanças de estado; • Evento • Uma única ocorrência de algo que necessita de atenção; • Ação • Forma pré-definida de reação à um evento.
  • 7.
    Zabbix e astecnologias da Microsoft • Além dos itens habituais de monitoramento que são conhecidos (disco, memória, rede, etc.), com Zabbix é possível monitorar uma infinidade de aplicações Microsoft: • Windows Server •IIS •Active Directory •DHCP •WSUS •DNS •Exchange Server • Hyper-V, MS SQL Server e muitos outros.
  • 8.
    Zabbix e astecnologias da Microsoft • Previsão de implementação de MS SQL Server como Backend do Zabbix Server; • Tanto a Zabbix SIA quanto a própria comunidade está em constante evolução no monitoramento, integração e provisão de serviços do Zabbix voltados para os ambientes Microsoft;
  • 9.
  • 10.
    Métodos de coleta •ODBC Monitoring • Checagem Simples • Estentendo o monitoramento com Zabbix Agent (User Parameter) • Log de Eventos • Contadores de Desempenho (Performance Counters)
  • 11.
    Monitamento via ODBC •O ODBC é API em C para acesso a sistemas de gerenciamento de Banco de Dados; • O Zabbix pode consultar qualquer base de dados, bastando para isso que exista o suporte através do driver ODBC; • Permite monitorar vários aspectos do banco de dados: • Verificar filas no banco de dados; • Estatísticas; • Quantidade de registros... entre outros.
  • 12.
  • 13.
    Requisitos para monitorarvia ODBC • UnixODBC • Projeto OpenSource que implementa a API ODBC sob licença GNU GPL/LGPL • Dependências: unixODBC-devel (necessário para compilar o Zabbix com o suporte ao unixODBC). • FreeTDS • Biblioteca (ou leia-se reimplementação) do protocolo TDS – Tabular Data Stream, que permite que aplicativos de código aberto possam se conectar a bases MS SQL Server
  • 14.
    Configuração - ODBC •odbcinst.ini: lista os drivers ODBC instalados; • odbc.ini: define as fontes de dados; odbcinst.ini $ vi /etc/odbcinst.ini [FreeTDS] Driver = /usr/lib64/libtdsodbc.so.0 odbc.ini $ vi /etc/odbc.ini [sql1] Driver = FreeTDS Server = <SQL server 1 IP> PORT = 1433 TDS_Version = 8.0
  • 15.
    Configurando o itemODBC • Verificando a conexão via ODBC • isql sql1 <user_mssql> <password> • Configuração do item no frontend do Zabbix • Key: db.odbc.select[<unique short description>,dsn] • Key LLD: db.odbc.discovery[<unique short description>,dsn]
  • 16.
  • 17.
    Checagem Simples • Utilizadoem casos que não é possível ter agente no servidor remoto; • Modo agentless;
  • 18.
    User Parameter –Zabbix Agent • Configurado no Conf do Zabbix Agent; Exemplo: UserParameter=sqldatabasename.discovery,powershell -NoProfile -ExecutionPolicy Bypass -File C:zabbixscriptsSQLBaseName_To_Zabbix.ps1 • Criando o item no frontend:
  • 19.
    User Parameter –Zabbix Agent • Itens de descoberta:
  • 20.
    Log de Eventos •Chave "eventlog"obtém dado do tipo log; • Sintaxe: eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>] • Exemplos: eventlog[Application] eventlog[Security,,"Failure Audit",,^(529|680)$] eventlog[System,,"Warning|Error"]
  • 21.
    Contadores de Performance •Com o Zabbix é possível estender e customizar seu monitoramento, usando os contadores de desempenho do próprio Windows; • Dica: faça o mapeamento dos contadores de desempenho: typeperf –qx • Chave perf_counter • Exemplos de itens com chaves perf_counter : perf_counter[SQLServer:Buffer ManagerDatabase pages] perf_counter[{$MSSQLINST}:Databases(_Total)Data File(s) Size (KB)] perf_counter[{$MSSQLINST}:General StatisticsUser Connections] • Outras chaves específicas para Windows em: • https://www.zabbix.com/documentation/4.0/manual/config/items/itemtypes/ zabbix_agent/win_keys
  • 22.
    Alguns cuidados comseus itens • Tempo de atualização; • Tempo de histórico; • Regras de descoberta; • Alertas muito sensíveis; • A combinação de dois mais itens na construção de determinadas triggers é o melhor cenário; • Seus itens com coletas com grande espaço de tempo entre elas podem interferir na precisão do Serviço de T.I.
  • 23.
    Outros recursos parao ambiente • Com os itens criados, agora é possível configurar outros recursos: • Triggers; • Ações: • Comandos remotos; • Escalonamento; • Notificações personalizadas. • Serviços de T.I. • Gráficos; • Entre outros.
  • 24.
    Medindo a disponibilidade/SLAs •Visão de alto nível (negócio) da infraestrutura; • Informações para assegurar acordos de níveis de serviços; • Pode ser individual ou correlacionado com outros medidores de disponibilidade; • Tipos de medições com flexibilidade de horários: • Horário comercial e não comercial; • Feriados; • Dias específicos; • Período de manutenção pode ou não interferir.
  • 25.
  • 26.
    Documentação e recursosdisponíveis • Documentação oficial: https://www.zabbix.com/manuals • Share Zabbix: https://share.zabbix.com/ • Blog Zabbix: https://blog.zabbix.com/ • Wiki: https://zabbix.org/wiki/Main_Page • Fóruns: https://www.zabbix.com/forum
  • 27.
    Comunidade Zabbix noBrasil http://zabbixbrasil.org/ https://www.facebook.com/groups/zabbixbrasil @zabbixbr https://www.linkedin.com/groups?gid=8130071 https://t.me/ZabbixBrasil
  • 28.
  • 29.