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
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插件中心
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使用总结的更多相关文章
- 如何部署Icinga服务端
Icinga是Nagios的一个变种,配置,使用方式几乎一样,而且完全兼容Nagios的插件.所以下面的部署方案对Nagios同样使用. 它还推出了两个中文版本,icinga-cn原版和icinga- ...
- 如何部署Icinga客户端
Icinga客户端的部署相对于服务器端来说,简单很多.对于服务器端来说,如果要通过以下这种方式来监控服务器,必须包含三个组件,Icinga内核,Icinga插件,NRPE(Nagios Remote ...
- Icinga快速安装与配置
Icinga快速安装与配置/* body */body { margin: 20px; padding: 0; font-family: "Lucida Grande", &quo ...
- Nagios Core/Icinga 基于栈的缓冲区溢出漏洞
漏洞名称: Nagios Core/Icinga 基于栈的缓冲区溢出漏洞 CNNVD编号: CNNVD-201402-484 发布时间: 2014-03-03 更新时间: 2014-03-03 危害等 ...
- icinga 被动模式 nsca 安装
本文假设读者已安装好icinga,此外nsca本身nagios插件,icinga/nagios都适用 一.编译安装nsca1.编译,拷贝文件tar -vxzf nsca-2.7.2.tar.gz./c ...
- Linux碎碎念
在学习Linux过程中,有许多有用的小技巧.如果放在纸质的笔记本上,平时查阅会相当不方便.现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习.工作的深入,后续会陆陆续续添加更多的小技 ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- Index
我主要在研究.NET/C# 实现 PC IMERP 和 Android IMERP ,目的在解决企业通信中遇到的各类自动化问题 分布式缓存框架: Microsoft Velocity:微软自家分布 ...
- 部署Icinga-php4
关于Icinga-php4的文档信息及下载地址,可参考:http://icinga-cn.sourceforge.net/ 我这里使用的是icinga-pnp4-cn-1.12.2.tar.xz. 因 ...
随机推荐
- flex的兼容
父容器的 display 属性: .box{ display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit br ...
- 把C#程序(含多个Dll)合并成一个Exe的超简单方法
开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超 ...
- DSY2933*地图
Description 一个人口统计办公室要绘制一张地图.由于技术的原因只能使用少量的颜色.两个有相同或相近人口的区域在地图应用相同的颜色.例如一种颜色k,则A(k) 是相应的数,则有: 在用颜色 ...
- 转载一些Android性能优化建议
首先给出原文链接,感谢大神的经验分享:http://www.jointforce.com/jfperiodical/article/3553?utm_source=tuicool&utm_me ...
- scrapy 和 scrapy_redis 安装
安装sqlslte,scrapy需要这个模块 yum install sqlite-devel python3.5 下载包自己编译安装 ./configure make make install 自带 ...
- web api Route属性定义
ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程.在"ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置"一 ...
- ABP理论学习之工作单元(Unit of Work)
返回总目录 本篇目录 公共连接和事务管理方法 ABP中的连接和事务管理 仓储类 应用服务 工作单元 工作单元详解 关闭工作单元 非事务的工作单元 工作单元方法调用其它 工作单元作用域 自动保存 IRe ...
- 玩转Windows服务系列——服务运行、停止流程浅析
通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的 ...
- How.To.Process.Image.Infomation.Of.Rotate.And.Flip.From.Server
需求说明 客户端接收到服务器传送过来的图像数据,客户端通过对图像进行旋转和反转操作. 然后把这个旋转和反转的数据上传到服务器. 客户端在接收图像的时候, 也会下载以前的旋转和反转参数, 然后客户端根据 ...
- 2013 duilib入门简明教程 -- XML基础类(7)
现在大家应该对XML描述界面不那么陌生了,那么我们做进一步介绍. 前面的教程我们写了很多代码,为的是让大家了解下基本流程,其实duilib已经对常用的操作做了很好的包装,正式使用时无需像前面的教程那样 ...