Vous êtes sur la page 1sur 19

Caminhos para um sistema

automatizado de
monitorao
Francisco Freire (@ffreire)
Gleicon Moraes (@gleicon)

Agenda
Cenrio
Motivao
Premissas
Requisitos
Tecnologia
Integrao
Resultado

Cenrio

+ 15k Servidores
+500 Equipamentos de rede (+28k
portas)

Informaes decentralizadas
Diversos sistemas de monitorao
diferentes
Nenhum baseline
Cada um por si

Motivao
Acabar com sistemas legados (Nagios, Zabbix, Cacti e
outros).
Criar automao (Servidores sendo inseridos
manualmente, necessidade de edio de arquivos de
configurao ).
Nagios: Funcional, porm extremamente complicado
(Arquivos de configurao).
Zabbix: Funcional, porm tem extrema dependncia de
sua base de dados.

Premissas
Criar um ambiente de monitorao automatizado e
integrado ao nosso cmdb, garantindo que todo e
qualquer novo produto ou servio v para produo
totalmente monitorado.
Usar dados de monitorao para ter SLA em tempo real
e capacity planning de servios.
Integrar a monitorao ao desenvolvimento de cada
produto.

Requisitos
Automao / Integrao: Tudo tem que ser
automatizado e de fcil integrao com outros produtos
/ servios.
Administrao: Ter simples administrao, e ser fcil de
escalar horizontal e/ou verticalmente.
Grficos: Necessrio para uma melhor anlise.
Multiplataforma: Possibilidade de monitorar "n"
sistemas operacionais diferentes.
Prazo: O mais curto possvel!

Tecnologia
http://www.icinga.org/ (Backend de monitorao):
- Escolhido devido a compatibilidade com o Nagios e em nossos testes apresentou uma performance cerca de 10%
maior.
http://mathias-kettner.de/check_mk.html (Frontend de monitorao):
- Apelidado de descomplicador de Nagios, alm de facilitar a gerao de arquivos de configurao do Nagios,
oferece um dashboard que possui fcil integrao, centralizado, transforma todas as checagens em passivas e
query prpria para status de servios.
http://www.python.org/ (Linguagem oficial):
- Escolhida devido ao conhecimento atual da equipe e facilidade de desenvolvimento, utilizada como core de
monitorao integrada com o check_mk.
http://www.golang.org/ (Linguagem extra):
- Scripts que necessitam de uma maior performance/resultado -> go.
http://www.djangoproject.com/ (Frontend grficos):
- Framework para dashboard / frontends desenvolvidos internamente, escolhido devido ao nosso core ser python.
https://github.com/locaweb/leela (Backend grficos):
- Sistema desenvolvido internamente para armazenamento de dados de performance.
http://redis.io/ (Backend NoSQL):
- Armazenamento de fila e dados temporrios, no utilizamos persistncia.

Check_MK

Plugins personalizados.

Checagem passiva.

Inventrio.

Livestatus.

Livecheck.

Event Daemon.

Livestatus

http://mathias-kettner.de/checkmk_livestatus.html

Redis
Redis single-process
Multi-instncias
Shard utilizando:
https://github.com/twitter/twemprox
y
Alto uso de cpu, resolvido com
balanceamento utilizando IPTABLES.
Twemproxy aka nutcracker, rodando
em todos os clients para diminuir a
quantidade de conexes TCP.

Redis+ Nutcracker + Iptables

Configurao

Configurao descritiva em formato yaml.

Replicao via cfengine

Verses para aplicao / hardware / baseline

Todo tipo de alterao pode ser feita em um nico arquivo (Threesholds,


priorizao, etc)

Integrao
Alarmes na monitorao, geram incidentes e so automaticamente comentados no Icinga.

Grficos de Performance

Sla

Nmeros
16k+ Hosts
280k+ Servios
25k+ Escritas por segundo (Monitorao por log)
10k+ Dados de performance por segundo
1k+ Items de SLA
1k+ Incidentes dia

Estrutura Final

Resultado
Total automao e integrao com CMDB. (Bonus:
CMDB em dia)
Total integrao com Ferramenta Itil para
gerenciamento de incidentes.
Melhor integrao com nossos produtos.
Melhor e mais rpida anlise de problemas.
Maior conhecimento do ambiente.
Maior nmero de items monitorados.

Dvidas?

Vous aimerez peut-être aussi