Ndoutils e problemas de performance
Cristiano Casado <[email protected]>
| Newsgroups | gmane.network.nagios.user.brazil |
|---|---|
| Message-ID | <[email protected]> |
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 -- [email protected] mailing list https://lists.sourceforge.net/lists/listinfo/nagios-users-br Wiki: http://nagios-br.sf.net/wiki