Установка Nagios описана здесь Установка Nagios на Centos
Настройка Nagios и мониторинга локального Nagios-хоста
(сам себя мониторит Nagios-хост)
1 |
# systemctl stop nagios |
1 |
# cd /usr/local/nagios/etc/ |
1 |
# cp cgi.cfg cgi.cfg~ |
1 |
# cp nagios.cfg nagios.cfg~ |
1 |
# cp resource.cfg resource.cfg~ |
1 |
# mv objects objects~ |
1 |
# nano cgi.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
main_config_file=/usr/local/nagios/etc/nagios.cfg physical_html_path=/usr/local/nagios/share url_html_path=/nagios show_context_help=1 use_pending_states=1 use_authentication=1 use_ssl_authentication=0 #default_user_name=guest authorized_for_system_information=nagiosadmin,myname authorized_for_configuration_information=nagiosadmin,myname authorized_for_system_commands=nagiosadmin,myname authorized_for_all_services=nagiosadmin,myname authorized_for_all_hosts=nagiosadmin,myname authorized_for_all_service_commands=nagiosadmin,myname authorized_for_all_host_commands=nagiosadmin,myname #authorized_for_read_only=user1,user2 #statusmap_background_image=smbackground.gd2 #color_transparency_index_r=255 #color_transparency_index_g=255 #color_transparency_index_b=255 default_statusmap_layout=5 default_statuswrl_layout=4 #statuswrl_include=myworld.wrl ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ refresh_rate=15 result_limit=0 escape_html_tags=1 #host_unreachable_sound=hostdown.wav #host_down_sound=hostdown.wav #service_critical_sound=critical.wav #service_warning_sound=warning.wav #service_unknown_sound=warning.wav #normal_sound=noproblem.wav action_url_target=_blank notes_url_target=_blank lock_author_names=1 #enable_splunk_integration=1 #splunk_url=http://127.0.0.1:8000/ navbar_search_for_addresses=1 navbar_search_for_aliases=1 #ack_no_sticky=0 #ack_no_send=0 |
1 |
# nano resource.cfg |
1 |
$USER1$=/usr/local/nagios/libexec |
1 |
# nano nagios.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
log_file=/usr/local/nagios/var/nagios.log cfg_dir=/usr/local/nagios/etc/commands.d cfg_dir=/usr/local/nagios/etc/contacts.d cfg_dir=/usr/local/nagios/etc/hosts.d cfg_dir=/usr/local/nagios/etc/services.d cfg_dir=/usr/local/nagios/etc/misc.d object_cache_file=/usr/local/nagios/var/objects.cache precached_object_file=/usr/local/nagios/var/objects.precache resource_file=/usr/local/nagios/etc/resource.cfg status_file=/usr/local/nagios/var/status.dat status_update_interval=10 nagios_user=nagios nagios_group=nagios check_external_commands=1 command_file=/usr/local/nagios/var/rw/nagios.cmd #query_socket=/usr/local/nagios/var/rw/nagios.qh lock_file=/usr/local/nagios/var/nagios.lock temp_file=/usr/local/nagios/var/nagios.tmp temp_path=/tmp event_broker_options=-1 #broker_module=/somewhere/module1.o #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0 log_rotation_method=d log_archive_path=/usr/local/nagios/var/archives use_syslog=1 log_notifications=1 log_service_retries=1 log_host_retries=1 log_event_handlers=1 log_initial_states=1 log_current_states=1 log_external_commands=1 log_passive_checks=1 #global_host_event_handler=somecommand #global_service_event_handler=somecommand 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=2 max_check_result_reaper_time=5 check_result_path=/usr/local/nagios/var/spool/checkresults max_check_result_file_age=3600 cached_host_check_horizon=15 cached_service_check_horizon=15 enable_predictive_host_dependency_checks=1 enable_predictive_service_dependency_checks=1 soft_state_dependencies=1 #time_change_threshold= auto_reschedule_checks=0 auto_rescheduling_interval=30 auto_rescheduling_window=180 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=/usr/local/nagios/var/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 #check_for_updates=1 #bare_update_check=0 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 #host_perfdata_command=process-host-perfdata #service_perfdata_command=process-service-perfdata #host_perfdata_file=/usr/local/nagios/var/host-perfdata #service_perfdata_file=/usr/local/nagios/var/service-perfdata #host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIO$ #service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVIC$ #host_perfdata_file_mode=a #service_perfdata_file_mode=a #host_perfdata_file_processing_interval=0 #service_perfdata_file_processing_interval=0 #host_perfdata_file_processing_command=process-host-perfdata-file #service_perfdata_file_processing_command=process-service-perfdata-file #host_perfdata_process_empty_results=1 #service_perfdata_process_empty_results=1 obsess_over_services=0 #ocsp_command=somecommand obsess_over_hosts=0 #ochp_command=somecommand 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 service_check_timeout_state=c check_host_freshness=0 host_freshness_check_interval=60 additional_freshness_latency=15 enable_flap_detection=0 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=iso8601 #use_timezone=US/Mountain #use_timezone=Australia/Brisbane illegal_object_name_chars=`~!$%^&*|'"<>?,()= illegal_macro_output_chars=`~$&|'"<> use_regexp_matching=0 use_true_regexp_matching=0 admin_email=my@email admin_pager=my@email daemon_dumps_core=0 use_large_installation_tweaks=0 enable_environment_macros=1 #free_child_process_memory=1 #child_processes_fork_twice=1 debug_level=0 debug_verbosity=1 debug_file=/usr/local/nagios/var/nagios.debug max_debug_file_size=10000000 allow_empty_hostgroup_assignment=0 #check_workers=3 host_down_disable_service_checks=1 |
1 |
# mkdir -p /usr/local/nagios/etc/{commands.d,contacts.d,hosts.d,services.d,misc.d} |
1 |
# chown -R nagios:nagios commands.d contacts.d hosts.d misc.d services.d |
1 |
# chmod -R 4775 commands.d contacts.d hosts.d misc.d services.d |
1 |
# chmod 600 resource.cfg |
1 |
# cp objects~/commands.cfg commands.d/notify.cfg |
1 |
# nano commands.d/notify.cfg |
1 2 3 4 5 6 7 8 9 10 11 |
# 'notify-host-email' command definition define command{ command_name notify-host-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ } # 'notify-service-email' command definition define command{ command_name notify-service-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ } |
1 |
# cp objects~/timeperiods.cfg misc.d/ |
1 |
# nano misc.d/timeperiods.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 } # 'workhours' timeperiod definition define timeperiod{ timeperiod_name workhours alias Normal Work Hours monday 09:00-18:00 tuesday 09:00-18:00 wednesday 09:00-18:00 thursday 09:00-18:00 friday 09:00-18:00 } # not 'workhours' timeperiod definition define timeperiod{ timeperiod_name non-workhours alias Normal Work Off Hours monday 00:00-09:00,18:00-24:00 tuesday 00:00-09:00,18:00-24:00 wednesday 00:00-09:00,18:00-24:00 thursday 00:00-09:00,18:00-24:00 friday 00:00-09:00,18:00-24:00 saturday 00:00-24:00 sunday 00:00-24:00 } # 'none' timeperiod definition define timeperiod{ timeperiod_name none alias No Time Is A Good Time } |
1 |
# nano contacts.d/contacts-template.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
define contact { name contact-template-generic host_notifications_enabled 1 service_notifications_enabled 1 host_notification_period 24x7 service_notification_period 24x7 host_notification_options d,u,r service_notification_options w,u,c,r can_submit_commands 1 retain_status_information 1 retain_nonstatus_information 1 register 0 } define contact { name contact-template-email use contact-template-generic host_notification_commands notify-host-email service_notification_commands notify-service-email register 0 } |
1 |
# nano contacts.d/contacts.cfg |
1 2 3 4 5 6 |
define contact { contact_name myname alias MyName MySurname email my@email use contact-template-email } |
1 |
# nano contacts.d/contactgroups-administrators.cfg |
1 2 3 4 5 |
define contactgroup { contactgroup_name all-admins alias All Administrators members myname } |
1 |
# nano hosts.d/host-template-generic.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
define host { name host-template-generic check_command check-host-alive initial_state u max_check_attempts 3 check_interval 1 retry_interval 1 active_checks_enabled 1 passive_checks_enabled 1 check_period 24x7 obsess_over_host 1 check_freshness 1 event_handler_enabled 1 flap_detection_enabled 0 # flap_detection_options u process_perf_data 0 retain_status_information 1 retain_nonstatus_information 1 notification_interval 0 first_notification_delay 3 notification_period 24x7 notification_options d,u,r,f,s notifications_enabled 1 register 0 } |
1 |
# nano hosts.d/host-template-all-generic.cfg |
1 2 3 4 5 6 7 |
define host { name host-template-all-generic use host-template-generic contact_groups all-admins notification_options d,r,s register 0 } |
1 |
# nano hosts.d/hosts-myproject.cfg |
1 2 3 4 5 6 7 |
define host { host_name server.mydomain.com alias server.mydomain.com display_name server.mydomain.com address 127.0.0.1 use host-template-all-generic } |
1 |
# nano hosts.d/hostgroups-myproject.cfg |
1 2 3 4 5 |
define hostgroup { hostgroup_name hostgroup-myproject-all-servers alias All Myproject servers members server.mydomain.com } |
1 |
# nano services.d/service-template-generic.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
define service { name service-template-generic is_volatile 0 initial_state u max_check_attempts 3 check_interval 1 retry_interval 1 active_checks_enabled 1 passive_checks_enabled 1 check_period 24x7 check_freshness 1 event_handler_enabled 1 flap_detection_enabled 0 # flap_detection_options u process_perf_data 0 retain_status_information 1 retain_nonstatus_information 1 notification_interval 0 first_notification_delay 3 notification_period 24x7 notification_options w,u,c,r,f,s notifications_enabled 1 register 0 } |
1 |
# nano services.d/service-template-all-generic.cfg |
1 2 3 4 5 6 |
define service { name service-template-all-generic use service-template-generic contact_groups all-admins register 0 } |
1 |
# nano services.d/services-myproject.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
define service { hostgroup_name hostgroup-myproject-all-servers service_description Ping max_check_attempts 10 check_command check-ping!500!1000 use service-template-all-generic } define service{ host_name server.mydomain.com service_description Load check_command check-local-load!5,4,3!7,6,5 use service-template-all-generic } define service{ host_name server.mydomain.com service_description Disk / check_command check-local-disk!20%!10%!/ use service-template-all-generic } define service{ host_name server.mydomain.com service_description Swap usage check_command check-local-swap!10%!5%! use service-template-all-generic } define service{ host_name server.mydomain.com service_description Memory usage check_command check-local-memory!5!3! use service-template-all-generic } define service { host_name server.mydomain.com service_description Ssh check_command check-ssh!OpenSSH_6.6.1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Proftpd processes check_command check-local-procs!proftpd!1:5!1:7 use service-template-all-generic } define service { host_name server.mydomain.com service_description MySQL processes check_command check-local-procs!mysqld!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description SNMPD processes check_command check-local-procs!snmpd!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Sendmail processes check_command check-local-procs!sendmail!2:10!2:20 use service-template-all-generic } define service { host_name server.mydomain.com service_description SVN processes check_command check-local-procs!svnserve!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description SpamAssassin processes check_command check-local-procs!spamd!3:3!3:3 use service-template-all-generic } define service { host_name server.mydomain.com service_description Spamass-milter processes check_command check-local-procs!spamass-milter!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Nginx processes check_command check-local-procs!nginx!3:3!3:3 use service-template-all-generic } define service { host_name server.mydomain.com service_description Memcached processes check_command check-local-procs!memcached!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description NTP processes check_command check-local-procs!ntpd!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Dovecot processes check_command check-local-procs!dovecot!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Clamav processes check_command check-local-procs!clamd!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Clamav-milter processes check_command check-local-procs!clamav-milter!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Redis processes check_command check-local-procs!redis-server!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Rsyslog processes check_command check-local-procs!rsyslogd!1:1!1:1 use service-template-all-generic } define service { host_name server.mydomain.com service_description Sasl processes check_command check-local-procs!saslauthd!5:5!5:5 use service-template-all-generic } define service { host_name server.mydomain.com service_description Cron processes check_command check-local-procs!crond!1:5!1:10 use service-template-all-generic } define service { host_name server.mydomain.com service_description PHP-FPM processes pool wordpress check_command check-local-procs-cmd-args-count!php-fpm!wordpress!5:10!5:10 use service-template-all-generic } define service { host_name server.mydomain.com service_description PHP-FPM processes pool joomla check_command check-local-procs-cmd-args-count!php-fpm!joomla!5:10!5:10 use service-template-all-generic } define service { host_name server.mydomain.com service_description PHP-FPM processes pool kamaok check_command check-local-procs-cmd-args-count!php-fpm!kamaok!5:10!5:10 use service-template-all-generic } define service { host_name server.mydomain.com service_description PHP-FPM processes pool nagios check_command check-local-procs-cmd-args-count!php-fpm!nagios!5:10!5:10 use service-template-all-generic } define service { host_name server.mydomain.com service_description PHP-FPM processes pool www check_command check-local-procs-cmd-args-count!php-fpm!www!5:15!5:20 use service-template-all-generic } define service { host_name server.mydomain.com service_description Numbers processes check_command check-local-procs-count!100:350!100:450 use service-template-all-generic } define service { host_name server.mydomain.com service_description Search title at wordpress.us check_command check-http-vhost!80!'Just another WordPress site'!/!5!10!wordpress.us!GET use service-template-all-generic } define service { host_name server.mydomain.com service_description Search title at joomla.us check_command check-http-vhost!80!'Home'!/!5!10!joomla.us!GET use service-template-all-generic } define service { host_name server.mydomain.com service_description Sendmail Mail queue check_command check-local-mailq!sendmail!15!25 use service-template-all-generic } define service { host_name server.mydomain.com service_description Nagios status check_command check-local-nagios-status!2!/usr/local/nagios/var/status.dat!/usr/local/nagios/bin/nagios use service-template-all-generic } |
1 |
# chown -R nagios:nagios commands.d hosts.d misc.d services.d contacts.d |
Описание команд приведено в конце статьи
Скрипт для мониторинга памяти скачиваем здесь и размещаем его в каталоге с плагинами под именем check_memory
(например, /usr/lib64/nagios/plugins/check_memory)
1 |
# chmod 755 /usr/lib64/nagios/plugins/check_memory |
Настройка удаленного Linux-хоста(клиента)
1.Установка необходимых пакетов на клиенте
Centos
1 |
# yum install nagios-nrpe nagios-plugins-nrpe nagios-plugins-all |
Ubuntu
1 |
# apt-get install nagios-nrpe-server nagios-plugins nagios-plugins-basic nagios-plugins-extra |
2.Настройка NRPE
1 |
# cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg~ |
1 |
# nano /etc/nagios/nrpe.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
log_facility=daemon pid_file=/var/run/nrpe/nrpe.pid server_port=5666 #server_address=127.0.0.1 nrpe_user=nagios nrpe_group=nagios allowed_hosts=127.0.0.1,<IP-address-Nagios-server> dont_blame_nrpe=1 allow_bash_command_substitution=0 # command_prefix=/usr/bin/sudo debug=0 command_timeout=30 connection_timeout=30 #allow_weak_random_seed=1 #include=<somefile.cfg> command[check-users]=/usr/lib64/nagios/plugins/check_users -w $ARG1$ -c $ARG2$ command[check-load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$ command[check-disk]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ command[check-procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ command[check-procs-total-count]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ command[check-procs-count]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C $ARG3$ command[check-procs-user-count]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -u $ARG3$ command[check-procs-cmd-args-count]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C $ARG3$ -a $ARG4$ command[check-procs-args-count]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -a $ARG3$ command[check-mailq]=/usr/lib64/nagios/plugins/check_mailq -M $ARG1$ -w $ARG2$ -c $ARG3$ command[check-memory]=/usr/lib64/nagios/plugins/check_memory -f -w $ARG1$ -c $ARG2$ command[check-swap]=/usr/lib64/nagios/plugins/check_swap -w $ARG1$ -c $ARG2$ #include_dir=/etc/nrpe.d/ |
Centos
1 |
# systemctl start nrpe |
1 |
# systemctl enable nrpe |
Ubuntu
1 |
# /etc/init.d/nagios-nrpe-server start |
1 |
# update-rc.d nagios-nrpe-server defaults |
1 |
# ps ax | grep [n]rpe |
1 |
2797 ? Ss 0:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg –d |
3.Настройка iptables
1 |
# iptables -N nrpe |
1 |
# iptables -A INPUT -p tcp --dport 5666 -j nrpe |
1 |
# iptables -A nrpe -s <IP-address-Nagios-server> -j ACCEPT |
1 |
# iptables -A nrpe -j LOG --log-prefix "input nrpe: " |
1 |
# iptables -A nrpe -j DROP |
1 |
# service iptables save |
4.Установка nrpe плагина На Nagios-сервере
1 |
# yum install nagios-plugins-nrpe |
5.Добавление удаленного Linux-хоста на мониторинг
На Nagios-сервере добавляем клиентский хост и его службы на мониторинг
1 |
# nano /usr/local/nagios/etc/hosts.d/hosts-myproject.cfg |
1 2 3 4 5 6 7 8 |
……………… define host { host_name client.mydomain.com alias client.mydomain.com display_name client.mydomain.com address <IP-address-client-server> use host-template-all-generic } |
1 |
# nano /usr/local/nagios/etc/hosts.d/hostgroups-myproject.cfg |
1 2 3 4 5 6 7 8 9 10 |
define hostgroup { hostgroup_name hostgroup-myproject-all-servers alias All Myproject servers members server.mydomain.com, client.mydomain.com } define hostgroup { hostgroup_name hostgroup-myproject-remote-servers alias Remote Myproject servers members client.mydomain.com } |
1 |
# nano /usr/local/nagios/etc/services.d/services-myproject.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
define service { host_name client.mydomain.com service_description Ssh check_command check-ssh!OpenSSH_5.3 use service-template-all-generic } define service { host_name client.mydomain.com service_description NRPE check_command check-nrpe-alive use service-template-all-generic } define service { host_name client.mydomain.com service_description Load check_command check-nrpe-cmd!check-load!6,5,4!7,6,5 use service-template-all-generic } define service { host_name client.mydomain.com service_description Memory usage check_command check-memory!0.2!0.1 use service-template-all-generic } define service{ host_name client.mydomain.com service_description Swap usage check_command check-swap!10%!5%! use service-template-all-generic } define service { host_name client.mydomain.com service_description Disk / check_command check-nrpe-cmd!check-disk!50%!30%!/ use service-template-all-generic } define service { host_name client.mydomain.com service_description PHP-FPM processes check_command check-procs!php-fpm!5:70!5:80 use service-template-all-generic } define service { host_name client.mydomain.com service_description PHP-FPM processes pool kamaok check_command check-procs-cmd-args!php-fpm!kamaok!1:10!1:20 use service-template-all-generic } define service { host_name client.mydomain.com service_description PHP-FPM processes pool nagios check_command check-procs-cmd-args!php-fpm!nagios!1:6!1:10 use service-template-all-generic } define service { host_name client.mydomain.com service_description PHP-FPM processes pool www check_command check-procs-cmd-args!php-fpm!www!1:6!1:10 use service-template-all-generic } define service { host_name client.mydomain.com service_description Numbers of processes check_command check-procs-total!200!300 use service-template-all-generic } define service { host_name client.mydomain.com service_description MySQL processes check_command check-procs!mysqld!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Nginx processes check_command check-procs!nginx!2:2!2:2 use service-template-all-generic } define service { host_name client.mydomain.com service_description Cron processes check_command check-procs!crond!1:5!1:10 use service-template-all-generic } define service { host_name client.mydomain.com service_description Monit processes check_command check-procs!monit!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Postfix processes check_command check-procs-user!postfix!1:10!1:20 use service-template-all-generic } define service { host_name client.mydomain.com service_description Named processes check_command check-procs-user!named!1:1!1:1 use service-template-all-generic } host_name client.mydomain.com service_description Munin processes check_command check-procs!munin-node!1:3!1:3 use service-template-all-generic } define service { host_name client.mydomain.com service_description NTP processes check_command check-procs!ntpd!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Rsyslog processes check_command check-procs!rsyslogd!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Openvpn processes check_command check-procs!openvpn!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Sasl processes check_command check-procs!saslauthd!5:5!5:5 use service-template-all-generic } define service { host_name client.mydomain.com service_description Dovecot processes check_command check-procs!dovecot!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description SNMPD processes check_command check-procs!snmpd!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description DKIM processes check_command check-procs-user!dkim-milter!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Fail2ban processes check_command check-procs!fail2ban-server!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Memcached processes check_command check-procs!memcached!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Redis processes check_command check-procs!redis-server!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Atop processes check_command check-procs!atop!1:1!1:1 use service-template-all-generic } define service { host_name client.mydomain.com service_description Postfix Mail queue check_command check-mailq!postfix!15!20 use service-template-all-generic } define service { host_name client.mydomain.com service_description Search title at mysitename check_command check-http-vhost!80!'mystring'!/!3!7!mysitename!GET use service-template-all-generic } |
Описание команд
1 |
# nano /usr/local/nagios/etc/commands.d/check-disk.cfg |
1 2 3 4 |
define command{ command_name check-local-disk command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-host-alive.cfg |
1 2 3 4 |
define command { command_name check-host-alive command_line $USER1$/check_fping -H $HOSTADDRESS$ -n 10 -i 50 -T 150 -w15000,51% -c 15000,101% } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-http.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
define command { command_name check-http command_line $USER1$/check_http -4 -t 30 -I $HOSTADDRESS$ -H $HOSTNAME$ -p $ARG1$ -s $ARG2$ -u $ARG3$ -w $ARG4$ -c $ARG5$ $ARG6$ } define command { command_name check-http-load-time command_line $USER1$/check_http -4 -t 30 -I $HOSTADDRESS$ -p $ARG1$ -u $ARG2$ -H $ARG3$ -w $ARG4$ -c $ARG5$ } define command { command_name check-http-redirect command_line $USER1$/check_http -f follow -4 -t 30 -I $HOSTADDRESS$ -H $HOSTNAME$ -r $ARG1$ -u $ARG2$ -w $ARG3$ -c $ARG4$ } define command { command_name check-http-rear command_line $USER1$/check_http -4 -t 30 -I $_HOSTINTADDRESS$ -H $ARG6$ -p $ARG1$ -s $ARG2$ -u $ARG3$ -w $ARG4$ -c $ARG5$ } define command { command_name check-https command_line $USER1$/check_http -4 -t 30 -S -I $HOSTADDRESS$ -H $HOSTNAME$ -s $ARG1$ -u $ARG2$ -w $ARG3$ -c $ARG4$ } define command { command_name check-https-rear command_line $USER1$/check_http -4 -t 30 -S -p 8443 -I $_HOSTINTADDRESS$ -H $ARG5$ -s $ARG1$ -u $ARG2$ -w $ARG3$ -c $ARG4$ } define command { command_name check-remote-console command_line $USER1$/check_http -4 -w 15 -c 30 -t 30 -S -s '' -f follow -I $_HOSTKVMADDRESS$ -u $ARG1$ } define command { command_name check-http-vhost command_line $USER1$/check_http -4 -t 30 -I $HOSTADDRESS$ -p $ARG1$ -s $ARG2$ -u $ARG3$ -w $ARG4$ -c $ARG5$ -H $ARG6$ -j $ARG7$ } define command { command_name check-http-vhost-nc command_line $USER1$/check_http -4 -t 30 -I $HOSTADDRESS$ -p $ARG1$ -s $ARG2$ -u $ARG3$ -w $ARG4$ -c $ARG5$ -H $ARG6$ -j $ARG7$ -N } define command { command_name check-http-imagecheck command_line $USER1$/check_http -4 -t 30 -I $HOSTADDRESS$ -p $ARG1$ -e 200,301,302 -u $ARG2$ -w $ARG3$ -c $ARG4$ -H $ARG5$ -j GET } define command { command_name check-http-vhost-post command_line $USER1$/check_http -4 -t 30 -I $HOSTADDRESS$ -p $ARG1$ -e 200,301,302 -u $ARG2$ -w $ARG3$ -c $ARG4$ -H $ARG5$ -j POST -P $ARG6$ -s $ARG7$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-load.cfg |
1 2 3 4 |
define command{ command_name check-local-load command_line $USER1$/check_load -w $ARG1$ -c $ARG2$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-mailq.cfg |
1 2 3 4 5 6 7 8 9 |
define command { command_name check-mailq command_line $USER1$/check_nrpe -t 30 -H $HOSTADDRESS$ -c check-mailq -a $ARG1$ $ARG2$ $ARG3$ } define command { command_name check-local-mailq command_line $USER1$/check_mailq -t 30 -M $ARG1$ -w $ARG2$ -c $ARG3$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-memory.cfg |
1 2 3 4 5 6 7 8 9 |
define command { command_name check-memory command_line $USER1$/check_nrpe -t 30 -H $HOSTADDRESS$ -c check-memory -a $ARG1$ $ARG2$ } define command { command_name check-local-memory command_line $USER1$/check_memory -f -w $ARG1$ -c $ARG2$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-nagios.cfg |
1 2 3 4 |
define command { command_name check-local-nagios-status command_line $USER1$/check_nagios -t 15 -e $ARG1$ -F $ARG2$ -C $ARG3$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-nrpe-alive.cfg |
1 2 3 4 |
define command { command_name check-nrpe-alive command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 15 } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-nrpe-cmd.cfg |
1 2 3 4 |
define command { command_name check-nrpe-cmd command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 15 -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ $ARG7$ $ARG8$ $ARG9$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-ping.cfg |
1 2 3 4 |
define command { command_name check-ping command_line $USER1$/check_ping -H $HOSTADDRESS$ -p 10 -t 15 -w $ARG1$.0,101% -c $ARG2$.0,101% } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-procs.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
define command { command_name check-procs-total command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 30 -c check-procs-total-count -a $ARG1$ $ARG2$ } define command { command_name check-procs command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 30 -c check-procs-count -a $ARG2$ $ARG3$ $ARG1$ } define command { command_name check-procs-user command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 30 -c check-procs-user-count -a $ARG2$ $ARG3$ $ARG1$ } define command { command_name check-procs-args command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 30 -c check-procs-args-count -a $ARG2$ $ARG3$ $ARG1$ } define command { command_name check-procs-cmd-args command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 30 -c check-procs-cmd-args-count -a $ARG3$ $ARG4$ $ARG1$ $ARG2$ } define command { command_name check-local-procs command_line $USER1$/check_procs -C $ARG1$ -w $ARG2$ -c $ARG3$ } define command { command_name check-local-procs-cmd-args-count command_line $USER1$/check_procs -C $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ } define command { command_name check-local-procs-user-count command_line $USER1$/check_procs -u $ARG1$ -w $ARG2$ -c $ARG3$ } define command { command_name check-local-procs-count command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-ssh.cfg |
1 2 3 4 |
define command { command_name check-ssh command_line $USER1$/check_ssh -t 15 -4 -p 2200 -r $ARG1$ $HOSTADDRESS$ } |
1 |
# nano /usr/local/nagios/etc/commands.d/check-swap.cfg |
1 2 3 4 5 6 7 8 9 10 |
define command { command_name check-swap command_line $USER1$/check_nrpe -t 30 -H $HOSTADDRESS$ -c check-swap -a $ARG1$ $ARG2$ } define command { command_name check-local-swap command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$ } |