Re: [Nagios-users-br] Ndoutils e problemas de performance
Sobre zabbix, pandora ou zenoss ate pode nao ser escalavel (so instalei eles em laboratorio). Mas opsview, op5 e icinga usam o nagios internamente entao teoricamente podem ate ser mais escalaveis que o nagios, pois distribuem o nagios com patchs de correçao de performance. Desses o que eu vi ser mais compativel com o nagios eh o icinga, mas ainda esta muito recente para usar em producao. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/6/23 Marcel mits...@gmail.com Como já disse antes. Quando a escala for gigantesca, essas soluções completas out-of-the-box não atendem. Eu administrava Nagios + Cacti com mais de 20k services, 5k hosts, 50k rrds. Daí cansei da vida de especialista nessas ferramentas pra trabalhar com outros aspectos da administração de sistemas *nix. Mas posso adiantar que enquanto a escala aumenta lineramente, a flexibilidade de escalabilidade do nagios não se encontra nesses outros monitores baseados em nagios. []s 2009/6/19 Leonardo Neves leonardo.ne...@gmail.com O negocio eh ir para um opsview, op5, icinga, zabbix, pandora, zenoss, etc. Nagios ultimamente nao tem evolido tanto quanto deveria. A tranqueira e mudar todo o ambiente ja montado, alem dos 4000 services, tenho alguns scripts feitos em casa, tem uns que ateh chamam cobol. Alguem esta utilizando o icinga em produçao? ta valendo a pena? Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/6/18 Marcel mits...@gmail.com o ndoutils é beta há uns 4 anos. ele não vai ser atualizado enquanto existirem empresas pagando o Ethan para não fazê-lo. Essas empresas, preferem ter seus produtos baseados no nagios vendidos do que retornarem os patches para a comunidade. por isso que forkaram o nagios (eu acho). assim, o ndo2fs é não é blocante ao nagios porque ele não espera retorno do filesystem indicando que o arquivo foi gravado. Mas o design do NEB é blocante sim, ele precisa que o mod retorne para a continuidade da execução do nagios. por isso que se o banco atrasa o mod atrasa e o nagios atrasa. Por ser um arquivo, não tem que esperar retorno. Então é rápido mesmo. []s 2009/6/9 Leonardo Neves leonardo.ne...@gmail.com Cristiano e Marcel, Achei a soluçao para o problema. O ambiente comum eh assim: nagios - ndo2db (- mysql) - nagvis Instalei o ndo2fs no meio do caminho, ficando assim: nagios - ndo2fs - ndo2db (- mysql) - nagvis O ndo2fs nao eh bloqueante e dessa forma o nagios nao fica lento. Nos meus testes com o ndo2fs o nagios ficou 5x mais rapido. Com o nagvis 1.4 tambem eh possivel acessar o ndo2fs diretamente e deve ser mais rapido ainda, mas nao testei. Meu sentimento eh que o ndo2db foi muito mal feito, ainda bem que ja estao criando e usando alternativas :( Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/18 Leonardo Neves leonardo.ne...@gmail.com Eu acho que algum dos patches do nagios, disponibilizados pelo pessoal do opsview, deve resolver o problema: http://trac.opsview.org/browser/tags/release-3.0.0/opsview-base/Makefile#L238 http://opsview-blog.opsera.com/dotorg/nagios/ Ainda nao tive tempo para testar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/15 Marcel mits...@gmail.com amigos, o ndo2db + ndomod são blocantes ao nagios (o nagios espera o retorno do mod, e se o banco demora, o mod demora e o nagios demora), tentem desacoplar o input ao banco de dados. sei que pode ser feito, mas ninguém diz como. ;) 2009/5/12 Leonardo Neves leonardo.ne...@gmail.com Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e
Re: [Nagios-users-br] Ndoutils e problemas de performance
Como já disse antes. Quando a escala for gigantesca, essas soluções completas out-of-the-box não atendem. Eu administrava Nagios + Cacti com mais de 20k services, 5k hosts, 50k rrds. Daí cansei da vida de especialista nessas ferramentas pra trabalhar com outros aspectos da administração de sistemas *nix. Mas posso adiantar que enquanto a escala aumenta lineramente, a flexibilidade de escalabilidade do nagios não se encontra nesses outros monitores baseados em nagios. []s 2009/6/19 Leonardo Neves leonardo.ne...@gmail.com O negocio eh ir para um opsview, op5, icinga, zabbix, pandora, zenoss, etc. Nagios ultimamente nao tem evolido tanto quanto deveria. A tranqueira e mudar todo o ambiente ja montado, alem dos 4000 services, tenho alguns scripts feitos em casa, tem uns que ateh chamam cobol. Alguem esta utilizando o icinga em produçao? ta valendo a pena? Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/6/18 Marcel mits...@gmail.com o ndoutils é beta há uns 4 anos. ele não vai ser atualizado enquanto existirem empresas pagando o Ethan para não fazê-lo. Essas empresas, preferem ter seus produtos baseados no nagios vendidos do que retornarem os patches para a comunidade. por isso que forkaram o nagios (eu acho). assim, o ndo2fs é não é blocante ao nagios porque ele não espera retorno do filesystem indicando que o arquivo foi gravado. Mas o design do NEB é blocante sim, ele precisa que o mod retorne para a continuidade da execução do nagios. por isso que se o banco atrasa o mod atrasa e o nagios atrasa. Por ser um arquivo, não tem que esperar retorno. Então é rápido mesmo. []s 2009/6/9 Leonardo Neves leonardo.ne...@gmail.com Cristiano e Marcel, Achei a soluçao para o problema. O ambiente comum eh assim: nagios - ndo2db (- mysql) - nagvis Instalei o ndo2fs no meio do caminho, ficando assim: nagios - ndo2fs - ndo2db (- mysql) - nagvis O ndo2fs nao eh bloqueante e dessa forma o nagios nao fica lento. Nos meus testes com o ndo2fs o nagios ficou 5x mais rapido. Com o nagvis 1.4 tambem eh possivel acessar o ndo2fs diretamente e deve ser mais rapido ainda, mas nao testei. Meu sentimento eh que o ndo2db foi muito mal feito, ainda bem que ja estao criando e usando alternativas :( Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/18 Leonardo Neves leonardo.ne...@gmail.com Eu acho que algum dos patches do nagios, disponibilizados pelo pessoal do opsview, deve resolver o problema: http://trac.opsview.org/browser/tags/release-3.0.0/opsview-base/Makefile#L238 http://opsview-blog.opsera.com/dotorg/nagios/ Ainda nao tive tempo para testar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/15 Marcel mits...@gmail.com amigos, o ndo2db + ndomod são blocantes ao nagios (o nagios espera o retorno do mod, e se o banco demora, o mod demora e o nagios demora), tentem desacoplar o input ao banco de dados. sei que pode ser feito, mas ninguém diz como. ;) 2009/5/12 Leonardo Neves leonardo.ne...@gmail.com Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e information_schema -e test) do TABLES=$(echo USE $db; SHOW TABLES; | mysql $MYSQL_LOGIN | grep -v Tables_in_) echo Switching to database $db for table in $TABLES do echo -n * Optimizing table $table ... echo USE $db; OPTIMIZE TABLE $table | mysql $MYSQL_LOGIN /dev/null echo done. done done As tabelas nagios_servicechecks e nagios_hostchecks sao apenas de historico e os dados antigos podem ser deletados ja que os logs ja tem a informacao. Se voce teve algum progresso, favor nos reportar. Atenciosamente,
Re: [Nagios-users-br] Ndoutils e problemas de performance
O negocio eh ir para um opsview, op5, icinga, zabbix, pandora, zenoss, etc. Nagios ultimamente nao tem evolido tanto quanto deveria. A tranqueira e mudar todo o ambiente ja montado, alem dos 4000 services, tenho alguns scripts feitos em casa, tem uns que ateh chamam cobol. Alguem esta utilizando o icinga em produçao? ta valendo a pena? Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/6/18 Marcel mits...@gmail.com o ndoutils é beta há uns 4 anos. ele não vai ser atualizado enquanto existirem empresas pagando o Ethan para não fazê-lo. Essas empresas, preferem ter seus produtos baseados no nagios vendidos do que retornarem os patches para a comunidade. por isso que forkaram o nagios (eu acho). assim, o ndo2fs é não é blocante ao nagios porque ele não espera retorno do filesystem indicando que o arquivo foi gravado. Mas o design do NEB é blocante sim, ele precisa que o mod retorne para a continuidade da execução do nagios. por isso que se o banco atrasa o mod atrasa e o nagios atrasa. Por ser um arquivo, não tem que esperar retorno. Então é rápido mesmo. []s 2009/6/9 Leonardo Neves leonardo.ne...@gmail.com Cristiano e Marcel, Achei a soluçao para o problema. O ambiente comum eh assim: nagios - ndo2db (- mysql) - nagvis Instalei o ndo2fs no meio do caminho, ficando assim: nagios - ndo2fs - ndo2db (- mysql) - nagvis O ndo2fs nao eh bloqueante e dessa forma o nagios nao fica lento. Nos meus testes com o ndo2fs o nagios ficou 5x mais rapido. Com o nagvis 1.4 tambem eh possivel acessar o ndo2fs diretamente e deve ser mais rapido ainda, mas nao testei. Meu sentimento eh que o ndo2db foi muito mal feito, ainda bem que ja estao criando e usando alternativas :( Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/18 Leonardo Neves leonardo.ne...@gmail.com Eu acho que algum dos patches do nagios, disponibilizados pelo pessoal do opsview, deve resolver o problema: http://trac.opsview.org/browser/tags/release-3.0.0/opsview-base/Makefile#L238 http://opsview-blog.opsera.com/dotorg/nagios/ Ainda nao tive tempo para testar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/15 Marcel mits...@gmail.com amigos, o ndo2db + ndomod são blocantes ao nagios (o nagios espera o retorno do mod, e se o banco demora, o mod demora e o nagios demora), tentem desacoplar o input ao banco de dados. sei que pode ser feito, mas ninguém diz como. ;) 2009/5/12 Leonardo Neves leonardo.ne...@gmail.com Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e information_schema -e test) do TABLES=$(echo USE $db; SHOW TABLES; | mysql $MYSQL_LOGIN | grep -v Tables_in_) echo Switching to database $db for table in $TABLES do echo -n * Optimizing table $table ... echo USE $db; OPTIMIZE TABLE $table | mysql $MYSQL_LOGIN /dev/null echo done. done done As tabelas nagios_servicechecks e nagios_hostchecks sao apenas de historico e os dados antigos podem ser deletados ja que os logs ja tem a informacao. Se voce teve algum progresso, favor nos reportar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/7 Cristiano Casado co.cas...@gmail.com Olá a todos. Estou utilizando em ambiente de laboratório o Nagios 3.0.6 com ndoutils 1.4b7 e MySQL 5.0 em uma máquina Linux CentOS 5.2 (2.6.18) x64 com 2GB ram e processador Intel Xeon 2.50GHz. Optei em utilizar o ndoutils para manter informacoes históricas de checks no banco de dados (tables nagios_servicechecks e nagios_hostcheks), assim como utilizar o NagVis para representacao gráfica das minhas redes. Os testes funcionais
Re: [Nagios-users-br] Ndoutils e problemas de performance
o ndoutils é beta há uns 4 anos. ele não vai ser atualizado enquanto existirem empresas pagando o Ethan para não fazê-lo. Essas empresas, preferem ter seus produtos baseados no nagios vendidos do que retornarem os patches para a comunidade. por isso que forkaram o nagios (eu acho). assim, o ndo2fs é não é blocante ao nagios porque ele não espera retorno do filesystem indicando que o arquivo foi gravado. Mas o design do NEB é blocante sim, ele precisa que o mod retorne para a continuidade da execução do nagios. por isso que se o banco atrasa o mod atrasa e o nagios atrasa. Por ser um arquivo, não tem que esperar retorno. Então é rápido mesmo. []s 2009/6/9 Leonardo Neves leonardo.ne...@gmail.com Cristiano e Marcel, Achei a soluçao para o problema. O ambiente comum eh assim: nagios - ndo2db (- mysql) - nagvis Instalei o ndo2fs no meio do caminho, ficando assim: nagios - ndo2fs - ndo2db (- mysql) - nagvis O ndo2fs nao eh bloqueante e dessa forma o nagios nao fica lento. Nos meus testes com o ndo2fs o nagios ficou 5x mais rapido. Com o nagvis 1.4 tambem eh possivel acessar o ndo2fs diretamente e deve ser mais rapido ainda, mas nao testei. Meu sentimento eh que o ndo2db foi muito mal feito, ainda bem que ja estao criando e usando alternativas :( Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/18 Leonardo Neves leonardo.ne...@gmail.com Eu acho que algum dos patches do nagios, disponibilizados pelo pessoal do opsview, deve resolver o problema: http://trac.opsview.org/browser/tags/release-3.0.0/opsview-base/Makefile#L238 http://opsview-blog.opsera.com/dotorg/nagios/ Ainda nao tive tempo para testar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/15 Marcel mits...@gmail.com amigos, o ndo2db + ndomod são blocantes ao nagios (o nagios espera o retorno do mod, e se o banco demora, o mod demora e o nagios demora), tentem desacoplar o input ao banco de dados. sei que pode ser feito, mas ninguém diz como. ;) 2009/5/12 Leonardo Neves leonardo.ne...@gmail.com Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e information_schema -e test) do TABLES=$(echo USE $db; SHOW TABLES; | mysql $MYSQL_LOGIN | grep -v Tables_in_) echo Switching to database $db for table in $TABLES do echo -n * Optimizing table $table ... echo USE $db; OPTIMIZE TABLE $table | mysql $MYSQL_LOGIN /dev/null echo done. done done As tabelas nagios_servicechecks e nagios_hostchecks sao apenas de historico e os dados antigos podem ser deletados ja que os logs ja tem a informacao. Se voce teve algum progresso, favor nos reportar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/7 Cristiano Casado co.cas...@gmail.com Olá a todos. Estou utilizando em ambiente de laboratório o Nagios 3.0.6 com ndoutils 1.4b7 e MySQL 5.0 em uma máquina Linux CentOS 5.2 (2.6.18) x64 com 2GB ram e processador Intel Xeon 2.50GHz. Optei em utilizar o ndoutils para manter informacoes históricas de checks no banco de dados (tables nagios_servicechecks e nagios_hostcheks), assim como utilizar o NagVis para representacao gráfica das minhas redes. Os testes funcionais foram bons, porém cheguei ao ponto do projeto em que tive que fazer um benchmark com um número de 7.000 services, simulando o que vou encontrar em ambiente de producao. Carregando o broker ndomod porém sem executar o daemon ndo2db consigo uma performance boa de service checks com quase 95% dos services sendo processados na janela de 5 min e com uma latência de check baixa. Importante ressaltar que todos os services são ativos (não passivos) com check_interval de 5 minutos. Ao executar o daemon ndo2db, onde o mesmo inicializa o socket unix e comeca
Re: [Nagios-users-br] Ndoutils e problemas de performance
Eu acho que algum dos patches do nagios, disponibilizados pelo pessoal do opsview, deve resolver o problema: http://trac.opsview.org/browser/tags/release-3.0.0/opsview-base/Makefile#L238 http://opsview-blog.opsera.com/dotorg/nagios/ Ainda nao tive tempo para testar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/15 Marcel mits...@gmail.com amigos, o ndo2db + ndomod são blocantes ao nagios (o nagios espera o retorno do mod, e se o banco demora, o mod demora e o nagios demora), tentem desacoplar o input ao banco de dados. sei que pode ser feito, mas ninguém diz como. ;) 2009/5/12 Leonardo Neves leonardo.ne...@gmail.com Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e information_schema -e test) do TABLES=$(echo USE $db; SHOW TABLES; | mysql $MYSQL_LOGIN | grep -v Tables_in_) echo Switching to database $db for table in $TABLES do echo -n * Optimizing table $table ... echo USE $db; OPTIMIZE TABLE $table | mysql $MYSQL_LOGIN /dev/null echo done. done done As tabelas nagios_servicechecks e nagios_hostchecks sao apenas de historico e os dados antigos podem ser deletados ja que os logs ja tem a informacao. Se voce teve algum progresso, favor nos reportar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/7 Cristiano Casado co.cas...@gmail.com Olá a todos. Estou utilizando em ambiente de laboratório o Nagios 3.0.6 com ndoutils 1.4b7 e MySQL 5.0 em uma máquina Linux CentOS 5.2 (2.6.18) x64 com 2GB ram e processador Intel Xeon 2.50GHz. Optei em utilizar o ndoutils para manter informacoes históricas de checks no banco de dados (tables nagios_servicechecks e nagios_hostcheks), assim como utilizar o NagVis para representacao gráfica das minhas redes. Os testes funcionais foram bons, porém cheguei ao ponto do projeto em que tive que fazer um benchmark com um número de 7.000 services, simulando o que vou encontrar em ambiente de producao. Carregando o broker ndomod porém sem executar o daemon ndo2db consigo uma performance boa de service checks com quase 95% dos services sendo processados na janela de 5 min e com uma latência de check baixa. Importante ressaltar que todos os services são ativos (não passivos) com check_interval de 5 minutos. Ao executar o daemon ndo2db, onde o mesmo inicializa o socket unix e comeca as operacoes em banco de dados, percebo uma perda considerável de performance do service check com apenas 9% dos services sendo processados na janela de 5 min, latência alta de checks e o contador de iowait da CPU entre 90% e 100%. Services que deveriam ser processados pelo daemon do Nagios em 5 min são processados com delay de até 1 hora, o que inviabiliza a solucao como ferramenta de monitoracao. Como o MySQL está na mesma máquina, fiz o tunning nele (buffer, threads, etc), apliquei índices adicionais as tabelas e testei passando as tabelas do database nagios para o esquema blackhole. Desta forma o banco aceita conexões e operacoes (select, insert, delete, ...) porém não grava os dados em disco. O iowait continuou alto e a performance ruim. Não desconfio mais do banco de dados. Percebi que o daemon do ndo2db utiliza apenas 1 conexão com o banco de dados para fazer diversas operacoes por segundo, sendo que cada operacao aguarda o final da execucao anterior. O que particularmente acho ruim. Pergunta: alguém utiliza as facilidades do ndoutils com banco de dados em grande instalacoes do Nagios ( 1500 hosts 7000 services) e que não tenha estes problemas de performance para me dar uma luz ? As configuracoes do Nagios estão abaixo. Segui algumas recomendacoes de tunning para o Nagios do documento http://nagios.sourceforge.net/docs/3_0/tuning.html Obrigado. Cristiano Casado. ### Nagios Config ### log_file=/var/log/nagios/nagios.log
Re: [Nagios-users-br] Ndoutils e problemas de performance
amigos, o ndo2db + ndomod são blocantes ao nagios (o nagios espera o retorno do mod, e se o banco demora, o mod demora e o nagios demora), tentem desacoplar o input ao banco de dados. sei que pode ser feito, mas ninguém diz como. ;) 2009/5/12 Leonardo Neves leonardo.ne...@gmail.com Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e information_schema -e test) do TABLES=$(echo USE $db; SHOW TABLES; | mysql $MYSQL_LOGIN | grep -v Tables_in_) echo Switching to database $db for table in $TABLES do echo -n * Optimizing table $table ... echo USE $db; OPTIMIZE TABLE $table | mysql $MYSQL_LOGIN /dev/null echo done. done done As tabelas nagios_servicechecks e nagios_hostchecks sao apenas de historico e os dados antigos podem ser deletados ja que os logs ja tem a informacao. Se voce teve algum progresso, favor nos reportar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/7 Cristiano Casado co.cas...@gmail.com Olá a todos. Estou utilizando em ambiente de laboratório o Nagios 3.0.6 com ndoutils 1.4b7 e MySQL 5.0 em uma máquina Linux CentOS 5.2 (2.6.18) x64 com 2GB ram e processador Intel Xeon 2.50GHz. Optei em utilizar o ndoutils para manter informacoes históricas de checks no banco de dados (tables nagios_servicechecks e nagios_hostcheks), assim como utilizar o NagVis para representacao gráfica das minhas redes. Os testes funcionais foram bons, porém cheguei ao ponto do projeto em que tive que fazer um benchmark com um número de 7.000 services, simulando o que vou encontrar em ambiente de producao. Carregando o broker ndomod porém sem executar o daemon ndo2db consigo uma performance boa de service checks com quase 95% dos services sendo processados na janela de 5 min e com uma latência de check baixa. Importante ressaltar que todos os services são ativos (não passivos) com check_interval de 5 minutos. Ao executar o daemon ndo2db, onde o mesmo inicializa o socket unix e comeca as operacoes em banco de dados, percebo uma perda considerável de performance do service check com apenas 9% dos services sendo processados na janela de 5 min, latência alta de checks e o contador de iowait da CPU entre 90% e 100%. Services que deveriam ser processados pelo daemon do Nagios em 5 min são processados com delay de até 1 hora, o que inviabiliza a solucao como ferramenta de monitoracao. Como o MySQL está na mesma máquina, fiz o tunning nele (buffer, threads, etc), apliquei índices adicionais as tabelas e testei passando as tabelas do database nagios para o esquema blackhole. Desta forma o banco aceita conexões e operacoes (select, insert, delete, ...) porém não grava os dados em disco. O iowait continuou alto e a performance ruim. Não desconfio mais do banco de dados. Percebi que o daemon do ndo2db utiliza apenas 1 conexão com o banco de dados para fazer diversas operacoes por segundo, sendo que cada operacao aguarda o final da execucao anterior. O que particularmente acho ruim. Pergunta: alguém utiliza as facilidades do ndoutils com banco de dados em grande instalacoes do Nagios ( 1500 hosts 7000 services) e que não tenha estes problemas de performance para me dar uma luz ? As configuracoes do Nagios estão abaixo. Segui algumas recomendacoes de tunning para o Nagios do documento http://nagios.sourceforge.net/docs/3_0/tuning.html Obrigado. Cristiano Casado. ### Nagios Config ### log_file=/var/log/nagios/nagios.log object_cache_file=/var/nagios/objects.cache precached_object_file=/var/nagios/objects.precache resource_file=/etc/nagios/resource.cfg status_file=/var/nagios/status/status.dat status_update_interval=10 nagios_user=nagios nagios_group=nagios check_external_commands=1 command_check_interval=15s command_file=/var/nagios/rw/nagios.cmd external_command_buffer_slots=4096 lock_file=/var/run/nagios.pid temp_file=/var/nagios/nagios.tmp temp_path=/tmp event_broker_options=-1 broker_module=/usr/libexec/ndomod-3x.o
Re: [Nagios-users-br] Ndoutils e problemas de performance
Cristiano, Tenho um ambiente bem parecido, atualmente sao 4300 services e os mesmos problemas de performance acontecem com o ndoutil. Pelo que li, ele realmente eh sequencial. Quando eh necessario um reload o nagios ainda tem que atualizar todos os dados no mysql antes do nagvis ficar disponivel. Pelo jeito a solucao eh esperar uma alternativa ao ndoutil ou uma correçao do mesmo. A unica coisa que fiz e que voce nao fez ainda eh agendar manutencao diaria no bd: db=nagios echo USE $db; DELETE FROM nagios_servicechecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null echo USE $db; DELETE FROM nagios_hostchecks WHERE start_time = (NOW() - INTERVAL 1 DAY) | mysql $MYSQL_LOGIN /dev/null for db in $(echo SHOW DATABASES; | mysql $MYSQL_LOGIN | grep -v -e Database -e information_schema -e test) do TABLES=$(echo USE $db; SHOW TABLES; | mysql $MYSQL_LOGIN | grep -v Tables_in_) echo Switching to database $db for table in $TABLES do echo -n * Optimizing table $table ... echo USE $db; OPTIMIZE TABLE $table | mysql $MYSQL_LOGIN /dev/null echo done. done done As tabelas nagios_servicechecks e nagios_hostchecks sao apenas de historico e os dados antigos podem ser deletados ja que os logs ja tem a informacao. Se voce teve algum progresso, favor nos reportar. Atenciosamente, Leonardo Neves Bernardo Linux/Unix Specialist LPIC3 (core+mixed environment+security) + RHCT 2009/5/7 Cristiano Casado co.cas...@gmail.com Olá a todos. Estou utilizando em ambiente de laboratório o Nagios 3.0.6 com ndoutils 1.4b7 e MySQL 5.0 em uma máquina Linux CentOS 5.2 (2.6.18) x64 com 2GB ram e processador Intel Xeon 2.50GHz. Optei em utilizar o ndoutils para manter informacoes históricas de checks no banco de dados (tables nagios_servicechecks e nagios_hostcheks), assim como utilizar o NagVis para representacao gráfica das minhas redes. Os testes funcionais foram bons, porém cheguei ao ponto do projeto em que tive que fazer um benchmark com um número de 7.000 services, simulando o que vou encontrar em ambiente de producao. Carregando o broker ndomod porém sem executar o daemon ndo2db consigo uma performance boa de service checks com quase 95% dos services sendo processados na janela de 5 min e com uma latência de check baixa. Importante ressaltar que todos os services são ativos (não passivos) com check_interval de 5 minutos. Ao executar o daemon ndo2db, onde o mesmo inicializa o socket unix e comeca as operacoes em banco de dados, percebo uma perda considerável de performance do service check com apenas 9% dos services sendo processados na janela de 5 min, latência alta de checks e o contador de iowait da CPU entre 90% e 100%. Services que deveriam ser processados pelo daemon do Nagios em 5 min são processados com delay de até 1 hora, o que inviabiliza a solucao como ferramenta de monitoracao. Como o MySQL está na mesma máquina, fiz o tunning nele (buffer, threads, etc), apliquei índices adicionais as tabelas e testei passando as tabelas do database nagios para o esquema blackhole. Desta forma o banco aceita conexões e operacoes (select, insert, delete, ...) porém não grava os dados em disco. O iowait continuou alto e a performance ruim. Não desconfio mais do banco de dados. Percebi que o daemon do ndo2db utiliza apenas 1 conexão com o banco de dados para fazer diversas operacoes por segundo, sendo que cada operacao aguarda o final da execucao anterior. O que particularmente acho ruim. Pergunta: alguém utiliza as facilidades do ndoutils com banco de dados em grande instalacoes do Nagios ( 1500 hosts 7000 services) e que não tenha estes problemas de performance para me dar uma luz ? As configuracoes do Nagios estão abaixo. Segui algumas recomendacoes de tunning para o Nagios do documento http://nagios.sourceforge.net/docs/3_0/tuning.html Obrigado. Cristiano Casado. ### Nagios Config ### log_file=/var/log/nagios/nagios.log object_cache_file=/var/nagios/objects.cache precached_object_file=/var/nagios/objects.precache resource_file=/etc/nagios/resource.cfg status_file=/var/nagios/status/status.dat status_update_interval=10 nagios_user=nagios nagios_group=nagios check_external_commands=1 command_check_interval=15s command_file=/var/nagios/rw/nagios.cmd external_command_buffer_slots=4096 lock_file=/var/run/nagios.pid temp_file=/var/nagios/nagios.tmp temp_path=/tmp event_broker_options=-1 broker_module=/usr/libexec/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg log_rotation_method=d log_archive_path=/var/log/nagios/archives use_syslog=1 log_notifications=1 log_service_retries=1 log_host_retries=1 log_event_handlers=1 log_initial_states=0 log_external_commands=1 log_passive_checks=1 service_inter_check_delay_method=s max_service_check_spread=30 service_interleave_factor=s host_inter_check_delay_method=s max_host_check_spread=30
[Nagios-users-br] Ndoutils e problemas de performance
Olá a todos. Estou utilizando em ambiente de laboratório o Nagios 3.0.6 com ndoutils 1.4b7 e MySQL 5.0 em uma máquina Linux CentOS 5.2 (2.6.18) x64 com 2GB ram e processador Intel Xeon 2.50GHz. Optei em utilizar o ndoutils para manter informacoes históricas de checks no banco de dados (tables nagios_servicechecks e nagios_hostcheks), assim como utilizar o NagVis para representacao gráfica das minhas redes. Os testes funcionais foram bons, porém cheguei ao ponto do projeto em que tive que fazer um benchmark com um número de 7.000 services, simulando o que vou encontrar em ambiente de producao. Carregando o broker ndomod porém sem executar o daemon ndo2db consigo uma performance boa de service checks com quase 95% dos services sendo processados na janela de 5 min e com uma latência de check baixa. Importante ressaltar que todos os services são ativos (não passivos) com check_interval de 5 minutos. Ao executar o daemon ndo2db, onde o mesmo inicializa o socket unix e comeca as operacoes em banco de dados, percebo uma perda considerável de performance do service check com apenas 9% dos services sendo processados na janela de 5 min, latência alta de checks e o contador de iowait da CPU entre 90% e 100%. Services que deveriam ser processados pelo daemon do Nagios em 5 min são processados com delay de até 1 hora, o que inviabiliza a solucao como ferramenta de monitoracao. Como o MySQL está na mesma máquina, fiz o tunning nele (buffer, threads, etc), apliquei índices adicionais as tabelas e testei passando as tabelas do database nagios para o esquema blackhole. Desta forma o banco aceita conexões e operacoes (select, insert, delete, ...) porém não grava os dados em disco. O iowait continuou alto e a performance ruim. Não desconfio mais do banco de dados. Percebi que o daemon do ndo2db utiliza apenas 1 conexão com o banco de dados para fazer diversas operacoes por segundo, sendo que cada operacao aguarda o final da execucao anterior. O que particularmente acho ruim. Pergunta: alguém utiliza as facilidades do ndoutils com banco de dados em grande instalacoes do Nagios ( 1500 hosts 7000 services) e que não tenha estes problemas de performance para me dar uma luz ? As configuracoes do Nagios estão abaixo. Segui algumas recomendacoes de tunning para o Nagios do documento http://nagios.sourceforge.net/docs/3_0/tuning.html Obrigado. Cristiano Casado. ### Nagios Config ### log_file=/var/log/nagios/nagios.log object_cache_file=/var/nagios/objects.cache precached_object_file=/var/nagios/objects.precache resource_file=/etc/nagios/resource.cfg status_file=/var/nagios/status/status.dat status_update_interval=10 nagios_user=nagios nagios_group=nagios check_external_commands=1 command_check_interval=15s command_file=/var/nagios/rw/nagios.cmd external_command_buffer_slots=4096 lock_file=/var/run/nagios.pid temp_file=/var/nagios/nagios.tmp temp_path=/tmp event_broker_options=-1 broker_module=/usr/libexec/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg log_rotation_method=d log_archive_path=/var/log/nagios/archives use_syslog=1 log_notifications=1 log_service_retries=1 log_host_retries=1 log_event_handlers=1 log_initial_states=0 log_external_commands=1 log_passive_checks=1 service_inter_check_delay_method=s max_service_check_spread=30 service_interleave_factor=s host_inter_check_delay_method=s max_host_check_spread=30 max_concurrent_checks=0 check_result_reaper_frequency=5 max_check_result_reaper_time=5 check_result_path=/var/nagios/spool/checkresults max_check_result_file_age=3600 cached_host_check_horizon=30 cached_service_check_horizon=60 enable_predictive_host_dependency_checks=1 enable_predictive_service_dependency_checks=1 soft_state_dependencies=0 auto_reschedule_checks=0 auto_rescheduling_interval=30 auto_rescheduling_window=180 sleep_time=0.25 service_check_timeout=60 host_check_timeout=30 event_handler_timeout=30 notification_timeout=30 ocsp_timeout=5 perfdata_timeout=5 retain_state_information=1 state_retention_file=/var/nagios/retention.dat retention_update_interval=60 use_retained_program_state=1 use_retained_scheduling_info=1 retained_host_attribute_mask=0 retained_service_attribute_mask=0 retained_process_host_attribute_mask=0 retained_process_service_attribute_mask=0 retained_contact_host_attribute_mask=0 retained_contact_service_attribute_mask=0 interval_length=60 use_aggressive_host_checking=0 execute_service_checks=1 accept_passive_service_checks=1 execute_host_checks=1 accept_passive_host_checks=1 enable_notifications=1 enable_event_handlers=1 process_performance_data=0 obsess_over_services=0 obsess_over_hosts=0 translate_passive_host_checks=0 passive_host_checks_are_soft=0 check_for_orphaned_services=1 check_for_orphaned_hosts=1 check_service_freshness=1 service_freshness_check_interval=60 check_host_freshness=0 host_freshness_check_interval=60 additional_freshness_latency=15 enable_flap_detection=1 low_service_flap_threshold=5.0 high_service_flap_threshold=20.0 low_host_flap_threshold=5.0