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

icinga 中文化项目的下载地址为:http://sourceforge.net/projects/icinga-cn/files/

其中,Icinga插件,NRPE均在icinga plugins目录中。

在这里,我下载了nagios-cn-plugins-2.0.3.tar.xz和icinga-nrpe-2.14.tar.gz。

新建icinga用户

# useradd icinga -s /sbin/nologin

安装nagios-cn-plugins

# cd /usr/src/

# tar xvf /root/nagios-cn-plugins-2.0.3.tar.xz

# cd nagios-cn-plugins-2.0.3/

# ./configure --prefix=/usr/local/icinga

最后输出如下:

config.status: creating po/Makefile
--with-apt-get-command:
--with-ping6-command: /usr/sbin/ping6 -n -U -w %d -c %d %s
--with-ping-command: /usr/bin/ping -n -U -w %d -c %d %s
--with-package-name: nagios-plugins
--with-nagios-user:
--with-nagios-group:
--with-ipv6: yes
--with-mysql: no
--with-openssl: yes
--with-gnutls: no
--enable-extra-opts: yes
--with-perl: /usr/bin/perl
--enable-perl-modules: no
--with-cgiurl: /nagios/cgi-bin
--with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin
--enable-libtap: no

# make

# make install

设置权限

# chown -R icinga.icinga /usr/local/icinga/

安装NRPE

# cd /usr/src/

# tar xvf /root/icinga-nrpe-2.14.tar.gz

# cd icinga-nrpe-2.14/

# ./configure --enable-command-args

最后输出如下:

*** Configuration summary for nrpe 2.14 -- ***:

 General Options:
-------------------------
NRPE port:
NRPE user: icinga
NRPE group: icinga
Icinga user: icinga
Icinga group: icinga Review the options above for accuracy. If they look okay,
type 'make all' to compile the NRPE daemon and client.

按照提示,

# make all

输出结果如下:

*** Compile finished ***

  make install
- This installs files in /usr/local/icinga make install-plugin
- This installs init-script files in /usr/local/icinga/libexec make install-init
- This installs init-script files in /etc/init.d make install-xinetd
- This installs sample-config/nrpe.xinetd in /etc/xinit.d make install-init-freebsd
- This installs init-script.freebsd files in /etc/init.d make install-init-debian
- This installs init-script.debian files in /etc/init.d make install-init-suse
- This installs init-script.suse files in /etc/init.d make install-daemon-config
- This installs the Nrpe config file in /usr/local/icinga/etc If the NRPE daemon and client compiled without any errors, you
can continue with the installation or upgrade process. Read the PDF documentation (NRPE.pdf) for information on the next
steps you should take to complete the installation or upgrade.

对于Linux系统,可运行make install, make install-plugin,make install-init,make install-xinetd, make install-daemon-config。各项的具体作用可参考上述的说明。

修改NRPE的配置文件

# vim /usr/local/icinga/etc/nrpe.cfg

在allowed_hosts后面添加Icinga服务端的地址

allowed_hosts=127.0.0.1,192.168.244.145

启动NRPE服务

# /etc/init.d/icinga-nrpe start

Starting icinga-nrpe (via systemctl):  Warning: Unit file of icinga-nrpe.service changed on disk, 'systemctl daemon-reload' recommended.
[ OK ]

# systemctl daemon-reload

# /etc/init.d/icinga-nrpe start

查看5666端口是否开启监听

# netstat -ntlup | grep 5666

tcp               0.0.0.0:            0.0.0.0:*               LISTEN      /nrpe

在服务端上进行验证

# /usr/local/icinga/libexec/check_nrpe -H 192.168.244.146

其中192.168.244.146是客户端的地址

如果输出的是NRPE的版本号:

NRPE v2.

则代表服务端和客户端已建立通信。

总结:

1. 如果在服务端上进行验证时,报以下错误:

CHECK_NRPE: Error - Could not complete SSL handshake.

一般是NRPE的配置文件没有修改,或防火墙规则阻止了Icinga服务端和NRPE进程之间的连接。

2. 系统账号的shell使用 /sbin/nologin ,此时无法登陆系统,即使给了密码也不行。

所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登陆。假如有账号试图连接我的主机取得shell,我们就可以拒绝。另外,如果我想要让某个具有 /sbin/nologin 的用户知道,他们不能登陆主机时,可以新建 /etc/nologin.txt 这个文件,在文件内面写上不能登陆的原因,当用户登录时,屏幕上就会出现这个文件里面的内容。

参考:

http://docs.icinga.org/latest/en/nrpe.html

http://blog.chinaunix.net/uid-28216282-id-3373188.html

如何部署Icinga客户端的更多相关文章

  1. Office 365 系列二 ------- 如何批量部署Office 客户端

    针对于第一篇文章所讲的,我们最用使用用户可以单个点击进行安装,但是如果我们终端用户太多的情况,不可能大家都点击单个文件进行安装了,这样子既耗费时间也耗费 公司的网络带宽,那么我们可以采取离线下载的方式 ...

  2. 使用saltstack批量部署服务器运行环境事例——批量部署nagios客户端

    之前关于搭建web服务器集群实验的这篇文章http://www.cnblogs.com/cjyfff/p/3553579.html中,关于如何用saltstack批量部署服务器这一点当时没有记录到文章 ...

  3. 在net安装程序中部署oracle客户端全攻略

    在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ...

  4. Linux 部署 iSCSI 客户端配置(Windows)

    Linux 部署 iSCSI 客户端配置(Windows) 客户端环境 Client :Windows 7 ip :192.168.121.138 一.首先查看客户端本地所有的磁盘 查看路径:邮件计算 ...

  5. Linux 部署 iSCSI 客户端配置(Linux)

    Linux 部署 iSCSI 客户端配置(Linux) 客户端环境 Client :RHEL8 IP : 192.168.121.11 一.测试与服务端的连通性 [root@Client-linux ...

  6. PinPoint单节点部署及客户端配置方法

    在一次做项目中,需要涉及全链路压测,为了更好定位链路中某一节点可能会出现的问题,在繁忙之余,快速部署及应用了该链路工具,分享给大家~ 话不多说,开始部署~ 一.环境配置1.1 获取需要的依赖包进入ho ...

  7. 如何部署Icinga服务端

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

  8. Centos7 下的NTP-server(Chorny) 部署及客户端时间同步配置

    一.介绍 1.本博客以 ceph 集群搭建时的NTP-server 为例. 2.hosts # vim /etc/hosts 10.6.32.20    ceph1     (作为时间服务器) 10. ...

  9. Skywalking部署+NetCore客户端

    一.介绍 应用官方的说法:Apache SkyWalking是观察性分析平台和应用性能管理系统.提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化解决方案 GitHub地址:https://gi ...

随机推荐

  1. Editbox之三个框框

    自重装系统后,电脑中两个版本的eclipse都驾崩了,起个VS也要花费半年的时间(观赏收费),所以就运用已有的工具STS编了代码,不能用JavaFX很是遗憾,只能在网上找了代码,自己修改后完成了测试. ...

  2. Django实现注册

    前言 对于web开来说,用户登陆.注册.文件上传等是最基础的功能,针对不同的web框架,相关的文章非常多,但搜索之后发现大多都不具有完整性,对于想学习web开发的新手来说不具有很强的操作性:对于web ...

  3. eclipse插件开发入门

    2016-09-09 17:11:50 1. 概述 1.1 SWT/JFace 是Eclipse 的基础,Eclipse 的 Workbench 就是建立在 SWT/JFace 之上的.另外,JFac ...

  4. final 评论ii

    按照演讲顺序 1.约跑app         约跑app,从界面的单调,到最后的final发布,实现界面的友好性,有了很大的提高.约跑app,如果在约定地点可以显示出,所在位置,以及约定地址.就可以达 ...

  5. asp.net 使用DroDownList来实现二级联动

    今天做新闻发布系统的时候,用到了二级联动,我把使用方法记录下来,以便日后查阅以及帮助新手朋友们.下面是效果图: 下面来讲解一下实现的方法: 1.在.aspx页面中,拖入两个DroDownList控件. ...

  6. 用字符流实现每个文件夹中创建包含所有文件信息的readme.txt

    package com.readme; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; i ...

  7. Android内存清理

    直接上图吧! 获取文件大小 ,清理文件工具类 public class DataCleanManager { public static String getTotalCacheSize(Contex ...

  8. for循环中的占位 pass

  9. python文件读取

    1.如何将一个“lessons.txt”文档一行行输出? myfile = file(‘lessons.txt’) for f in myfile.readlines(): print f myfil ...

  10. MyBatis(增删改查)

    1.工程中引入包: mybatis-3.2.7.mysql-connector-java-5.1.22-bin 2.添加配置文件: <?xml version="1.0" e ...