zoukankan      html  css  js  c++  java
  • Icinga使用总结

    1. 在定义命令的时候,往往需要修改commands.cfg配置文件,如果使用NPRE插件监控远程服务器,其实,定义命令也没这么复杂

    commands.cfg中有关check_nrpe的命令定义如下:

    define command{
            command_name    check_nrpe
            command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
            }

    然后在定义service文件的时候,可以这样写

    define service{
            use generic-service
            host_name 146
            service_description check_users
            check_command check_nrpe!check_users -a 10 20
            }

    其中check_users -a 10 20作为一个参数被check_nrpe命令中的$ARG1$参数接受。

    2. 如何利用hostgroup简化服务的管理

    首先定义hostgroup

    定义如下:

    define hostgroup{
           hostgroup_name hostgroup1
           alias  hg1
           members 146,144
    }

    其中144,146是host_name,所以前提是146,144已经在主机列表中定义过。

    接下来要定义service

    define service{
           hostgroup_name hostgroup1
           use  generic-service
           service_description hg1_service
           check_command check_nrpe!check_users -a 10 20
    }

    其中,check_command中定义的命令和单个用户中service文件的命令是否相同没有关系。

    check_uers和hg1_service只是服务名不一样,但定义的命令却是一样的。

    3. 关于servicegroup

    个人感觉servicegroup没多大用处,并不能像hostgroup那样简化管理,只不过在Icinga WEB界面上“服务组概述”有所显示

    servicegroup定义如下:

    define servicegroup{
           servicegroup_name servicegroup1
           alias sg1
           members 146,check_users,146,check_load
    } 

    members的格式为<host1>,<service1>,<host2>,<service2>,...<hostn>,<servicen>。

    其中,host需在主机列表中定义过,service需在service文件中定义过(由service_description定义)。譬如,146主机定义的服务如下:

    define service{
            use generic-service  
            host_name 146
            service_description check_users
            check_command check_nrpe!check_users -a 10 20
            }        
    define service{
            use generic-service
            host_name 146
            service_description check_load
            check_command check_nrpe!check_load -a 10 20
            }

    4. 性能数据输出长度的限制

       icinga默认会从插件返回的数据库中读取前8KB的数据,这样做的目的是为了阻止失去控制的插件向Nagios发送大量的数据。

       如果不符合自己的需要,可以根据实际情况进行修改。

       修改include/icinga.h中MAX_PLUGIN_OUTPUT_LENGTH参数,然后重新编译即可。

    #define MAX_PLUGIN_OUTPUT_LENGTH                8192    /* max length of plugin output (including perf data) */

      其实,不仅仅这个,还需要修改nrpe插件的源码文件

      include/common.h有两个参数需要修改 

    #define MAX_INPUT_BUFFER        4096    /* max size of most buffers we use */
    #define MAX_PACKETBUFFER_LENGTH 4096            /* max amount of data we'll send in one query/response */

      如果修改了MAX_PACKETBUFFER_LENGTH,则必须修改服务端nrpe插件中这个值(注意:MAX_INPUT_BUFFER值不必相同)不然会报以下错

    Jan 26 15:45:02 mysql-server2 nrpe[14201]: Error: Request packet had invalid CRC32.
    Jan 26 15:45:02 mysql-server2 nrpe[14201]: Client request was invalid, bailing out...

     源码中,MAX_PACKETBUFFER_LENGTH默认是1024,MAX_INPUT_BUFFER默认是2048,当我将完前者修改为4096后,发现,从服务端获得的客户端性能数据的长度虽然有所提供,但依旧达不到4096,只有2048,最后修改了MAX_INPUT_BUFFER的值为4096,才达到了自己想要的结果。

    5. 自定义联系人

    # vim /usr/local/icinga/etc/objects/contacts.cfg 

    define contact{
            contact_name                    icingaadmin             ; Short name of user
            use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
            alias                           Icinga Admin            ; Full name of user
    
            email                           icinga@localhost,13912345678@139.com    ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
            }

    这样遇到告警,会直接发送告警邮件到13912345678@139.com邮箱中,当然,前提是开启了sendmail服务,并安装了mail命令。

    而139邮箱又可直接发送短信到手机,这样遇到告警可及时处理。

    6. Icinga和Nagios插件中心

        https://exchange.icinga.org/

        https://exchange.nagios.org/

    7. 升级YUM安装的apache

       其实蛮简单的,就是拷贝icinga的配置文件,然后修改apache的主配置文件

       # cp /etc/httpd/conf.d/icinga.conf /usr/local/apache2/conf/extra/

       # vim /usr/local/apache2/conf/httpd.conf

    Include conf/extra/icinga.conf

        

       

  • 相关阅读:
    android raw与assets区别
    android 反编译
    sql 随笔
    控件EditText
    android 监听Home键
    android tab之间滑动切换界面功能
    android listview 总结
    SAP云平台上两个ABAP系统实例之间的互连
    什么是SAP OData Model Creator
    Netweaver和Windows,Ubuntu的数据共享
  • 原文地址:https://www.cnblogs.com/ivictor/p/5139961.html
Copyright © 2011-2022 走看看