zoukankan      html  css  js  c++  java
  • 监控系统-nagios

    https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/

    install

    yum -y install nagios-4.1.0rc1-2.el6.x86_64.rpm
    yum -y install nagios-plugins-icmp
    
    htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
    

    /etc/nagios/nagios.cfg

    # nagios.cfg
    cfg_dir=/etc/nagios/config
    
    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.dat
    status_update_interval=10
    
    nagios_user=nagios
    nagios_group=nagios
    check_external_commands=1
    
    command_file=/var/nagios/rw/nagios.cmd
    lock_file=/var/nagios/nagios.pid
    temp_file=/var/nagios/nagios.tmp
    temp_path=/tmp
    event_broker_options=-1
    
    log_rotation_method=d
    log_file=/var/log/nagios/nagios.log
    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_current_states=1
    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=10
    max_check_result_reaper_time=30
    check_result_path=/var/nagios/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=0
    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=/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
    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
    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
    service_check_timeout_state=c
    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
    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=0
    enable_environment_macros=0
    debug_level=0
    debug_verbosity=1
    debug_file=/var/log/nagios/nagios.debug
    max_debug_file_size=1000000
    allow_empty_hostgroup_assignment=0
    

    /etc/nagios/config/commands.cfg

    # commands.cfg
    
    define command  {
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****
    
    Notification Type: $NOTIFICATIONTYPE$
    Host: $HOSTNAME$
    State: $HOSTSTATE$
    Address: $HOSTADDRESS$
    Info: $HOSTOUTPUT$
    
    Date/Time: $LONGDATETIME$
    " | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
    }
    
    define command  {
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****
    
    Notification Type: $NOTIFICATIONTYPE$
    
    Service: $SERVICEDESC$
    Host: $HOSTALIAS$
    Address: $HOSTADDRESS$
    State: $SERVICESTATE$
    
    Date/Time: $LONGDATETIME$
    
    Additional Info:
    
    $SERVICEOUTPUT$
    " | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
    }
    
    define command  {
        command_name    process-host-perfdata
        command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$	$HOSTNAME$	$HOSTSTATE$	$HOSTATTEMPT$	$HOSTSTATETYPE$	$HOSTEXECUTIONTIME$	$HOSTOUTPUT$	$HOSTPERFDATA$
    " >> /var/nagios/host-perfdata.out
    }
    
    define command  {
        command_name    process-service-perfdata
        command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$	$HOSTNAME$	$SERVICEDESC$	$SERVICESTATE$	$SERVICEATTEMPT$	$SERVICESTATETYPE$	$SERVICEEXECUTIONTIME$	$SERVICELATENCY$	$SERVICEOUTPUT$	$SERVICEPERFDATA$
    " >> /var/nagios/service-perfdata.out
    }
    
    define command {
        command_name    check-host-alive
        command_line    $USER1$/check_icmp -H $HOSTADDRESS$ -w 500.000ms,80% -c 500.000ms,80% -n 3
    }
    
    define command {
        command_name    check_icmp
        command_line    $USER1$/check_icmp -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -n 3
    }
    

    /etc/nagios/config/timeperiods.cfg

    # timeperiods.cfg
    
    define timeperiod {
        timeperiod_name workday
        alias           workday
        monday          9:00-18:00     
        tuesday         9:00-18:00
        wednesday       9:00-18:00
        thursday        9:00-18:00
        friday          9:00-18:00
    }
    
    define timeperiod {
        timeperiod_name weekend
        alias           weekend
        saturday        0:00-24:00
        sunday          0:00-24:00
    }
    
    define timeperiod {
        timeperiod_name 7x24
        alias           7x24
        monday          0:00-24:00
        tuesday         0:00-24:00
        wednesday       0:00-24:00
        thursday        0:00-24:00
        friday          0:00-24:00
        saturday        0:00-24:00
        sunday          0:00-24:00
    }
    

    /etc/nagios/config/contacts.cfg

    # contacts.cfg
    
    define contact {
        contact_name                    admin
        alias                           admin
        email                           admin@local
        contactgroups                   admin
        host_notification_period        7x24
        service_notification_period     7x24
        host_notification_options       d,r
        service_notification_options    c,r
        host_notification_commands      notify-host-by-email
        service_notification_commands   notify-service-by-email
    }
    
    define contact {
        contact_name                    monitor
        alias                           monitor
        email                           monitor@local
        contactgroups                   admin
        host_notification_period        7x24
        service_notification_period     7x24
        host_notification_options       d,r
        service_notification_options    c,r
        host_notification_commands      notify-host-by-email
        service_notification_commands   notify-service-by-email
    }
    

    /etc/nagios/config/contactgroups.cfg

    # contactgroups.cfg
    
    define contactgroup {
        contactgroup_name   admin
        alias               admin
        members             admin,monitor
    }
    

    /etc/nagios/config/templates.cfg

    # templates.cfg
    
    define host {
        name                    generic-host
        check_command           check-host-alive
        check_interval          1
        retry_interval          1
        max_check_attempts      2
        check_period            7x24
        contacts                admin
        contact_groups          admin
        register                0
    }
    
    define service {
        name                    generic-service
        check_interval          1
        retry_interval          1
        max_check_attempts      2
        check_period            7x24
        contacts                admin
        contact_groups          admin
        register                0
    }
    
    define host {
        name                    host-notice-off
        notifications_enabled   0
        register                0
    }
    
    define host {
        name                    host-notice-on
        notifications_enabled   1
        notification_interval   10 
        notification_period     7x24
        notification_options    d,r
        register                0
    }
    
    define service {
        name                    service-notice-off
        notifications_enabled   0
        register                0
    }
    
    define service {
        name                    service-notice-on
        notifications_enabled   1
        notification_interval   10 
        notification_period     7x24
        notification_options    c,r
        register                0
    }
    
    define service {
        name                    icmp
        service_description     icmp
        check_command           check_icmp!500.000ms,80%!500.000ms,80%
        register                0
        use                     generic-service
    }
    

    /etc/nagios/config/hosts.cfg

    # hosts.cfg
    
    define host {
        host_name   bjyh-48-82
        alias       bjyh-48-82
        address     192.168.48.82
        use         generic-host,host-notice-off
    }
    
    define host {
        host_name   bjyh-48-83
        alias       bjyh-48-83
        address     192.168.48.83
        use         generic-host,host-notice-on
    }
    

    /etc/nagios/config/services.cfg

    # services.cfg
    
    define service {
        host_name               bjyh-48-82
        service_description     icmp
        use                     icmp,service-notice-off
    }
    
    define service {
        host_name               bjyh-48-83
        service_description     icmp
        use                     icmp,service-notice-on
    }
    

    /etc/nagios/config/hostgroups.cfg

    # hostgroups.cfg
    
    define hostgroup {
        hostgroup_name  bjyh
        alias           bjyh
        members         bjyh-48-82,bjyh-48-83 
    }
    

    dependencies

    escalations

    flpping

  • 相关阅读:
    Ubuntu 设置网卡固定IP
    gawk Notes(2)
    再读simpledb 之 存储的实现
    [zZ]HDFSRAID使用Erasure Code来实现HDFS的数据冗余
    初识gawk, gawk Notes(1)
    gawk notes(3)
    Shell Notes(2)
    凶残的突击面试
    Google 图片下载工具
    Shell Notes(3)
  • 原文地址:https://www.cnblogs.com/liujitao79/p/4389668.html
Copyright © 2011-2022 走看看