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
service_description check_users
check_command check_nrpe!check_users -a
}

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

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

首先定义hostgroup

定义如下:

define hostgroup{
hostgroup_name hostgroup1
alias hg1
members ,
}

其中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
}

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

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

3. 关于servicegroup

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

servicegroup定义如下:

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

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

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

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

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  :: mysql-server2 nrpe[]: Error: Request packet had invalid CRC32.
Jan :: mysql-server2 nrpe[]: 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,@.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

Icinga使用总结的更多相关文章

  1. 如何部署Icinga服务端

    Icinga是Nagios的一个变种,配置,使用方式几乎一样,而且完全兼容Nagios的插件.所以下面的部署方案对Nagios同样使用. 它还推出了两个中文版本,icinga-cn原版和icinga- ...

  2. 如何部署Icinga客户端

    Icinga客户端的部署相对于服务器端来说,简单很多.对于服务器端来说,如果要通过以下这种方式来监控服务器,必须包含三个组件,Icinga内核,Icinga插件,NRPE(Nagios Remote ...

  3. Icinga快速安装与配置

    Icinga快速安装与配置/* body */body { margin: 20px; padding: 0; font-family: "Lucida Grande", &quo ...

  4. Nagios Core/Icinga 基于栈的缓冲区溢出漏洞

    漏洞名称: Nagios Core/Icinga 基于栈的缓冲区溢出漏洞 CNNVD编号: CNNVD-201402-484 发布时间: 2014-03-03 更新时间: 2014-03-03 危害等 ...

  5. icinga 被动模式 nsca 安装

    本文假设读者已安装好icinga,此外nsca本身nagios插件,icinga/nagios都适用 一.编译安装nsca1.编译,拷贝文件tar -vxzf nsca-2.7.2.tar.gz./c ...

  6. Linux碎碎念

    在学习Linux过程中,有许多有用的小技巧.如果放在纸质的笔记本上,平时查阅会相当不方便.现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习.工作的深入,后续会陆陆续续添加更多的小技 ...

  7. 给 DevOps 初学者的入门指南

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...

  8. Index

    我主要在研究.NET/C# 实现 PC IMERP 和 Android IMERP ,目的在解决企业通信中遇到的各类自动化问题   分布式缓存框架: Microsoft Velocity:微软自家分布 ...

  9. 部署Icinga-php4

    关于Icinga-php4的文档信息及下载地址,可参考:http://icinga-cn.sourceforge.net/ 我这里使用的是icinga-pnp4-cn-1.12.2.tar.xz. 因 ...

随机推荐

  1. java分享第十八天( JAVA利用enum结合testng做数据驱动示例)

    数据驱动是做自动化测试中很重要的一部分,数据源的方案也是百花八门了,比如利用外部文件,直接在@DataProvider中写死等等,我们今天介绍一下利用enum来做数据源,先来看一下enum的写法: p ...

  2. 解决FF浏览器无法执行window.close()脚本

    在FF浏览器中输入about:config 查找dom.allow_scripts_to_close_windows 将值改为true

  3. 使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]

    当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据 ...

  4. 解析文件+AcitonBar展示:

    //项目效果:

  5. ViewPager自动轮播

    Android使用ViewPager实现左右循环滑动及轮播效果   ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候 ...

  6. C#模拟http 发送post或get请求

    /// <summary> /// 模拟HTTP提交表单并获取返回数据 /// POST /// </summary> /// <param name="Url ...

  7. 远程桌面连接 win7 主机提示“您的凭据不工作”的解决办法

    搞了大半天,找了百度N中方式操作,至少翻看10种以上解决方式,结果还是不得行 索性使用了360搜索,搜了几次就搞定了. 解决办法: “ 最重要一点, 主机上要允许用户以非guest身份登录:主机上运行 ...

  8. 如何创建一个Edge 浏览器扩展

    随着微软Windows 10 年度更新的发布,数次延宕的Edge 扩展功能终于得到了官方正式支持.我在我的另外一个博客上发布了如何创建一个Edge 浏览器扩展的博文,链接如下: https://blo ...

  9. ASP.NET Aries 开源开发框架:开发指南(一)

    前言: 上周开源了Aries开发框架后,好多朋友都Download了源码,在运行过程里,有一些共性的问题会问到. 所以本篇打算写一下简单的开发指南,照顾一下不是太看的懂源码的同学,同时也会讲解一下框架 ...

  10. 跨平台移动开发UI语言 -XAML

    Xamarin.Forms 把XAML (Extensible Application Markup Language, XAML) 带进了ios,android的界面开发,也就使得使用Xamarin ...