Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços

3,074 views

Published on

Palestra no FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços - Prof. Mauro Tapajós Santos

  • Be the first to comment

FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços

  1. 1. Novas Aplicações Livres para Gerenciamento de Redes e Serviços FISL 8 - 12/04/2007 Prof. Msc Mauro Tapajós
  2. 2. Objetivo <ul><li>Apresentar algumas das mais recentes ferramentas para gerenciamento de redes e serviços em rede
  3. 3. Ressaltar suas características e esclarecer possíveis questões </li></ul>
  4. 4. Mini-Currículo <ul><li>Professor da Universidade Católica de Brasília (UCB)
  5. 5. Coordernador Técnico do Projeto CESMIC
  6. 6. Pós-graduação en &quot;Dirección de Sistemas de Información en Entornos de Software Libre&quot; na Universidad Obierta de Catalunya (Barcelona) em 2006
  7. 7. Mestre em Telecomunicações e Redes pela UnB em 1999
  8. 8. Engenheiro Eletricista pela UnB em 1995
  9. 9. Trabalho com SL desde 1996 (várias empresas) </li></ul>
  10. 10. Aplicações Livres para Gerenciamento de Redes <ul><li>Sempre existiram
  11. 11. Filosofia UNIX: solução para problema específico
  12. 12. Falhas, performance, segurança, configuração e contabilização
  13. 13. Segurança: assunto à parte </li></ul>
  14. 14. <ul><li>Implementação padrão SNMP no GNU/Linux
  15. 15. Versão + recente: 5.2.3 – desenvolvido em C + PERL
  16. 16. Suporte a SNMP v2c e v3
  17. 17. Pacote: agente + aplicações + biblioteca + MIB Browser + trap receiver
  18. 18. Extensível: módulos, SMUX e AgentX (RFC 2741)
  19. 19. Licença BSD (permissiva)
  20. 20. Sourceforge Project of the Month – Mar/2005 </li></ul>
  21. 21. <ul><li>Maduro – Versão 2.8 - GPL
  22. 22. Desenvolvido em C e PERL
  23. 23. Arquitetura de plugins </li><ul><li>nrpe – execução remota de plugins
  24. 24. nsca – checks passivos (automáticos) </li></ul><li>Interface CGI deve ser abandonada
  25. 25. Suporte a DB – implementação externa
  26. 26. Sem metodologia formal de desenvolvimento e testes – lista nagios-devel
  27. 27. Sourceforge Project of the Month – Jun/2005 </li></ul>
  28. 29. nmap Outras Aplicações Conhecidas www.webmin.com oss.oetiker.ch/mrtg/ www.wireshark.org www.ntop.org www.nmap.org CACIC www.sins.com.au/nmis/ oss.oetiker.ch/rrdtool/
  29. 30. O que mudou??? <ul><li>“ Network management is hard ”
  30. 31. Aplicativos comerciais: complexos e caros
  31. 32. NMS são sistemas críticos de enorme porte
  32. 33. Dificilmente sistemas desenvolvidos por um único grupo atenderão continuamente a todos os requisitos de um NMS nos atuais contextos
  33. 34. Desenvolvimento como SL: ótima alternativa para gerar NMS! </li></ul>
  34. 35. Características Comuns I <ul><li>Interfaces WEB de visualização e operação
  35. 36. Controle com usuários, grupos e permissões
  36. 37. Telas customizadas - visões
  37. 38. Uso de banco de dados livres – MySQL ou Postgres
  38. 39. Console de eventos </li><ul><li>Alarmes - níveis de severidade
  39. 40. Notificações </li></ul><li>Alertas ao responsável por email e outros mecanismos
  40. 41. Relatórios e gráficos dos dados coletados </li></ul>
  41. 42. Características Comuns II <ul><li>Suporte a SNMP (MIB's)
  42. 43. Checks via SNMP, ICMP ou customizados
  43. 44. Active/Passive Checks
  44. 45. Integração com syslog
  45. 46. Configuração de triggers (limiares)
  46. 47. Registros de eventos e configurações: auditorias
  47. 48. Relacionamentos entre os dispositivos gerenciados </li></ul>
  48. 49. Alguns NMS Livres
  49. 50. <ul><li>Site oficial : www.zabbix.org
  50. 51. Desenvolvido por/Líder : Alexei Vladishev
  51. 52. Versão analisada : 1.1.7
  52. 53. Licenciamento : GPLv2
  53. 54. Linguagens usadas : C, PHP + MySQL / Postgres / Oracle
  54. 55. Plataformas : Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X </li></ul>Ficha:
  55. 56. <ul><li>Monitoramento e Controle </li><ul><li>Falhas
  56. 57. Performance – capacity planning
  57. 58. SLA </li></ul><li>Monitora dispositivos de rede, servidores e estações
  58. 59. Possui agente próprio: várias plataformas
  59. 60. Mas pode monitorar equipamentos agentless : </li><ul><li>SNMP (trapping e polling)
  60. 61. Rede (ping, tcp, etc) </li></ul></ul>Features
  61. 63. <ul><li>Interface WEB de configuração
  62. 64. Usuários, grupos e permissões específicas
  63. 65. Templates
  64. 66. Relatórios e gráficos
  65. 67. Mapas customizados
  66. 68. Vários tipos de mídia - alertas por: email, SMS, pager ou Win Popups </li></ul>Features
  67. 70. <ul><li>Interface WEB PHP
  68. 71. Servidor
  69. 72. Agente </li></ul>Componentes
  70. 73. <ul><li>Versões para: Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000, Windows 2003, Windows XP
  71. 74. Extensível
  72. 75. Disponível em diversos repositórios (Debian, RPM, Gentoo) </li></ul>Agente
  73. 76. <ul><li>Simple checks : </li><ul><li>icmpping
  74. 77. http
  75. 78. pop
  76. 79. ftp_perf (tempo de resposta) </li></ul><li>Customizados: </li><ul><li>“ UserParameter=nome[sub], comando” </li></ul></ul>Checks
  77. 80. <ul><li>Agente Zabbix (alguns exemplos) </li><ul><li>cksum[/etc/inetd.conf]
  78. 81. disk_read_blks1[hda0] – Média de blocos gravados em disco, com t=1min;
  79. 82. memory[free]
  80. 83. system[uptime]
  81. 84. system[users]
  82. 85. proc_cnt[inetd]
  83. 86. Serviços Windows </li></ul></ul>Checks
  84. 88. <ul><li>Check de integridade de arquivos (config) nos servidores (via agente próprio)
  85. 89. Auditoria das mudanças no Zabbix e nos hosts monitorados (arqs de conf, por exemplo)
  86. 90. Considera vários administradores em turnos
  87. 91. Árvore de dependências entre elementos (hosts) </li></ul>Diferenciais
  88. 92. <ul><li>Screens : consolidam várias informações (screenshot)
  89. 93. Associa falhas com trending ( capacity planning )
  90. 94. Aceita plugins Nagios
  91. 95. Criação de vários hosts e usuários através de arquivos de texto csv ( bulkloader ) </li></ul>Diferenciais
  92. 97. <ul><li>Análise centralizada de logs
  93. 98. Autodiscovery
  94. 99. Suporte a autenticação LDAP para usuários
  95. 100. Consolidação de dados de vários servidores Zabbix </li></ul>To Do
  96. 101. <ul><li>Apache (1 ou 2)
  97. 102. PHP (como módulo Apache)
  98. 103. DB: MySQL é indicado e mais rápido, apesar de suportar Postgres
  99. 104. Módulo PHP do banco escolhido
  100. 105. Módulo PHP GD (para gráficos e mapas)
  101. 106. Net-SNMP </li></ul>Dependências
  102. 107. <ul><li>Documentação online : no site, HTML e PDF
  103. 108. Listas : </li><ul><li>ZABBIX-announcements
  104. 109. ZABBIX-users </li></ul><li>Canal IRC : </li><ul><li>irc.freenode.org – canal: #zabbix </li></ul><li>Fóruns
  105. 110. Wikis : http://www.zabbix.com/wiki/doku.php
  106. 111. Empresa Fonte/Especializada : Zabbix Company </li></ul>Suporte:
  107. 112. <ul><li>Site oficial : www.jffnms.org
  108. 113. Desenvolvido por/Líder : Javier Szyszlican
  109. 114. Versão analisada : 0.8.3
  110. 115. Licenciamento : GPL
  111. 116. Linguagens usadas : PHP + MySQL / Postgres
  112. 117. Plataformas : Linux, FreeBSD, Solaris e WIN2000
  113. 118. Empresa Fonte/Suporte principal : não </li></ul>Ficha:
  114. 119. <ul><li>Monitoramento e Controle – redes pequenas e médias </li><ul><li>Falhas
  115. 120. Performance – capacity planning
  116. 121. SLA - análise de dados coletados </li></ul><li>Element Manager : dispositivos de rede, servidores e estações
  117. 122. Conceito de interface
  118. 123. Interface WEB de configuração </li></ul>Features
  119. 125. <ul><li>Eventos: </li><ul><li>traps SNMP, syslog e Tacacs+
  120. 126. Filtro - correlação </li></ul><li>Scripts PHP chamados pelo cron a cada 5 min
  121. 127. Pollers customizados em PHP
  122. 128. Mapas e submapas
  123. 129. SNMP: suporte a várias MIBs
  124. 130. Controle de usuários com privilégios configuráveis: Customers e Users </li></ul>Features
  125. 132. <ul><li>3 fontes de informação básicas: </li><ul><li>Pollers
  126. 133. syslog messages
  127. 134. Traps SNMP </li></ul><li>Traps são captadas pelo snmptrapd
  128. 135. Eventos syslog são captados pelo syslogd
  129. 136. Consolidators
  130. 137. SLA Analyser </li></ul>
  131. 139. <ul><li>Autodiscovery (nmap) a cada 30 min
  132. 140. Alertas sonoros
  133. 141. RDF/RSS Feed de eventos
  134. 142. Coleta de dados iptables e tc (via SNMP)
  135. 143. Integração com: TFTP, Smokeping, syslog-NG, fping, NTP
  136. 144. Exportação de dados CSV
  137. 145. Servidores “satélites” - load balancing via RPC
  138. 146. Monitoramento SLA – grupos de condições
  139. 147. Pacotes Debian </li></ul>Diferenciais
  140. 148. <ul><li>Apache (via mod_status)
  141. 149. BGP peers (via SNMP)
  142. 150. Cisco SA agent (via SNMP)
  143. 151. IIS (via SNMP)
  144. 152. Windows host (via SNMP)
  145. 153. Portas TCP (via conexões TCP)
  146. 154. Storage - discos (via SNMP)
  147. 155. Solaris (via SNMP)
  148. 156. Alcance (via fping)
  149. 157. Interfaces físicas </li></ul>Interfaces
  150. 159. <ul><li>Melhorar documentação
  151. 160. Parâmetros de discovery
  152. 161. Trouble tickets plugin
  153. 162. Stored reports
  154. 163. Integração com outras aplicações: Netflow, Radius, etc
  155. 164. Passive checks </li></ul>To Do
  156. 165. <ul><li>Apache
  157. 166. PHP4 (como módulo Apache)
  158. 167. Módulos PHP MySQL, GD e SNMP
  159. 168. DB: MySQL ou Postgres
  160. 169. rrdtool
  161. 170. nmap (discovery)
  162. 171. tac-plus (opcional)
  163. 172. syslog-ng (opcional)
  164. 173. Net-SNMP (opcional)
  165. 174. tftpd (backup de Cisco confs)
  166. 175. ntsyslog (para eventos Win) </li></ul>Dependências
  167. 176. <ul><li>Documentação online : site, HTML e PDF
  168. 177. Listas : </li><ul><li>jffnms-users </li></ul><li>Wikis : http://jffnms.wikispaces.com/ </li></ul>Suporte:
  169. 178. <ul><li>Site oficial : www.zenoss.com
  170. 179. Desenvolvido por/Líder : Erik Dahl
  171. 180. Versão analisada : 1.1.1
  172. 181. Licenciamento : GPL
  173. 182. Linguagens usadas : Python + Zope Application Server
  174. 183. Plataformas : todos os BSD, Mac OS X, POSIX (Linux/BSD/Unix-like) e Win (vmware appliance) </li></ul>Ficha:
  175. 184. <ul><li>Projeto recente
  176. 185. Focado em sistemas de TI
  177. 186. Monitoramento de disponibilidade, performance, eventos e configuração
  178. 187. Gerenciamento de mudanças
  179. 188. Zenoss Core : funções básicas
  180. 189. Baseado em ZOPE e Python </li></ul>Features
  181. 191. <ul><li>Interface WEB de configuração
  182. 192. Discovery automatizado
  183. 193. Facilmente integrável
  184. 194. Gráficos com RRDTool
  185. 195. Inventário de itens (através de base ZODB) </li></ul>Features
  186. 196. <ul><li>Carga de vários dispositivos ( zenbatchload )
  187. 197. Navegação hierárquica
  188. 198. Correlação de alarmes
  189. 199. Eventos de: </li><ul><li>syslog
  190. 200. Traps SNMP
  191. 201. Log de eventos Windows
  192. 202. Pollers próprios ( plugins ) </li></ul></ul>Diferenciais
  193. 203. <ul><li>Acionamento seguro de plugins remotos (ssh)
  194. 204. Execução de comandos remotos, inclusive sobre vários dispositivos
  195. 205. Relatórios expandidos, com exportação para vários formatos
  196. 206. Janela de manutenção
  197. 207. Dashboard , com controle de acesso
  198. 208. Interface com AJAX
  199. 209. Sourceforge Project of the Month – Mar/2007 </li></ul>Diferenciais
  200. 212. <ul><li>ICMP
  201. 213. SNMP
  202. 214. Serviços TCP/IP (HTTP, SMTP, etc...)
  203. 215. Portas TCP/IP
  204. 216. Serviços e processos Windows, Linux
  205. 217. URL </li></ul>Checks
  206. 218. <ul><li>zenplugin.py : </li><ul><li>dispara checks em python
  207. 219. chamado via ssh
  208. 220. CPU, memória, discos, Processos, Uptime, MySQL, Apache e temperatura </li></ul><li>zenwin: Windows (XP e 2003)
  209. 221. Plugins Nagios </li></ul>Checks
  210. 224. <ul><li>Melhor interface AJAX
  211. 225. Melhor suporte a plugins
  212. 226. Não há pacotes Debian (ainda)
  213. 227. Suporte a SNMPv3
  214. 228. Empacotamento da configuração </li></ul>To Do
  215. 229. <ul><li>MySQL 5
  216. 230. Python e python-dev
  217. 231. Twisted Network Library (python)
  218. 232. rrdtool
  219. 233. NET-SNMP
  220. 234. ssh </li></ul>Dependências
  221. 235. <ul><li>Documentação online : no site, HTML e PDF
  222. 236. Listas : </li><ul><li>zenoss-users, zenoss-dev e zenoss-announce </li></ul><li>Canal IRC : irc.freenode.net (port 6667) - Channel: #zenoss
  223. 237. Fóruns: http://community.zenoss.com/forums/
  224. 238. Blog: http://blog.zenoss.com/
  225. 239. Wikis : http://dev.zenoss.org/trac/wiki
  226. 240. Empresa especializada : Zenoss Inc
  227. 241. TRAC: http://dev.zenoss.org/trac/wiki </li></ul>Suporte:
  228. 242. <ul><li>Site oficial : www.opennms.org
  229. 243. Desenvolvido por/Líder : E
  230. 244. Versão analisada : 1.2
  231. 245. Licenciamento : GPL
  232. 246. Linguagens usadas : JAVA + Postgres
  233. 247. Plataformas : Linux, Solaris e MAC OS </li></ul>Ficha:
  234. 248. <ul><li>Construído desde o princípio para ser enterprise-grade
  235. 249. Plataforma: integra várias aplicações
  236. 250. Acesso via SSL
  237. 251. Serviços básicos: </li><ul><li>Polling
  238. 252. Data collection
  239. 253. Event management </li></ul><li>Configuração em arquivos XML </li></ul>Features
  240. 254. <ul><li>Relatórios em HTML
  241. 255. Gráficos com RRDTool ou JRobin
  242. 256. Discovery pelo OID – polling conhecido!
  243. 257. Coleta limitada pela escrita em disco – 2.4 milhões de datapoints por hora!
  244. 258. Gera eventos próprios e recebe externos (traps e customizados – send-event.pl
  245. 259. Notificações podem ser escaladas por usuário/equipe </li></ul>Features
  246. 261. <ul><li>OpenNMS poller
  247. 262. OpenNMS data collector
  248. 263. Tomcat
  249. 264. Postgres </li></ul><ul><li>Podem ser distribuídos em vários servidores </li></ul>Componentes
  250. 265. <ul><li>Monitoramento de mais de 25 serviços: HTTP e HTTPS, DNS, DHCP, ICMP, Citrix e Radius
  251. 266. Testes de 5 em 5 min
  252. 267. Testes simulam a experiência do usuário </li></ul>Checks
  253. 268. <ul><li>Autodiscovery
  254. 269. Fácil exportação/importação de assets (CSV) - inventário
  255. 270. Paradas programadas (interrompe eventos, pollings, etc) </li></ul>
  256. 271. <ul><li>Integração com Nagios (nrpe) e suporte a seus Nagios
  257. 272. Autenticação de usuários via LDAP
  258. 273. Importação de MIBs (mib2opennms)
  259. 274. Alertas via Jabber (XMPP)
  260. 275. Resposta rápida da lista para dúvidas
  261. 276. API bem documentada
  262. 277. Pacotes Debian em repositório próprio
  263. 278. Network and IT management platforms GOLD AWARD </li></ul>Diferenciais
  264. 279. <ul><li>Suporte a SNMPv3
  265. 280. Fácil exportação/importação de assets (CSV) - inventário
  266. 281. Paradas programadas (interrompe eventos, pollings, etc)
  267. 282. Escalamento por equipe ou usuários
  268. 283. Downtime model – frequência de polling aumenta ao se detectar falha - SLA
  269. 284. Order of the Green Polo </li></ul>Diferenciais
  270. 286. <ul><li>Facilitar a configuração (hoje é manual e em XML!)
  271. 287. Mapas!
  272. 288. Código todo migrado para JAVA
  273. 289. Subsistema de eventos melhorado (detecção de duplicatas e correlação)
  274. 290. Nova versão 2.0 prevista para 1/2007
  275. 291. Next Generation Operational System Support (NGOSS) </li></ul>To Do
  276. 292. <ul><li>Java 1.4 SDK
  277. 293. JNI (acesso a código não disponível em JAVA)
  278. 294. PostgreSQL >= 7.2
  279. 295. Tomcat >= 5.5
  280. 296. RRDTool
  281. 297. Curl
  282. 298. NET-SNMP </li></ul>Dependências
  283. 299. <ul><li>Documentação online : no site, HTML e PDF
  284. 300. Listas : </li><ul><li>opennms-discuss
  285. 301. opennms-install
  286. 302. opennms-devel
  287. 303. outras! </li></ul><li>Canal IRC : irc.freenode.net/opennmsirc
  288. 304. Wikis : próprio site
  289. 305. Empresa especializada : Opennms Group </li></ul>Suporte:
  290. 306. www.netdirector.org www.nedi.ch Outros ??? www.openqrm.org www.hyperic.com www.groundworkopensource.com
  291. 307. Trouble Ticket Systems <ul><li>Já existem muitos candidatos </li></ul><ul><li>Características: </li><ul><li>Filas, usuários, grupos
  292. 308. Prioridades
  293. 309. Histórico </li></ul></ul>
  294. 310. www.bestpractical.com/rt/ Algumas características interessantes: <ul><ul><li>Empresa: Best Practical Solutions
  295. 311. Permissões de visualização
  296. 312. Usuário observadores ( watchers )
  297. 313. Relacionamentos entre tickets – controle de OSs
  298. 314. Maiores facilidades de busca
  299. 315. Pacote Debian </li></ul></ul>
  300. 316. http://otrs.org/ Algumas características interessantes: <ul><ul><li>Criação automática de contas por usuários
  301. 317. Um chamado só pode ser fechado por seu dono
  302. 318. Limitações nas customizações de campos dos tickets
  303. 319. Pacotes RPM e Debian </li></ul></ul>
  304. 320. Ainda a fazer !!! <ul><li>Experiências na escalabilidade dos sistemas
  305. 321. Testes com servidores distribuídos
  306. 322. Avaliações mais aprofundadas sobre segurança
  307. 323. Feedback de implementações em produção
  308. 324. Integração com TTS </li></ul>
  309. 325. <ul><li>Interface WEB: padrão
  310. 326. LDAP: opção para autenticação de usuários
  311. 327. Atuação remota: ssh / plugins?
  312. 328. Dados de histórico, performance e SLA podem tomar muito espaço: cuidados com a plataforma
  313. 329. Distribuição do sistema: importante!
  314. 330. Bancos de dados livres: maduros! </li></ul>Conclusões I
  315. 331. <ul><li>NMS gerenciam sistema nervoso das corporações
  316. 332. NMS não são sistemas simples
  317. 333. O modelo de desenvolvimento livre pode gerar (está gerando) ferramentas NMS competitivas
  318. 334. Quais são os reais requisitos da ferramenta que se busca? </li></ul>Conclusões II
  319. 335. Questões?
  320. 336. Site do Projeto CESMIC: www.cesmic.ucb.br Site Professor: www.ucb.br/prg/professores/maurot

×