Académique Documents
Professionnel Documents
Culture Documents
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.
Configurao
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?