From: Marcel <mi...@gm...> - 2009-06-18 20:42:46
|
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 <leo...@gm...> > 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 <leo...@gm...> > > > 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 <mi...@gm...> > > > > 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 <leo...@gm...> > >> > >> > 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....@gm...> > >> > > >> > > 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 > >> > > high_host_flap_threshold=20.0 > >> > > date_format=us > >> > > p1_file=/usr/bin/p1.pl > >> > > enable_embedded_perl=1 > >> > > use_embedded_perl_implicitly=1 > >> > > illegal_object_name_chars=`~!$%^&*|'"<>?,()= > >> > > illegal_macro_output_chars=`~$&|'"<> > >> > > use_regexp_matching=0 > >> > > use_true_regexp_matching=0 > >> > > admin_email=nagios@localhost > >> > > admin_pager=pagenagios@localhost > >> > > daemon_dumps_core=0 > >> > > use_large_installation_tweaks=1 > >> > > enable_environment_macros=0 > >> > > debug_level=0 > >> > > debug_verbosity=1 > >> > > debug_file=/var/log/nagios/nagios.debug > >> > > max_debug_file_size=1000000 > >> > > cfg_file=/etc/nagiosql/commands.cfg > >> > > cfg_file=/etc/nagiosql/contactgroups.cfg > >> > > cfg_file=/etc/nagiosql/contacts.cfg > >> > > cfg_file=/etc/nagiosql/contacttemplates.cfg > >> > > cfg_file=/etc/nagiosql/hostdependencies.cfg > >> > > cfg_file=/etc/nagiosql/hostescalations.cfg > >> > > cfg_file=/etc/nagiosql/hostextinfo.cfg > >> > > cfg_file=/etc/nagiosql/hostgroups.cfg > >> > > cfg_dir=/etc/nagiosql/hosts > >> > > cfg_file=/etc/nagiosql/hosttemplates.cfg > >> > > cfg_file=/etc/nagiosql/servicedependencies.cfg > >> > > cfg_file=/etc/nagiosql/serviceescalations.cfg > >> > > cfg_file=/etc/nagiosql/serviceextinfo.cfg > >> > > cfg_file=/etc/nagiosql/servicegroups.cfg > >> > > cfg_dir=/etc/nagiosql/services > >> > > cfg_file=/etc/nagiosql/servicetemplates.cfg > >> > > cfg_file=/etc/nagiosql/timeperiods.cfg > >> > > > >> > > > >> > > >> > ------------------------------------------------------------------------------ > >> > > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! > >> Your > >> > > production scanning environment may not be a perfect world - but > >> thanks > >> > to > >> > > Kodak, there's a perfect scanner to get the job done! With the NEW > >> KODAK > >> > > i700 > >> > > Series Scanner you'll get full speed at 300 dpi even with all image > >> > > processing features enabled. http://p.sf.net/sfu/kodak-com > >> > > -- > >> > > Nag...@li... mailing list > >> > > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > >> > > Wiki: http://nagios-br.sf.net/wiki > >> > > > >> > > >> > > >> > ------------------------------------------------------------------------------ > >> > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! > Your > >> > production scanning environment may not be a perfect world - but > thanks > >> to > >> > Kodak, there's a perfect scanner to get the job done! With the NEW > KODAK > >> > i700 > >> > Series Scanner you'll get full speed at 300 dpi even with all image > >> > processing features enabled. http://p.sf.net/sfu/kodak-com > >> > -- > >> > Nag...@li... mailing list > >> > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > >> > Wiki: http://nagios-br.sf.net/wiki > >> > > >> > >> > ------------------------------------------------------------------------------ > >> Crystal Reports - New Free Runtime and 30 Day Trial > >> Check out the new simplified licensing option that enables > >> unlimited royalty-free distribution of the report engine > >> for externally facing server and web deployment. > >> http://p.sf.net/sfu/businessobjects > >> -- > >> Nag...@li... mailing list > >> https://lists.sourceforge.net/lists/listinfo/nagios-users-br > >> Wiki: http://nagios-br.sf.net/wiki > >> > > > > > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > -- > Nag...@li... mailing list > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > Wiki: http://nagios-br.sf.net/wiki > |