Nagios网上的教程百度一下一大把,发现有些教程讲法有点出入,估计有些都是拷贝乱贴乱飞,按有些说法去做,根本就做不下去,今天我亲自实践,现场抓图让你看得清楚看得明白,以及中间遇到什么问题,怎么解决,都会分享给大家,抓图再写出来有点辛苦,关键能学到东西一切都是值得滴,Follow me~!
下载centOS 6.0然后安装好系统,最好用vmware来做最好.
CentOS 6.0最新版国内下载地址:http://mirrors.163.com/centos/6.0/isos/i386/
自行装好系统以后现在开始装备安装前的环境准备
我把命令贴出来,为了方便大家操作你只要跟着我把命令拷贝和粘贴即可,省去敲打命令的麻烦也避免失误出错(小技巧提醒:装好centOS以后进入x-windows里面装个vmware tools就可以实现物理机和虚拟机之间的拷贝和粘贴,方法很简单这里就不说了)
yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-pear

yum install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel php

在线下载nagios程序和插件
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz (现在最新版本的插件)
wget http://sourceforge.net/projects/nagios-cn/files/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2/download(最新版为3.3.1,装上去觉得界面变得不好看,顺便就找了个中文版的)


[root@centos nagios]# ls
nagios-cn-3.2.3.tar.bz2 nagios-plugins-1.4.15.tar.gz
用户和组的准备
[root@centos nagios]# useradd nagios
[root@centos nagios]# passwd nagios
changing password for user nagios.
New password:
BAD PASSWORD:it is based on a dictionary word
BAD PASSWORD:is too simple
Retype new password:
passwd:all authentication tokens updated successfully.

开始安装主程序

./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd

完成以后发现执行make all命令的时候出现以下错误

貌似CentOS下默认系统没有安装编译器,安装一下:
yum -y install gcc automake autoconf libtool make

继续做make all操作,发现最后报错了,

先执行make clean操作,然后再执行 ./configure && make all 操作通过(问题分享)接着再执行以下命令即可,没有出现任何状况.





接下来安装插件

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


添加访问页面用户nagiosadmin及密码,这里要记住此密码不要忘记了.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

接下来启动相关服务


检查配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

[经验分享:由于这一串检查的命令很长,应用率也比较高,这里我们可以自定义一个命令来代替这一长串的命令
编辑.bashrc这个文件

在里面用alias 来自定义一个命令来代替,这里我用check

用source命令在当前bash环境下读取并执行bashrc中的命令

这样我们自定义的命令就生效了,以后只要输入check就可以检查nagios配置文件是否存在错误了,简单方便.]
发现没有警告和错误就表示通过了

现在就可以用http://serverip/nagios 方式访问nagios web访问控制台了.
开了防火墙记得要开放80端口,要不然连接不到,或者直接关闭防火墙用命令service iptables stop关闭即可.

问题分享:进入页面的时候点主机或其它选项的时候报此错误,后面百度一下原来是开启了selinux强制访问控制安全模块所致

注意:如果你开启了selinux 需要配置如下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

这样正宗的中文版出来了,总算迈出了成功的一小步,耐心坚持让我们继续吧~~!

[经验分享:我这里用虚拟机做的,记得系统和网络相关参数配置好以后做一个系统的快照,配到这里nagios安装成功以后我们再做一个快照,以免后面配乱出问题的时候我们可以返回到这里重新再配置,方便快捷,记住做快照的时候先把虚拟机关闭以后再做,要不然快照出来的文件大得吓人,而关闭以后做快照文件才几百KB.]

ok下面我们接着来
[nrpe_plugins指标采集程序主要是用来分析nrpe客户端的plugin脚本采集性能指标数据。目前实现的有cpu、memory、disk、buffer、singleprocess、oracle、sybase等方面的性能指标的分析,这个插件需要分别安装在主控端和被控端上,这个插件需要openssl的支持,没有就直接在线安装一下(yum install openssl-devel)所以还需在nagios主机和被控端安装,感觉挺麻烦,没办法它需要咱们就跟着做哈.]
先把nrpe下载下来先.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

解压文件

编译安装


完成以后没有出错就可以看到以下生成的文件了

二:配置PNP
[PNP是一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,所以安装pnp之前必须先安装php perl and rrdtool这里用yum直接来安装rrdtool,单独下载安装有很多依存关系,挺麻烦.]

我这里找到最新的版本是0.6.15
wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.15.tar.gz/download



编译的时候报错了.

yum install perl-Time-HiRes

继续编译发现有个perl modules没有发现,好像提示用来加速什么的,暂时不管它了


根据提示需要继续




然后把相关后缀带sample文件变更成无sample后缀

配置Nagios来启用PNP

enable_environment_macros=1默认是开启了的

pnp4nagios有很多种工作模式,这里我们选用同步模式,想选其它模式可以看说明都有详细配置教程(不同模式配置不同)

这里我们按说明的设定方法来做

[这里先把pnp4nagios执行数据收集的文件拷贝到nagios的libexec下,方便统一命令的执行路径.]
cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/

然后在commands.cfg里面加入如下(这里是同步模式设定方法)

#process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line $USER1$/process_perfdata.pl -d HOSTPERFDATA
}
#process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line $USER1$/process_perfdata.pl
}

然后添加小太阳模版,镶嵌在nagios页面上
[这里有两种查看图的方法,第一种方法是你当太阳的图标的时候会在新窗口中打开图形查看,第二种方法是你只需要把鼠标移动到太阳图标上面就会自动弹出图形出来,以下两种方法你可以根据自己喜好选其中一种即可]
第一种方法在templates.cfg里面加入如下

define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}

第二种方法按照说明加入如下

拷贝status-header.ssi到/usr/local/nagios/share/ssi/目录下面来(这一步很重要,要不然移动到太阳标记上出不来图)

define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
第二种方法最终效果图

为目标主机图标旁边添加一个小太阳标记


为相关服务添加一个小太阳标记


先做一下pnp4nagios环境测试,发现php-gd模块无效,用命令yum install php-gd安装成功以后还是不行,后来经老男孩指点用yum install php* -y安装然后重启系统成功通过,



按要求重命名install.php

做好相关配置以后请用命令重启一下nagios的服务

ok,到此总算配置好了PNP,配置了这么多有点累了,但我们还要继续,配置本章最后一个Nagios WEB管理工具叫NagiosQL(注:还有同样一个Nagios WEB管理工具叫Nconf)
wget http://sourceforge.net/projects/nagiosql/files/nagiosql/NagiosQL%203.1.1/nagiosql_311.tar.gz/download

NagiosQL是一个WEB管理工具,只要把其放到下Apache即可。因为这里它要和Nagios整合到一起,为了方便管理,把其放在Nagios目录下


建立nagiosQL导出nagios配置文件的目录,并修改权限
建目录和改权限
mkdir -p /etc/nagiosql/{hosts,services,backup/{,hosts,services},import}
chown -R apache:nagios /etc/nagiosql/
chmod -R 755 /etc/nagiosql
chmod 777 /usr/local/nagios/nagiosql/config

Nagios相关文件权限的设定
chown nagios:apache /usr/local/nagios/etc
chown nagios:apache /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
chown nagios:apache /usr/local/nagios/etc/*
chmod 664 /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
chmod 775 /usr/local/nagios/etc

设定nagios二进制文件的权限,以便其能够通过Web程序执行
chown nagios:apache /usr/local/nagios/bin/nagios
chmod 750 /usr/local/nagios/bin/nagios
chown -R apache.nagios /usr/local/nagios/var/spool/
chown nagios:apache /usr/local/nagios/var/rw/nagios.cmd
chmod 660 /usr/local/nagios/var/rw/nagios.cmd

为apache添加nagiosQL虚拟目录

Alias /nagiosQL "/usr/local/nagios/nagiosql"
<Directory "/usr/local/nagios/nagiosql">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

重新加载httpd服务和启动mysqld服务

建立nagiosql安装文件
touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER

访问http://ip/nagiosQL进行安装
问题分享:我在访问的时候提示没有权限访问,搞了半天原来是SElinux惹的祸,修改SELinux的实时运行模式,setenforce 0 (设置SELinux 成为permissive模式)这个只是临时解决方法,优点是不需重启系统生效,但如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0

选取中文然后点开始安装按钮

测试所需环境通过,直接按下一步即可

删除安装目录,这里使用改权限:chmod 000 /usr/local/nagios/nagiosql/install


到这里安装步骤总算结束了,下面我们还需要进行相关配置工作.

管理-域-localhost---点“修改”

按如图所示更改相应的路径即可

工具-导入数据 右边会列出一些配置文件,选择导入即可。
导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程

工具-nagios控制-写入检测数据-写入其他数据

检查配置文件成功


写入之后就可以看到相应的cfg文件了,查看写入是否成功,由下面的输出可以看出写入是成功滴.

修改nagios的配置文件,将原有以cfg_file开头项全部注释掉,加入上面新写入的配置文件

注释掉

加入新的配置文件路径
cfg_dir=/etc/nagiosql/hosts/
cfg_dir=/etc/nagiosql/services/
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg

检查nagios的配置文件是否有问题,然后生重启nagios服务,至此整个搭建过程终于完成了,下一节将讲解重头戏,怎么用nagiosQL添加需要监控的主机以及启用nagios报警机制,待续~~!
分享到:
相关推荐
本文档详细讲解了CentOS 6.0操作系统中部署Nagios3.4.4+PNP4nagios的过程,文尾附带了部分本人在搭建的时候遇到的部分报错和解决方法。欢迎各位参考,如有不足,请提出宝贵意见。 本文来自网络,文档内容仅供参考。
centos6.0 lamp源码包,包含:autoconf-2.61.tar.gz freetype-2.3.5.tar.gz gd-2.0.35.tar.gz httpd-2.2.9.tar.gz jpegsrc.v6b.rar libmcrypt-2.5.8.tar.gz libpng-1.2.31.tar.gz libxml2-2.6.30.tar.gz ...
Linux8.5操作系统提供了稳定的基础平台,Zabbix 6.0 LTS作为强大的监控工具,能够有效地收集并分析各类设备和应用的性能数据。Grafana 8.4.3作为可视化展示的首选,可以将这些复杂的数据转化为直观的图表,帮助运维...
在本文中,我们将深入探讨如何在CentOS 6.0操作系统上搭建一个基于Apache 2.4、PHP 5.4.7和MySQL 5.5.27的Web服务器环境。这个环境对于开发和部署基于LAMP(Linux、Apache、MySQL、PHP)的应用程序至关重要。 首先...
在 CentOS 6.0 系统中,YUM(Yellow dog Updater Modified)是一款强大的包管理器工具,它允许用户在基于 RPM 的 Linux 发行版上自动下载、更新和安装软件包。为了确保 YUM 正常运行,必须正确配置 YUM 源,通常这些...
CentOS 6.0 是目前 CentOS 家族最新版的服务器系统,本教程将带您一步步完成 CentOS 6.0 的安装过程。 一、前提条件 * 一张 Linux CentOS 6.0 光盘或者 ISO 镜像文件 二、安装步骤 1.1、光盘引导界面,选择...
cd /usr/src && tar xzvf nagios-plugins-1.4.13.tar.gz && cd nagios-plugins-1.4.13 && ./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios && make && make install...
在本篇文章中,我们将详细介绍如何在Centos 6.0操作系统上安装LAMP(Linux、Apache、MySQL、PHP)环境,并配置PhpMyAdmin作为图形化管理工具。LAMP是一种常用的开源Web开发平台,用于构建动态网站或网络应用。 ####...
本文档详细介绍了如何在CentOS6.0操作系统上安装Oracle10g,这是一个非常实用的技术教程,尤其适合那些希望在最新版本的Linux发行版上部署旧版本Oracle数据库的用户。 首先,让我们深入了解CentOS6.0。这是一个基于...
centos6.0种子文件 操作系统下载
### CentOS 6.0 安装GCC 在Linux系统中,GCC(GNU Compiler Collection)是一个重要的编译器套件,支持多种编程语言如C、C++等。对于开发者来说,安装GCC是进行软件开发的基础步骤之一。本文将详细介绍如何在CentOS...
### CentOS6.0安装Oracle详解 #### 工具准备与远程连接 在开始安装Oracle之前,需要准备一些必要的工具,以便于文件传输和远程管理。本文档提到了两个关键工具:FileZilla和Putty。 - **FileZilla**:这是一款...
本文将详细介绍如何在VMware 10上安装CentOS 6.0,这是一个适合初学者和专业人士了解Linux环境的实践过程。 首先,我们需要下载VMware 10的安装程序和CentOS 6.0的ISO镜像文件。VMware 10提供了稳定且功能丰富的...
**CentOS 6.0 安装步骤详解** 在安装 CentOS 6.0 时,首先需要通过光盘或U盘成功引导系统。引导过程的关键在于如何选择合适的启动模式。当系统加载时,按下键盘上的 ESC 键,会出现 `boot:` 提示符,此时输入 `...
很多做服务器的程序员都因为在linux下安装linux而头痛不已,确实是很麻烦的一件事,此文档讲解了在CentOs6.0下安装Oracle11g的详细步骤,希望能帮到大家。
centos6+python3.6+django2+ansible2.4+celery4.2 运维管理系统,目前实现功能:用户和用户组管理、资产管理、集成ansible2.4、简易堡垒机(主机分配支持rdp以及vnc、用户分配、文件上传下载、配置禁用命令清单、操作...
### CentOS 6.0 图形安装教程与基本配置详解 #### 一、CentOS简介 **CentOS** 是一个基于 **Red Hat Enterprise Linux (RHEL)** 提供的可自由使用的源代码企业级 Linux 发行版本。它以 RHEL 的源代码为基础进行...
### 知识点详解:XP下硬盘安装CentOS 6.0 #### 一、背景与挑战 在本文档中,作者面临的主要问题是缺少通常用于安装操作系统的硬件资源(如光驱、USB闪存盘)以及主板不支持从USB设备启动的情况。这意味着传统的...
CentOS 6.0作为一款广泛使用的Linux发行版,提供了丰富的功能和稳定性,非常适合构建Web服务器。本文将详细解析如何在CentOS 6.0上通过编译安装Nginx、Mysql、PHP以及Zend Optimizer的过程,旨在为开发者提供一个...
centos6+centos7+centos8-升级openssh到9.8p1