centos7安装nagios步骤

 1、Nagios简介

Nagios logo

  Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。php

  Nagios原名为NetSaint,由Ethan Galstad开发并维护至今。NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒,而"Agios"是"saint"的希腊表示方法。Nagios被开发在Linux下使用,但在Unix下也工做得很是好。linux

主要功能ios

  • 网络服务监控(SMTP、POP三、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  • 主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)
  • 能够指定本身编写的Plugin经过网络收集数据来监控任何状况(温度、警告……)
  • 能够经过配置Nagios远程执行插件远程执行脚本
  • 远程监控支持SSH或SSL加通道方式进行监控
  • 简单的plugin设计容许用户很容易的开发本身须要的检查服务,支持不少开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
  • 包含不少图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
  • 可并行服务检查
  • 可以定义网络主机的层次,容许逐级检查,就是从父主机开始向下检查
  • 当服务或主机出现问题时发出通告,可经过email, pager, sms 或任意用户自定义的plugin进行通知
  • 可以自定义事件处理机制从新激活出问题的服务或主机
  • 自动日志循环
  • 支持冗余监控
  • 包括Web界面能够查看当前网络状态,通知,问题历史,日志文件等

2、Nagios工做原理web

  Nagios的功能是监控服务和主机,但自身并无该功能,全部的监控、检测功能都是经过插件来完成。sql

  Nagios周期性调用插件检测服务器状态,并维持一个队列,全部插件返回状态信息都进入队列,Nagios每次从队首开始读取信息,并把状态经过web显示。shell

  Nagios提供了许多插件,利用这些插件能够监控服务状态。安装完成后,在nagios主目录下/libexec放有nagios自带全部插件,如check_disk检查磁盘空间插件,check_load检查CPU负载等等。每个插件可运行./check_xxx –h 查看其使用方法和功能。apache

  Nagios可识别4种状态返回信息,即ruby

  •   0(OK)表示状态正常/绿色
  •   1(WARNING)表示出现警告/黄色
  •   2(CRITICAL)表示出现很是严重的错误/红色
  •   3(UNKNOWN)表示未知错误/深黄色

  Nagios根据插件返回值判断监控对象状态,并经过web显示。服务器

四种监控状态网络

2

  Nagios 自身没有报警代码,甚至无插件,交给用户或者其余相关开源项目组去完成。

  Nagios基本上无依赖包,只要求系统是Linux或者其余Nagios支持的系统。安装apache可提供web页面访问。

  Nagios如何管理远端服务器对象?

  Nagios 系统提供了一个插件NRPE。经过周期性运行得到远端服务器状态信息。它们之间关系以下:

1

Nagios 经过NRPE 来远端管理服务

  • 1. Nagios 执行check_nrpe 插件,告诉check_nrpe 去检测哪些服务。
  • 2. 经过SSL,check_nrpe 链接远端机上的NRPE daemon
  • 3. NRPE 运行本地插件检测本地服务状态(check_disk,..etc)
  • 4. NRPE 把检测结果传给主机端check_nrpe,check_nrpe 再把结果送到Nagios状态队列
  • 5. Nagios 依次读取队列信息,并显示

 

准备工做

本文 从官网获取Nagios源码包进行编译,须要编译环境,同时 Nagios 的Web界面须要有 Web 服务器和 PHP 运行环境。本文 Web 服务器使用 Apache,用户也能够自行选择使用其余 Web 服务器,如Nginx等。

如下命令均在root下进行:

yum install httpd php yum install gcc glibc glibc-common unzip yum install gd gd-devel

安装步骤

1 建立系统用户

建立 nagios 用户并设置密码

/usr/sbin/useradd -m nagios passwd nagios

建立 nagcmd 用户组,将 nagios 和 apache(web 服务器的运行用户) 用户添加至该组

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd apache

2 下载 Nagios 及其插件

能够前往 https://www.nagios.org 获取最新的软件包,这里以 Nagios 核心 4.2.1,以及插件 2.1.2 为例:

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.1.tar.gz wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

3 Nagios 核心的编译与安装

解压源码包

tar -zxvf nagios-4.2.1.tar.gz cd nagios-4.2.1 

编译配置信息(如下命令切换到目录.../nagios-4.2.1下执行)

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

编译

make all

安装 Nagios,并初始化脚本及基础配置文件

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 ,将联系人邮件地址换成你本身的。

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

5 配置 web 服务器

建立 Apache 的配置文件,配置文件在目录 /etc/httpd/conf.d/

make install-webconf

为 Nagios 的 Web 界面建立 nagiosadmin 用户,并设置密码。

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

启动 Apache

systemctl start httpd

6 编译并安装 Nagios 插件包

Nagios 实际的监控脚本都是经过插件实现的,本文中的插件包是官方提供插件包(大约50个用于监控的插件),更多的插件能够去社区下载(https://exchange.nagios.org/),固然也能够本身编写插件。

解压插件包

tar -zxvf nagios-plugins-2.1.2.tar.gz cd nagios-plugins-2.1.2 

编译并安装(如下命令切换到nagios-plugins-2.1.2目录下执行)

./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

切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 这五个目录,若是存在则能够代表程序被正确的安装到系统了。Nagios 各个目录用途说明以下:

 

bin Nagios 可执行程序所在目录
etc Nagios 配置文件所在目录
sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
share Nagios网页文件所在的目录
libexec Nagios 外部插件所在目录
var Nagios 日志文件、lock 等文件所在的目录
var/archives Nagios 日志自动归档目录
var/rw 用来存放外部命令文件的目录

 

若是没有错误,就能够直接启动 Nagios

systemctl start nagios

查看nagios是否启动

systemctl status nagios

 

8 SELinux 设置

首先查询SElinux状态:

sestatus

A.若是此时状态是enforcing,会致使访问 Nagios CGIs 时出现 Internal Server Error 的错误。

为避免这个错误能够:

a)在SELinux配置文件/etc/selinux/config中disabled SELinux,重启系统;

b)临时将其设置为 Permissive 模式,但仅本次开机有效,下次启动依然是enforce:

setenforce 0

 

B.若是不想关闭 SELinux 或者将其设置为 Permissive ,即在 enforcing/targeted 模式下可使用以下命令进行设置

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/


9 登陆 Web 界面查看

访问 http://localhost/nagios,经过 nagiosadmin 用户及刚才设置的密码登陆。

点击左侧目录中的 Service,能够查看当前监控的服务。

这里写图片描述

10 其余配置

至此,Nagios 的基础安装就结束了。这里还要补充说明的一下,服务器的防火墙须要容许 apache 80 端口的访问,能够经过以下命令设置防火墙,容许 80 端口的访问。

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

 

若是不能访问网页nagios,采起直接关闭防火墙:

systemctl status firewalld.service     

systemctl stop firewalld.service

 

注意此时还没法发送邮件

参考http://blog.csdn.net/firstar521/article/details/52848393

相关文章
相关标签/搜索