Nagios安装教程

本文将介绍基于openSUSE平台的安装教程这些指令在基于openSUSE10.2的系统下写成的。参考于http://nagios-cn.sourceforge.net/nagios-cn/

1. 所需的软件包

确认你安装好的openSUSE系统之上已经安装了如下软件包再继续。你可以在openSUSE系统下用yastzypper来安装软件包。如果你的机器中已经安装了如下软件包,你可以直接跳过1,直接看2。

  • apache2
  • C/C++开发库

首先看看本机上有没有安装apache2、gcc和g++,操作如下:

#apache2

If 'apache2' is not a typo you can use command-not-found to lookup the package that contains it, like this:

cnf apache2

上面表明没有安装apache2,它让我们运行

#cnf apache2

接着它会提示我们运行zypper install apache2来安装apache2

安装apache2

#zypper  se apache2

然后从列表中选择安装apache2

#zypper install apache2

安装gcc编译器

先看看系统有没有安装gcc

#gcc

如果没有安装,它会提示如下:

If 'gcc' is not a typo you can use command-not-found to lookup the package that contains it, like this:

cnf gcc

我们执行如下指令

#> cnf gcc

The program 'gcc' can be found in the following package:

* gcc [ path: /usr/bin/gcc, repository: zypp (oss) ]

Try installing with:

sudo zypper install gcc

#zypper se gcc

然后从列表中选择安装gcc

#zypper install gcc

以同样的方法安装g++

#zypper install gcc-c++

2在服务器上安装nagios

1)建立一个帐号

切换为root用户

su -l

创建新帐户名为nagios并给它一个登录口令

/usr/sbin/useradd nagios

passwd nagios

创建一个用户组名为nagios,并把nagios帐户加入该组

/usr/sbin/groupadd nagios

/usr/sbin/usermod -G nagios nagios

创建一个用户组名为nagcmd来执行外部命令并可以通过WEB接口来执行。将nagios用户和apache用户都加到这个组中。

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -G nagcmd nagios

/usr/sbin/usermod -G nagcmd wwwrun

2)下载Nagios和插件程序包

建立一个目录用以存储下载文件

mkdir ~/downloads

cd ~/downloads

下载Nagios和Nagios插件的软件包(访问http://www.nagios.org/download/站点以获得最新版本),在写本文档时,最新的Nagios的软件版本是3.0rc1,Nagios插件的版本是1.4.11。

wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0rc1.tar.gz

wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

(要是所在linux机不能上网的话只能通过下载对应模块然后传入linux中安装)

3)编译与安装Nagios

展开Nagios源程序包

cd ~/downloads

tar xzf nagios-3.0rc1.tar.gz

cd nagios-3.0rc1

运行Nagios配置脚本并使用先前开设的用户及用户组:

./configure --with-command-group=nagcmd

编译Nagios程序包源码

make all

安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限

make install

make install-init

make install-config

make install-commandmode

现在还不能启动Nagios - 还有一些要做的...

4)客户化配置

样例配置文件默认安装在这个目录下/usr/local/nagios/etc,这些样例文件可以配置Nagios使之正常运行,只需要做一个简单的修改...

用你擅长的编辑器软件来编辑这个/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。

vi /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name           nagiosadmin
        use                    generic-contact
        alias                  Nagios Admin
        email                  wt20110302@126.com
}
(注意:以上方法是通过internet来发送邮件,要是在工作环境中只能连接到内网,请参考下文的sendmail模块的介绍。)

5)配置WEB接口

安装Nagios的WEB配置文件到Apache的conf.d目录下

make install-webconf

创建一个nagiosadmin的用户(将口令设为nagios)用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。

htpasswd2 -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

重启Apache服务以使设置生效。

service apache2 restart

6)编译并安装Nagios插件

展开Nagios插件的源程序包

cd ~/downloads

tar xzf nagios-plugins-1.4.11.tar.gz

cd nagios-plugins-1.4.11

编译并安装插件

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

make install

7)启动Nagios

把Nagios加入到服务列表中以使之在系统启动时自动启动

chkconfig --add nagios

chkconfig nagios on

验证Nagios的样例配置文件

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有报错,可以启动Nagios服务

service nagios start

8)登录WEB接口

你现在可以从WEB方式来接入Nagios的WEB接口了,你需要在提示下输入你的用户名(nagiosadmin)和口令(nagios),你刚刚设置的,这里用系统默认安装的浏览器,用下面这个超链接

konqueror http://localhost/nagios/
(注意:要是所在的linux机中不能连到外网而只能通过内网相连时,上面网址中的localhost要改成安装服务器的linux主机的ip地址,如服务器在192.168.4.70机器中,则:http://192.168.4.70/nagios/  )

(若报错error 403,则在此之前可能还要安装apache2-mod——php5这个软件包,可用zyper se php查找,使用zypper in apache2-mod_php5命令)

点击“服务详情”的引导超链来查看你本机的监视详情。你可能需要给点时间让Nagios来检测你机器上所依赖的服务因为检测需要些时间。

9)其他的变更

确信你机器的防火墙规则配置允许你可以从远程登录到Nagios的WEB服务。

你可以这样做:

  • 打开控制中心
  • 选择'打开超户设置'以打开YaST超户控制中心
  • 选择在'安全与用户'设置里的'防火墙'
  • 在防火墙的配置窗口中点击'允许的服务'选项
  • 在许可的服务中增加'HTTP服务',是'外部区'的部分
  • 点击'下一步'并选择'接受'以使得防火墙设置生效

配置EMail的报警项超出了本文档的内容,指向你的系统档案用网页查找或是到这个站点NagiosCommunity.org wiki来查找更进一步的信息,以使你的openSUSE系统上可以向外部地址发送EMail信息。

3被监控主机的安装

参考来源  http://whbill.blog.51cto.com/3280780/600184
被监控主机需要安装nagios插件和NRPE Deamon
1)同样要求被监控主机要有apache2、gcc和g++,安装可以看1。
2)创建nagios用户
#useradd  nagios

#passwd nagios

3)下载安装nagios plugin
在http://www.nagios.org/download/plugins下载nagios插件到 /usr/local/src。最新稳定版本是nagios-plugins-1.4.15.tar.gz
#cd /usr/local/src
#tar xzf nagios-plugins-1.4.15.tar.gz
#cd nagios-plugins-1.4.15
#./configure
#make
#make install
#chown  nagios  /usr/local/nagios
#chown  -R  nagios  /usr/local/nagios/libexec

4)下载安装NRPE Deamon
下载http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz到 /usr/local/src
#cd /usr/local/src
#tar xzf nrpe-2.12.tar.gz
#cd nrpe-2.12

编译
#./configure

(如果报错的话请用:./configure   --prefix=/usr/local来指定特定目录)
#make all

安装NRPE插件、Deamon和Deamon配置文件示例(在此之前可能要新建一个groups,命令groupadd+名称)
#make install-plugin
#make install-daemon
#make install-daemon-config

安装NRPE Deamon为xinetd下的一个服务
#make install-xinetd

编辑vi /etc/xinetd.d/nrpe,在only_from参数里加入nagios服务器的IP地址,用逗号隔开
only_from = 127.0.0.1  <nagios server IP>

如:only_from = 127.0.0.1,192.168.4.70

在vi /etc/services中添加NRPE Deamon
nrpe   5666/tcp   #NRPE

在vi /usr/local/nagios/etc/nrpe.cfg里面的allow=127.0.0.1中添加nagios服务器的IP地址,如下

allowd_hosts = 127.0.0.1,192.168.4.70

重启xinetd服务
#service xinetd restart

(注意:有些机子本省xinetd服务不可用,则可用命令:/usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg  注意要对应写入nrpe  和nrpe.cfg的目录)

或者用下面的方法重启xinetd服务

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d (-d表示以守护进程方式启动)

5)本地测试NRPE Deamon
检查NRPE Deamon是否运行
#netstat -at | grep nrpe
tcp    0     0  *:nrpe     *:*     LISTEN

检查NRPE Deamon是否工作正常
#/usr/local/nagios/libexec/check_nrpe -H  localhost
NRPE v2.12

6)放开防火墙(因为我们虚拟机和工作机中没有防火墙,所以可以忽略此步),允许nagios服务器访问本地NRPE Daemon。命令可能不完全同。
#iptables  -I  RH-Firewall-1-INPUT  -p  tcp –m  tcp  -dport 5666  –j  ACCEPT
(#iptables -A INPUT -p tcp -s 192.168.0.1  --dport 5666 -j ACCEPT)
保存新的iptables规则,保证机器重启后依然能生效。
service iptables save

3.监控Linux主机
3.1nagios服务器上安装设置
安装check_nrpe插件
#cd /usr/local/src
#tar xzf nrpe-2.12.tar.gz
#cd nrpe-2.12

编译
#./configure
#make all

安装NRPE插件
#make install-plugin

3.2.测试与远端NRPE Daemon的通信

(在此之前要确定两台主机是否能ping通,保证能上网)
如果远端主机IP地址是192.168.0.1
#/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
NRPE v2.12

/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1 -c  check_users(可不用)

可能会出现的错误:#Error - Could not complete SSL handshake.

解决方法:重启nrpe服务

因为nrpe是以守护进程的方式来启动的,所以要重启nrpe服务的话必须先杀死nrpe的进程,方法下:

#ps –ef |grep nrpe   找到/usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg进程对应的进程号,如123

#kill -9 123

#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d (重启nrpe服务)

在所有配置都完成后,建议将/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d写入系统的脚本中,让客户机在一开机的时候就启动nrpe服务,nagios服务器可以直接检测,方法如下:

#vim nrpe_start

在nrpe_start文本中编辑:

#!/bin/sh

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d (然后保存并退出)

#chmod  +x nrpe_start

#chkconfig  nrpe_start on(将文本伴随系统启动)

3.3建立命令定义
需要在nagios object配置文件commnads.cfg中建立命令定义,如下:
#vi /usr/local/nagios/etc/objects/commnads.cfg
define command{
       command_name  check_nrpe
       command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
       }
3.4.建立host和service定义
    必须定义一些对象定义用于监视远程的LINUX/UNIX主机。这些定义可以放在自己的文件里或加入现有的对象配置文件里(配置文件是localhost.cfg   配置文件路径一般在/usr/local/nagios/etc/objects/localhost.cfg中,配置模版文件一般为/usr/local/nagios/etc/objects/templates.cfg)。
    最好的方法是为监视的每一类主机建议自己的配置模版。下面建立一个新的LINUX模版,也可以不建立,直接用已存在的。

vi /usr/local/nagios/etc/objects/templates.cfg

如下添加自已的模版,参考模版如下:
define host{
       name                     linux-hwt       ;Name of this template
       use                       local-service    ;Inherit default values
       check_period              24x7
       check_interval            5
       retry_interval            1
       max_check_attempts        10
       check_command             check-host-alive
       notification_period       24x7
       notification_interval     30
       notification_options      d,r
       contact_groups            admins
       register                  0                  ;DONT REGISTER THIS - ITS A TEMPLATE
       }
    该模版从generic-host模版继承缺省值。generic-host模版在templates.cfg中定义。templates.cfg为系统缺省安装。
   定义要检测的主机:

使用上面建好的模版定义一个主机.

vi /usr/local/nagios/etc/objects/localhost.cfg
define host{
       use             linux-hwt           ;Inherit default valus from a template和前面的定义对应
       host_name       myRemoteHost ;The name we're giving to this server
       alias           OpenSUSE       ;A longer name for the server
       address         192.168.4.21         ;被监控机的IP地址
       }
    然后,将定义监视远程主机的服务。这些服务使用远程主机nrpe.cfg里定义的命令。

下面介绍如何加入对应的服务,在/usr/local/nagios/etc/objects/localhost.cfg中加入相关模块即可(在上面主机定义后面添加)。
    下面的服务监视远程主机的CPU负载。chech_nrpe命令的“check_load”参数告诉远程主机的NRPE Deamon执行定义的check_load命令。
define service{
       use                        local-service  ;和上面的对应
       host_name                  myRemoteHost;和上面的对应
       service_description        CPU Load
       check_command              check_nrpe!check_load
       }
 
     下面服务监视登录用户数
define service{
       use                        local-service
       host_name                  myRemoteHost
       service_description        Current Users
       check_command              check_nrpe!check_users   
       }
     下面服务监视zombie进程总数
define service{
       use                        local-service
       host_name                  myRemoteHost
       service_description        Zombie Processes
       check_command              check_nrpe!check_zombie_procs
       }

3.5在/usr/local/nagios/etc/nrpe.cfg里面添加上面的服务定义。

vi /usr/local/nagios/etc/nrpe.cfg
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_users]=/usr/local/nagios/libexec/check_users -w 1 -c 2
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z

3.6 重启Nagios
验证Nagios配置
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

重启nagios
#service nagios restart

===============================================================
定制配置
如果想使用nrpe监视远程主机上的新服务,需要做两件事:
     1.在远程主机的nrpe.cfg文件里加上新命令。
     2.对该主机的Nagios配置里添加新服务定义。

http://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux

转载于:https://my.oschina.net/u/615185/blog/69691

Nagios安装教程相关推荐

  1. Nagios 安装教程

    简介 Nagios是一款用于系统和网络监控的应用程序.它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息. Nagios最初被设计为在Linux系统之上运行,然而它同样可以 ...

  2. nagios安装与配置教程(详细版)【入门教程】2020-11-16

    Nagios基础入门 这里写目录标题 Nagios基础入门 一.前言 二.Nagios简介 三 .Nagios构成 四 .Nagios原理 五 .安装介绍 六. Nagios服务端安装 七 .被监控客 ...

  3. nagios 安装步骤-1

    Nagios 配置教程详解 安装环境:linux rehl5.1 ,软件为nagios-3.2.0,和插件nagios-plugins-1.4.13,系统需要httpd php gcc glibc , ...

  4. Nagios安装监控

    Nagios基础入门 一.前言 日前,我接触学习了Nagios,在看到网上各路神仙写的杂七杂八的Nagios安装配置教程,亲自尝试许多的教程过后,"骂骂咧咧"的写下这篇关于Nagi ...

  5. 【网站汇总】安装教程系列

    目录 1.Anaconda 2.Pytorch 3.Tensorflow 4.LaTeX 5.博客搭建 1.Anaconda [CV]Anaconda 安装教程_Fannnnf的博客-CSDN博客 2 ...

  6. oracle 11g完全安装教程(CentOS)

    oracle下载链接:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html oracle ...

  7. vs安装一直在提取文件_Visual Studio 2019下载及安装教程

    宸1分钟前 这可是我珍藏多年的资源啊. Visual Studio 2019 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品.是目前最流行的Windows ...

  8. 这套完美的Java环境安装教程,完整,详细,清晰可观,让你一目了然,简单易懂。⊙﹏⊙...

    JDK下载与安装教程 2017年06月18日 22:53:16 Danishlyy1995 阅读数:349980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...

  9. iOS7系统iLEX RAT冬青鼠安装教程:无需刷机还原纯净越狱系统

    全网科技 温馨提醒:iLEX RAT和Semi-Restore的作用都是让你的已越狱的设备恢复至越狱的初始状态. 可是要注意无论你是用iLexRAT冬青鼠还是Semi-restore.对于还原来说都存 ...

最新文章

  1. react 合并数组_React 数组合并去重,实现请求三遍返回三组数据的合并去重。
  2. 运行jar应用程序引用其他jar包的四种方法
  3. 侧记戴尔的第三代虚拟化价值观
  4. Hadoop YARN
  5. Oracle数据库教程
  6. VTK:Remote之FrenetSerretFrameDemo
  7. Git本地仓库与远程仓库关联
  8. Linux学习:第三章-Linux常用命令-1
  9. 外部函数获取内部函数变量_一维随机变量的分布函数
  10. ElasticSearch外部版本控制
  11. 《统计学习方法》读书笔记——感知机(原理+代码实现)
  12. 打工人打工魂,打工人上人
  13. 如何用prometheus监控k8s集群中业务pod的metrics
  14. ubuntu 查找opencv安装路径_Ubuntu系统---配置OpenCV
  15. python完成滑动拼图验证码破解
  16. ucore Lab2 物理内存管理
  17. 靠谱助手微信版 v1.0 pc版
  18. SSRF利用 Gopher 协议拓展攻击面
  19. pearson相关系数_SPSS相关性分析及相关系数计算方法(点二列相关系数)——【杏花开医学统计】...
  20. 斐波那契数列(兔子数列)

热门文章

  1. JavaWeb开发 前端语言:jQuery(二)属性操作、DOM的增删改、CSS样式操作、动画、事件操作
  2. C语言中快速排序法(从小到大)实现过程详细分析
  3. PopUpManager.bringToFront
  4. 定时器TIMER结构框图
  5. MySQL数据库设计三大范式
  6. 升级到IOS9以后,QQ授权登录和QQ分享出现问题,不能正常使用了
  7. 数据挖掘——关联规则算法之FP-tree
  8. python爬虫笔记_Python爬虫系列-将知乎收藏发送到Evernote/印象笔记之三
  9. HikariPool-1 - Shutdown initiated... HikariPool-1 - Shutdown completed. Stopping
  10. VIM查找和替换字符串命令详解(持续更新中...)