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 > 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=nag...@localhost > admin_pager=pagenag...@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 > -- > Nagios-users-br@lists.sourceforge.net 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 -- Nagios-users-br@lists.sourceforge.net mailing list https://lists.sourceforge.net/lists/listinfo/nagios-users-br Wiki: http://nagios-br.sf.net/wiki