CR-VHEL6下Nagios的设置与布局,下安装配置Nagios监察和控制系统详细计谋

by admin on 2019年7月25日

Nagios是三个盛行的Computer系统和互连网监察和控制程序,它检查测量试验主机和劳动,当格外爆发和搞按期能唤起用户。它是基于GPLv2开采的开源软件,可无偿获得及利用。

Nagios是一款开源的无偿监察和控制软件,能很好的监督检查Windows、Linux和Unix的主机状态,沟通机、路由器等网络设施等。相信广大对象都有用过那么些软件,下面把自个儿的安装使用过程中拿出去和豪门大饱眼福一下,有不足之处希望大家指正。

一、Nagios简介

正文所需软件下载地址:

nagios工作规律

nagios的功效是监督服务和主机,不过其自己并不包罗那些意义,全数的监察和控制、检查评定功用都以通过各个插件来实现的。运转nagios后,它会周期性的自行调用插件去检验服务器状态,同期nagios会保持一个系列,全数插件重回的情事音讯都跻身队列,nagios每回都从队首读取音信,实行管理后,再把状态结果通过web显示出来。那正是被动形式,平时用来监察和控制主机的系统能源,比如系统负荷、磁盘使用率、内存使用率、网络状态、系统进度数等等。另一种是积极格局,首假若nagios服务器主动去获取数据,常用于探测U帕杰罗L的监察和控制和劳务的气象监控。相比较于主动格局中服务器主动去被监察和控制机上轮询获取监察和控制数据的点子,那样做的两个非常的大优势正是将除了数据管理的别样干活都位于了被监察和控制机上边(包罗数据的传导),就防止了被监察和控制机数量大时一回轮询时间过长而招致监控反应延迟,那也是被动形式能担任越来越大监察和控制量的首要。nagios提供了众多插件,利用那一个插件能够一本万利的监察相当多劳动意况。安装到位后,在nagios主目录下的/libxec里放有nagios自带的能够利用的装有插件。

连带阅读:

  Nagios是一款开源的计算机系统和网络监视工具,能一蹴而就监察和控制Windows、Linux和Unix的主机状态,沟通机路由器等互联网设置,打字与印刷机等。在系统或服务意况特别时发出邮件或短信报告警察方第有时间通告网址运行职员,在气象回涨后产生平常的邮件或短信文告。

——————————————分割线——————————————

nagios主要成效

  • 互联网服务监察和控制(SMTP、POP3、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分界面能够查阅当前网络状态,通告,难点历史,日志文件等

此番项目主要介绍怎么着安排nagios,如何对nagios进行布局,使其能够对点名的主机举办监察操作

Nagios系统监察和控制软件的图形突显
http://www.linuxidc.com/Linux/2012-11/73680.htm
Nagios系统监察和控制软件的邮件告警设置
http://www.linuxidc.com/Linux/2012-11/73679.htm

  Nagios原名字为NetSaint,由EthanGalstad开辟并爱惜到现在。NAGIOS是贰个缩写格局: “Nagios Ain’t Gonna Insist
On Sainthood” Sainthood
翻译为圣徒,而”Agios”是”saint”的希腊(Ελλάδα)代表方法。Nagios被开辟在Linux下选取,但在Unix下也职业得异常好。

FTP地址:ftp://ftp1.linuxidc.com

品类条件希图

设置遭遇: RedHat
5.5 x86_64bit

珍视意义

用户名:www.6688.cc

关闭防火墙及SELinux

一、主监控机系统的设置

  • 网络服务监察和控制(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  • 主机能源监察(CPU load、disk usage、system
    logs),也囊括Windows主机(使用NSClient++ plugin)
  • 能够钦命自身编写的Plugin通过互连网征集数据来监督任何动静(温度、警告……)
  • 能够经过布置Nagios远程实践插件远程试行脚本
  • 长距离监察和控制帮助SSH或SSL加通Doug局实行监督检查
  • 回顾的plugin设计允许用户很轻便的支出本人索要的检查服务,支持广大付出语言(shell
    scripts、C++、Perl、ruby、Python、PHP、C#等)
  • 带有众多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
  • 可相互服务检查
  • 可见定义互联网主机的层系,允许逐级检查,就是从父主机伊始向下检查
  • 当服务或主机出现问题时发生公告,可通过email, pager, sms
    或私自用户自定义的plugin实行通报
  • 能够自定义事件管理机制再度激活出难点的劳动或主机
  • 自行日志循环
  • 支撑冗余监察和控制
  • 包蕴Web分界面可以查看当前互联网状态,通告,难点历史,日志文件等

密码:www.linuxidc.com

系统版本:CentOS 7.4

1、建目录用户与授权:

二、Nagios职业原理

在 2013年LinuxIDC.com\10月\福特ExplorerHEL6下Nagios的装置与布局

虚构机分配

本次项目只对被监控端做简单测试,所以被监控端不需安装nagios插件。
角色
IP地址 所用软件
监控端 172.16.10.34 nagios-4.4.2、nagios-plugins-2.2.1
被监控端 172.16.10.20
被监控端 172.16.10.23

相关材质可从以下音讯获取下载:

点击那个http://www.linuxidc.com/Linux/2013-12/93755.htm 链接关爱
Linux公社官方微信
,关切后复原数字153674。就可以获得网上朋友的享用密码。

譬如裁撤关心Linux公中华社会大学伙儿号,就算再一次关心,也将不能够提供本服务!

链接:
密码:得到见上面的主意,地址失效请在下边留言。

——————————————分割线——————————————

[root@localhost
]# groupadd nagios

  Nagios的作用是监督检查服务和主机,可是她自身并不包涵这一部分意义,全数的监察、检测作用都以通过各样插件来形成的。

下载格局见
http://www.linuxidc.com/Linux/2013-10/91140.htm

配置nagios监察和控制种类

因为nagios监察和控制类别的网页须要动态网页支持,所以须求安装httpd和php软件,或许直接在lamp遭遇下安装,所以实验前要预备好虚构机情形,对于lamp框架结构的搭建,在那边就十分少废话。

能够参谋:CentOS
7.4下源码编写翻译安装配置LAMP意况详解 

[root@localhost
]# useradd -g nagiosnagios

  运行Nagios后,它会周期性的机关调用插件去检查评定服务器状态,同期Nagios会保持四个队列,全部插件再次来到来的场地信息都跻身队列,Nagios每一趟都从队首初步读取音讯,并拓展处理后,把状态结果通过web显示出来。

——————————————分割线——————————————

设置景况包

yum install -y \
— gcc \
— glibc \
— glibc-common \
— gd \
— gd-devel \
— xinetd \
— openssl-devel

[root@localhost
]# mkdir /usr/local/nagios

  Nagios提供了重重插件,利用这一个插件能够方便的监督检查相当多劳动意况。安装完毕后,在nagios主目录下的/libexec里放有nagios自带的能够应用的富有插件,如,check_disk是检查磁盘空间的插件,check_load是反省CPU负载的,等等。每二个插件能够通过运营./check_xxx
–h 来查阅其利用格局和效率。

此地有布署nagios所需的富有的各样版本的软件财富,包蕴fetion能源

开创管理用户

useradd -s /sbin/nologin nagios

[root@localhost
]# chown nagios:nagios /usr/local/nagios

  Nagios能够分辨4种意况再次来到音讯,即
0(OK)表暗中提示况平常/洋蓟绿、1(WACR-VNING)表示现身警示/铁青、2(C奥迪R8ITICAL)表示出现非常的惨痛的不当/浅黄、3(UNKNOWN)表示未知错误/深天蓝。Nagios依照插件重回来的值,来剖断监察和控制指标的情况,并由此web呈现出来,以供助理馆员及时开掘故障。

1.实施情状:
nagios主机:desk32.example.com 192.168.122.32\
mysql主机:desk3.example.com 192.168.122.3
2.nagios的安装:
nagios是用一些发令在被监督主机上运维后将访谈的音讯重回。
编写翻译需求的借助包:
yum install httpd gcc make gd-devel perl-ExtUtils-Embed.x86_64 -y
yum  -y  localinstall  gd-devel-2.0.35-10.el6.x86_64
useradd nagios          #运行 nagios 服务的用户
usermod -G nagios apache        #使 apache 用户对 nagios
目录具备写权限,不然 web 页面操作失利
 tar jxf nagios-cn-3.2.3.tar.bz2
cd nagios-cn-3.2.3
useradd  nagios
usermod -G nagios apache
./configure –prefix=/usr/local/nagios –enable-embedded-perl
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf

创建筑和安装装目录,钦定属主属组

mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios

 

八种监察和控制状态

 

编写翻译安装nagios

tar -zxvf nagios-4.4.2.tar.gz -C /opt

cd /opt/nagios-4.4.2
./configure –prefix=/usr/local/nagios
make all
make install
make install-init
make install-commandmode
make install-config

2、解压与安装:(下载地址:)

home88一必发 1

bin Nagios 实行顺序所在目录,这些目录唯有一个文本 nagios
etc Nagios 配置文件地方,开始安装完后,只有多少个*.cfg-sample 文件
sbin Nagios Cgi 文件所在目录,也正是施行外部命令所需文件所在的目录
share Nagios 网页文件所在的目录
var Nagios 日志文件、spid 等文件所在的目录

证实安装结果

ls /usr/local/nagios

home88一必发 2

[root@localhost
]# tar -zxvf nagios-3.2.3.tar.gz

     
再说报告警察方作用,即便监察和控制系列开掘难题无法报告警察方那就从未有过意义了,所以报告警方也是nagios很尊崇的功力之一。然则,一样的,Nagios
本身也从没报告警察方部分的代码,乃至未有插件,而是交由用户依然别的连锁开源项目组去做到的。

 

安装nagios-plugins

tar xvzf nagios-plugins-2.2.1.tar.gz -C /opt

cd /opt/nagios-plugins-2.2.1
./configure –prefix=/usr/local/nagios
make && make install

[root@localhost
]# cd nagios-3.2.3

  Nagios
安装,是指基本平台,也便是Nagios软件包的设置。它是监察和控制系统的框架,也是全部监察和控制的底子。

3.安装nagios-plugin插件:
设置重视包:

布局nagios监察和控制系统

[root@localhost
]# ./configure

  张开Nagios官方的文书档案,会发现Nagios基本上未有啥样正视包,只需要系统是Linux或许其余Nagios帮助的类别。可是若是你未曾设置apache(http服务),那么你就从未那么直观的分界面来查阅监察和控制音信了,所以apache姑且算是二个前提条件。关于apache的设置,互连网有许多,照着安装正是了。安装之后要检查一下是还是不是足以健康办事。

yum -y install mysql-devel openssl-devel
[root@desk32 nagios-plugins-1.4.16]# ./configure
–with-nagios-user=nagios –with-nagios-group=nagios
–enable-extra-opts  –enable-perl-modules
[root@desk32 nagios-plugins-1.4.16]#make && make install

修改httpd.conf

vim /etc/httpd/conf/httpd.conf
User nagios
Group nagios  //修改原用户名apache为nagios

<IfModule dir_module>
  DirectoryIndex index.html index.php    //增加index.php
</IfModule>
AddType application/x-httpd-php .php  //插入该句

[root@localhost
]# make
all

  知道Nagios
是什么通过插件来保管服务器对象后,未来开始商量它是哪些管理远端服务器对象的。Nagios
系统提供了三个插件NRPE。Nagios
通过周期性的运转它来博取远端服务器的各类场馆新闻。它们中间的涉嫌如下图所示:

 

充实安全评释配置

为了安全起见,一般景观下要让nagios 的web
监察和控制页面必须通过授权技巧访谈,那亟需充实表达配置,即在httpd.conf
文件最终插入如下音讯:

vim /etc/httpd/conf/httpd.conf
#setting for nagios
ScriptAlias /nagios/cgi-bin “/usr/local/nagios/sbin”
<Directory “/usr/local/nagios/sbin”>
    AuthType Basic
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName “Nagios Access”
    AuthUserFile /usr/local/nagios/etc/htpasswd             
    Require valid-user
</Directory>
Alias /nagios “/usr/local/nagios/share”
<Directory “/usr/local/nagios/share”>
    AuthType Basic
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName “nagios Access”
    AuthUserFile /usr/local/nagios/etc/htpasswd
    Require valid-user
</Directory>

[root@localhost
]# make install

home88一必发 3

再未有安装插件前在/usr/local/nagios/libexec下未有东西,安装后次目录下安装的是nagios用于检查的命令。

安装登录用户名及密码

htpasswd -c /usr/local/nagios/etc/htpasswd chen

[root@localhost
]# make install-init

Nagios 通过NRPE 来远端管理服务

[root@desk32 nagios-plugins-1.4.16]# cd /usr/local/nagios/
[root@desk32 nagios]# ls
bin  etc  include  libexec  perl  sbin  share  var
[root@desk32 nagios]# ls libexec/
………..check_apt check_file_age check_jabber check_nt       
check_rpc      check_time  check_breeze    check_flexlm       
check_load        check_ntp  …………..

配置nagios

配置nagois 一般在目录/usr/local/nagios/etc/下

[root@localhost
]# make install-commandmode

  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.cfg 定义和垄断(monopoly) nagios 行为 供给修改
Cgi 配置文件 cgi.cfg 浏览器施行诸如重启 nagios 服务等要修改
宏定义文件 Resource.cfg 定义插件路线 不需修改
一声令下定义文件 Commands.cfg 定义怎么发送短信、邮件等 供给修改
其他文件 contactgroups.cfg,contacts.cfg 监察和控制目的配置文件,如主机
主配置文件,富含,手动联系人安顿文件

templates.cfg

要害用于监察和控制主机能源以及服务,在nagios配置中称之为对象,为了不用再一次定义一些监理对象,Nagios引入了三个模板配置文件,将有些共性的性情定义成模板,以便于多次引用。contact_groups
联系组属性改成 np 就要后面包车型客车contacts.cfg文件中定义

vim /usr/local/nagios/etc/object/templates.cfg
contact_groups                  np  //文中有五处都需修改

[root@localhost
]# make install-config

三、实验遭遇

[root@desk32 etc]# vim nagios.cfg
#评释或删掉那行
#cfg_file=/usr/local/nagios/etc/localhost.cfg
#长机配置文件路线
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/service.cfg
//将服务与主机分开   
#//主机组配置文件路线
cfg_file=/usr/local/nagios/etc/hostgroups.cfg
#联络人布署文件路线
cfg_file=/usr/local/nagios/etc/contacts.cfg
#联系组配置文件路线
cfg_file=/usr/local/nagios/etc/contactgroups.cfg
#劳动配置文件路线
cfg_file=/usr/local/nagios/etc/services.cfg
#蹲点时段配置文件路线
cfg_file=/usr/local/nagios/etc/timeperiods.cfg
#在 web 界面下重启 nagios、甘休主机/服务检查等操作,.暗中同意值是 0.
check_external_commands=1
#依赖本人的气象定那些命令检查时间间隔.默许值是 1 秒.
command_check_interval=10s

resource.cfg文件

resource.cfg是nagios的变量定义文件 一般不要求改造

 

Host name  OS  IP  Software
 Nagios-Server  CentOS release 6.5(Final)  192.168.70.82  Apache、php、nagios、nagios-plugins
 Nagios-Linux   CentOS release 6.5(Final) 192.168.70.83 nagios-plugins、nrpe
Nagios-Windows Windows 7 x64  192.168.70.60   NSClient++

留意:以上的有一点点公文的地方是不得法的。因为存在软件的晋级换代等原因,文件地点有一对的调节
[CR-VHEL6下Nagios的设置与布局,下安装配置Nagios监察和控制系统详细计谋。root@desk32 objects]# cp localhost.cfg hosts.cfg
#创制主机定义文件
[root@desk32 objects]# cp localhost.cfg service.cfg 
#创设服务概念文件
[root@desk32 objects]#vim hosts.cfg 
#只剩下对于主机及主机组的定义将服务的概念删掉
#########################################
# HOST DEFINITION
#########################################
# Define a host for the local machine
define host{
        use                    linux-server         
        host_name              desk32.example.com
        alias                  ngios服务器
        address                127.0.0.1
        icon_image              switch.gif
        statusmap_image        switch.gd2
        2d_coords              100,200
        3d_coords              100,200,100
        }
define host{
        use                    linux-server
        host_name              王兹银家用电器机
        alias                  家庭上网用机
        parents                desk32.example.com
        address                127.0.0.1
        icon_image              web.gif
        statusmap_image        web.gd2
        2d_coords              100,300
        3d_coords              100,300,100
        }
#####################################################################
# HOST GROUP DEFINITION
#####################################################################
# Define an optional hostgroup for Linux machines
define hostgroup{
        hostgroup_name  linux-servers
        alias          Linux Servers
        members        *     
#包含的主机“*”代表包蕴上定义的有所的主机
        }
define hostgroup{
        hostgroup_name 家用机器组
        alias  放在家里用的PC机
      members 王兹银家用电器机  #只包蕴主机“王兹银家用电器机”
#        members    *
      #含有全部主机
        }

commands.cfg文件

此文件私下认可是存在的,没有要求修改就能够使用,当然要是有新的授命要求投入时,在此文件进行加多就可以

3、安装相关插件:(下载地址:)

Server
安装了nagios软件,对监督检查的多寡做拍卖,何况提供web分界面查看和保管。当然也能够对本机自个儿的音讯进行监察。

 

hosts.cfg文件

此文件暗中同意一纸空文,供给手动创造,hosts.cfg首要用于钦命被监督的主机地址以及相关属性新闻,注意书写格式,不要有结余的空格

vim /usr/local/nagios/etc/objects/hosts.cfg
define host{ 
        use                    linux-server           
//援用主机linux-server的属性新闻,linux-server主机在templates.cfg文件中展开了概念。
        host_name              Nagios-Linux    //主机名,自定义
        alias                  Nagios-Linux    //主机小名
        address                172.16.10.20   
//被监督的主机地址,那么些地址能够是ip,也足以是域名。
        } 
define hostgroup{                                //定义三个主机组
        hostgroup_name          bsmart-servers   
//主机组名称,能够轻巧钦赐。
        alias                  bsmart servers    //主机组别名
        members                Nagios-Linux     
//主机组成员,个中“Nagios-Linux”正是地点定义的主机。   
        }

[root@localhost
]# tar -zxvf nagios-plugins-1.4.15.tar.gz

Client
安装了NRPE等客户端,依据监察和控制机的恳求推行监督,然后将结果回传给监察和控制机。

以下正是主机组的不相同:

localhost.cfg

用来监督本机 一般无需改变

[root@localhost
]# cd nagios-plugins-1.4.15

防火墙已关门/iptables: Firewall is not running.

home88一必发 4

services.cfg

此文件私下认可也一纸空文,必要手动创造,主要用来定义监察和控制的劳务和主机能源

vim /usr/local/nagios/etc/objects/services.cfg
define service{ 
        use                    local-service     
//援用local-service服务的属性值,local-service在templates.cfg文件中举办了概念。
        host_name              Nagios-Linux     
//内定要监督哪个主机上的劳务,“Nagios-Server”在hosts.cfg文件中张开了概念。
        service_description    check-host-alive 
//对监督服务内容的描述,以供维护职员参照他事他说加以考察。
        check_command          check-host-alive  //钦命检查的一声令下。
        } 

[root@localhost
]# ./configure

SELINUX=disabled

以下关于劳动的概念:
[root@desk32 objects]# vim
/usr/local/nagios/etc/objects/service.cfg
#########################################
# SERVICE DEFINITIONS
#########################################
define service{
        use                            local-service     
        host_name                      *
      #意味着此服务将监察和控制全体主机
        service_description            PING
        }
define service{
        use                            local-service       
        host_name                      *
        service_description            根分区
        }
define service{
        use                            local-service     
        host_name                      desk32.example.com
  #该服务只监控desk32
        service_description            登入用户数
        }
define service{
        use                            local-service     
        host_name                      desk32.example.com
        service_description            进度总的数量
        }
define service{
        use                            local-service       
        host_name                      desk32.example.com
        service_description            系统负荷
        }
define service{
        use                            local-service     
        host_name                      desk32.example.com
        service_description            互换空间利用率
        }
define service{
        use                            local-service   
        host_name                      desk32.example.com
        service_description            SSH
        }
define service{
        use                            local-service     
        host_name                      desk32.example.com
        service_description            HTTP
        }
#########################################
#DEFINE SERVICEGROUP
#########################################
define servicegroup{
        servicegroup_name      系统一检查查
        alias                  系统情状
    embers
desk32.example.com,PING,desk32.example.com,根分区,desk32.example.com,登陆用户数,desk32.example.com,系统负荷,desk32.example.com,交流空间利用率,desk32.example.com,SSH,desk32.example.com,HTTP,desk32.example.com,进度总量
        } 

contacts.cfg

contacts.cfg是三个概念联系人和关系人组的布局文件,注意书写格式。

vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name                    chen           
//联系人的名称,那几个地点不要有空格
        use                            generic-contact
//引用generic-contact的性质信息,当中“generic-contact”在templates.cfg文件中举办定义
        alias                          Nagios Admin
        email                          46****06@qq.com
//填入真实可用邮箱,也可不写
        }
define contactgroup{
        contactgroup_name      np                     
//联系人组的名目,同样不能够空格
        alias                  Technical Support     
//联系人组描述,切中要害,能懂什么意思就行
        members                chen                   
//联系人组成员,在那之中“chen”就是地点定义的牵连人,尽管有几个关系人则以逗号相隔
        }

[root@localhost
]# make && make install

四、实验目的

home88一必发 5
 ot@desk32 objects]# /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors:  0
#担保配置文件的语法没不通常
[root@desk32 etc]# /etc/init.d/nagios start

cgi.cfg

此文件用来调整相关cgi脚本,由于nagios的web监察和控制分界面验证用户为chen,所以只需在cgi.cfg文件中加多此用户的进行权限

default_user_name=chen
authorized_for_system_information=nagiosadmin,chen 
authorized_for_configuration_information=nagiosadmin,chen 
authorized_for_system_commands=chen
authorized_for_all_services=nagiosadmin,chen 
authorized_for_all_hosts=nagiosadmin,chen
authorized_CR-VHEL6下Nagios的设置与布局,下安装配置Nagios监察和控制系统详细计谋。for_all_service_commands=nagiosadmin,chen 
authorized_for_all_host_commands=nagiosadmin,chen           
//配置文件末尾插入

[root@localhost
]# ls /usr/local/nagios/libexec/(翻开有无安装成功,成功会荧屏件包)

home88一必发 6

越多详细情形见请继续读书下一页的优异内容
http://www.linuxidc.com/Linux/2013-10/91139p2.htm

nagios.cfg

将对象配置文件在Nagios.cfg文件中举行援用

vim /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg   
//合适的职位插入
command_check_interval=10s 
//该变量用于安装nagios对外界命令检查评定的光阴世隔,插入就能够。

 

五、Nagios服务端安装

推荐阅读

表达配置文件准确性

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

home88一必发 7

4、安装apache发布器(如若从前系统未设置httpd组件的话,要新装一下相关的rpm包):

5.1 基础支撑套件:gcc glibc glibc-common gd gd-devel xinetd
openssl-devel

CentOS
6下Cacti搭建文书档案
http://www.linuxidc.com/Linux/2013-06/86595.htm

重启服务

systemctl restart httpd。service
systemctl restart nagios.service

[root@localhost
]# rpm -ivh apr-1.2.7-11.x86_64.rpm

# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel

本田UR-VHEL5.9下Cacti监察和控制布署详解
http://www.linuxidc.com/Linux/2013-06/85427.htm

访问nagios网站

该网址设置了登入验证,所以在探问网址是输入此前安装的用户名和密码就可以登入网址。

home88一必发 8
home88一必发 9

[root@localhost
]# rpm -ivh postgresql-libs-8.1.11-1.el5_1.1.x86_64.rpm

只要系统中尚无这个套件,使用yum 安装

CentOS 6.3 下Cacti 安装详解
http://www.linuxidc.com/Linux/2013-05/84279.htm

扩展主机数

[root@localhost
]# rpm -ivh apr-util-1.2.7-7.el5.x86_64.rpm

#  yum -y install gcc gd gd-devel xinetd openssl-devel

CentOS Linux下高速安装配置Cacti国语版
http://www.linuxidc.com/Linux/2013-03/81627.htm

修改hosts.cfg文件

此文件默许不设有,供给手动创制,hosts.cfg重要用以钦赐被监督的主机地址以及有关属性新闻,注意书写格式,不要有盈余的空格

vim /usr/local/nagios/etc/objects/hosts.cfg
define host{ 
        use                    linux-server           
//引用主机linux-server的质量信息,linux-server主机在templates.cfg文件中开始展览了定义。
        host_name              Nagios-Linux    //主机名,自定义
        alias                  Nagios-Linux    //主机别称
        address                172.16.10.20   
//被监察和控制的主机地址,那么些地方能够是ip,也能够是域名。
        } 
define host{
        use                    linux-server
        host_name              Nagios-Linu
        alias                  Nagios-Linu
        address                172.16.10.23
        }

define hostgroup{                                //定义四个主机组
        hostgroup_name          bsmart-servers   
//主机组名称,能够从心所欲钦赐。
        alias                  bsmart servers    //主机组小名
        members                Nagios-Linux,Nagios-Linu     
//主机组成员,个中“Nagios-Linux”正是上面定义的主机。   
        }

[root@localhost
]# rpm -ivh httpd-2.2.3-22.el5.x86_64.rpm

5.2 创制nagios用户和用户组
# useradd  nagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios

Nagios
的详尽介绍
:请点这里
Nagios
的下载地址
:请点这里

重启服务

systemctl restart httpd。service
systemctl restart nagios.service

home88一必发 10

 

Linux公社的RSS地址:

正文永恒更新链接地址

home88一必发 11

[root@localhost
]# rpm -ivh httpd-manual-2.2.3-22.el5.x86_64.rpm

翻看nagios 目录的权力

home88一必发 12

(注意那上头的rpm包要依照顺序来设置)

# ll -d /usr/local/nagios/

 

home88一必发 13

5、配置发表器httpd.conf的参数:

5.3 编写翻译安装Nagios

[root@localhost
]# vim /etc/httpd/conf/httpd.conf

# wget

(在文书内容的最下边加多)

# tar xzvf nagios-3.5.0.tar.gz

  1. ServerName localhost:80
  2. ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
  3. <Directory
    “/usr/local/nagios/sbin”>
  4. Options ExecCGI
  5. AllowOverride None
  6. Order allow,deny
  7. Allow from all
  8. AuthName “Nagios Access”
  9. AuthType Basic
  10. AuthUserFile /usr/local/nagios/etc/htpasswd.users
  11. Require valid-user
  12. </Directory>
  13. Alias /nagios /usr/local/nagios/share
  14. <Directory
    “/usr/local/nagios/share”>
  15. Options None
  16. AllowOverride None
  17. Order allow,deny
  18. Allow from all
  19. AuthName “Nagios Access”
  20. AuthType Basic
  21. AuthUserFile /usr/local/nagios/etc/htpasswd.users
  22. Require valid-user
  23. </Directory>

# cd nagios

 

# ./configure –prefix=/usr/local/nagios

6、加多nagios的登入用户(如nagiosadmin)

home88一必发 14

[root@localhost
]# htpasswd -c
/usr/local/nagios/etc/htpasswd.usersnagiosadmin

#make all

[root@localhost
]# cat /usr/local/nagios/etc/htpasswd.users(说明:查看有无加多职业有成)

home88一必发 15

 

#make install

7、增加运行nagios服务:

home88一必发 16

[root@localhost
]# chkconfig –add nagios

#make install-init

[root@localhost
]# chkconfig nagios on

home88一必发 17

[root@localhost
]# service nagios start

#make install-commandmode

 

home88一必发 18

8、运行http宣布服务:

# make install-config

[root@localhost
]# service httpd start

home88一必发 19

[root@localhost
]# chkconfig httpd on

# chkconfig –add nagios

 

# chkconfig –level 35 nagios on

 

# chkconfig –list nagios

9、登陆页面:

home88一必发 20

(1)

 

(2) 输入登入用户名和密码

5.4 验证程序是还是不是被科学安装

(3) 进入管理平台

切换目录到安装路线(这里是/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

 用来存放外部命令文件的目录

注意:
若是输入用户名和密码成功登陆现在,页面呈现“无权访谈网页”,那是因为没有设置PHP的套件,nagios的网页须求php来扶助。解决办法如下:

5.5 安装Nagios 插件

(1) 确定保证linux主机或服务器能够上互连网

#wget

(2)
实践上边包车型客车安装命令:

home88一必发 21

[root@localhost
]# yum install php (表达:yum命令会先比较本机贫乏的php包,然后自行从网络络搜索,找到以往会列出来,提醒您是否下载安装,那时候再点击“yes”下载过来自动安装。)

# tar xzvf nagios-plugins-2.0.1.tar.gz

 

# cd nagios-plugins-2.0.1

 

# ./configure –prefix=/usr/local/nagios

二、主监察和控制机系统的参数配置

home88一必发 22

1、主配置文件:nagios.cfg

# make && make install

[root@localhost
]# cd /usr/local/nagios/etc

home88一必发 23

[root@localhost
]# vim nagios.cfg

 

(首要布局参数表达)

5.6 安装与配置Apache和Php

  1. cfg_file=/usr/local/nagios/etc/objects/commands.cfg
    #监察命令配置文件
  2. cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
    #联系人配备文件路线
  3. cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
    #监视时段配置文件路线
  4. cfg_file=/usr/local/nagios/etc/objects/templates.cfg
    #监督检查服务报告警察方配置文件
  5. cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
    #监理本机服务配置文件
  6. cfg_file=/usr/local/nagios/etc/objects/windows.cfg
    # 监察和控制windows机器列表的配置文件
  7. cfg_file=/usr/local/nagios/etc/objects/linux.cfg
    #增加产量监察和控制linux机器列表的安顿文件
  8. check_external_commands=1
    #允许在web分界面下实行重启nagios、甘休主机/服务检查等操作,0表不启用
  9. command_check_interval=5
    #监察不奇怪检查测量试验周时期隔时间,能够以设成10秒(10s),私下认可值是-1(为尽或许的急迅轮询);注意那是检查测量检验周期,不是报告警方周期,检查测量试验周期设置必供给比服务的报告警察方周期要小
  10. interval_length=60
    #距离长度,默许值为60,代表基数是60秒,表示周期是1分钟
  11. service_check_timeout=60 #劳动物检疫查时间距离
  12. host_check_timeout=30 #主计算机检索查时间距离
  13. event_handler_timeout=30
  14. notification_timeout=10
  15. ocsp_timeout=5
  16. perfdata_timeout=5

Apache 和Php 不是安装nagios
所必须的,不过nagios提供了web监察和控制分界面,通过web监控分界面能够清晰的收看被监督主机、能源的运长势况,因而,安装三个web服务是很须要的。
亟需专注的是,nagios在nagios3.1.x版本之后,配置web监控分界面时须求php的支撑。这里大家下载的nagios版本为nagios-3.5.0,因而在编写翻译安装达成apache后,还索要编写翻译php模块,这里选用的php版本为php5.4.10。安装apache在此以前,先卸载CentOS自带的apache:

2、监察和控制(哪些)机器的安顿文件:linux.cfg

home88一必发 24

[root@localhost
]# cd /usr/local/nagios/etc/objects

a. 安装Apache

[root@localhost
]# vim linux.cfg

# mkdir /usr/local/apache2

  1. define host{ ;要监督的主机定义
  2. use linux-server ;被监察和控制主机用途
  3. host_name web_host ;被监察和控制主机名称
  4. alias It’s http server ;被监督主机小名
  5. address 10.0.0.2 ;被监督主机IP地址
  6. }
  7. define hostgroup{ ;要监督的组定义

  8. hostgroup_name remote-linuxt-server ;被监察和控制组名称

  9. alias linuxserver ;被监督组外号
  10. members web_host ;被监察和控制组成员主机名有哪些,这里无法用小名,四个分子之间用,逗号隔开分离
  11. }
  12. define service{ ;要监督的劳动概念
  13. use local-service ;服务模型,可自定义
  14. hostname web_host ;要步入此服务的主机名称,要与地方同样。
  15. hostgroup_name remote-linux-server ;要参与此服务的组名称,要与地方相同
  16. service_description HTTP_port ;要监督的项目名称,可自身起
  17. check_command check_tcp!80!0.1!0.3 ;检查评定命令,配置文件在commands.cfg
  18. notifications_enabled 0 ;是不是通告告诉
  19. notification_interval 10 ;发告警的时日间隔10分钟,默许单位是秒钟,那行不设的话私下认可是1钟头
  20. }

# wget

(注意:这边的“notification_interval”报告警察方时间间隔要与templates.cfg文件中“normal_check_interval”的岁月相呼应,不可能小于那边设置的小时,否则会报错normal_check_interval暗中认可是10分钟发先生送报告警察方邮件一回)

# tar zxvf httpd-2.2.23.tar.gz

(表达:定义service服务的时候,要步向此服务的主机名称和组名称,可只设置四个,不必同期安装

# cd httpd-2.2.23

只要服务是多台主机共用的(如检查实验内存),可安装一个组名称

# ./configure –prefix=/usr/local/apache2

设若服务只是某一台或几台主机用的,设置多少个主机名称就足以了

# make && make install
 

 

home88一必发 25

3、命令参数配置文件:command.cfg

b. 安装Php

[root@localhost
]# cd /usr/local/nagios/etc/objects

# mkdir /usr/local/php

[root@localhost
]# vim command.cfg

# wget

 

# tar zxvf php-5.4.10.tar.gz

  1. define command{
  2. command_name check_local_disk
  3. command_line $USER1$/check_disk -w
    $ARG1$ -c $ARG2$ -p $ARG3$
  4. }

# cd php-5.4.10

说明:这里的$USE奥迪Q31$,$ALANDG1$,
$A库罗德G2$, $A奔驰M级G3$是哪些看头吧?

# ./configure –prefix=/usr/local/php
–with-apxs2=/usr/local/apache2/bin/apxs

(1)$USE君越1$是指插件路线/usr/local/nagios/libexec

home88一必发 26

(2)-w
$ARAV4G1$的参数钦定磁盘剩了稍稍是警戒状态,

编写翻译提醒错误,只要安装libxml2和libxml2-devel包就能够了:

(3)-c
$ASportageG2$的参数内定剩多少是惨重事态,

home88一必发 27

(4)-p
$A奇骏G3$用来钦命路径目录.

下一场从新编写翻译:

 

home88一必发 28

在loccalhost.cfg调用命令的时候可写成“check_command
check_local_disk!10%!5%!/

# make && make install

在命令名前边用!相隔出了3个参数,一成是$ACR-VG1$的值,5%是$AEnclaveG2$的值,/
是$A奥迪Q3G3$的值,

home88一必发 29

 

然后将php.ini拷贝到lib目录下:

4、报告警察方联系土精数配置文件:contacts.cfg

home88一必发 30

[root@localhost
]# cd /usr/local/nagios/etc/object

c. 配置apache
找到apache 的布置文件/usr/local/apache2/conf/httpd.conf

[root@localhost
]# vim contacts.cfg

找到:

  1. define contact{ ;联系人
  2. contact_name nagiosadmin
  3. use generic-contact
  4. alias Nagios Admin
  5. email nagios@localhost.com ;接收报告警察方的邮件地址
  6. }
  7. define contactgroup{ ;联系人组
  8. contactgroup_name admins ;联系人组名
  9. alias Nagios Administrators ;组别名
  10. members nagiosadmin ;组成员名单
  11. }

User daemon
Group daemon

 

修改为

5、配置完参数未来明确要再次检查测量检验是不是科学

User nagios
Group nagios

 

下一场找到
  DirectoryIndex index.html 

[root@localhost
]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

修改为   

( -v
检查安顿参数 )

DirectoryIndex index.html
index.php

[root@localhost
]# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

紧接着扩张如下内容:

( -d
后台重启服务进程 )

AddType application/x-httpd-php .php

6、命令和插件监察和控制

为了安全起见,一般景况下要让nagios 的web
监察和控制页面必须经过授权技艺访谈,那亟需追加表明配置,即在httpd.conf
文件最终增添如下音信:

[root@localhost
]# cd /usr/local/nagios/libexec

home88一必发 31

[root@localhost
]# ./check_disk -h**(查看磁盘意况的吩咐使用方法,唤醒:那边全部命令的使用方法都得以经过”命令名
–h**”来查看)

   

 

检查实验一下配置文件是还是不是出错:

一声令下使用:check_disk
-w
10% -c
5% /
此命令的意思是反省/分区的应用处境,若剩余百分之十以下,为警告状态(warning);5%之下,为严重事态(critical)。命令调用时简写成check_disk!10%!5%!/)

home88一必发 32

 

基于上边内容,提醒domain name错误,能够忽略不管,也得以一向找到:

(小结:localhost.cfg定义监察和控制项目用某些命令,那么些命令必须在commands.cfg中定义,定义那几个命令时选用了libexec下的插件)

#ServerName www.example.com:80
改成:
ServerName localhost:80

home88一必发 33

重复检查测验配置文件:

home88一必发 34

d. 创造apache目录验证文件

在地点的陈设中,钦命了目录验证文件htpasswd,上面要开创那一个文件:

# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd
pzh

home88一必发 35

 e. 启动apache 服务

# /usr/local/apache2/bin/apachectl start

到这里nagios 的装置也就基本到位了,你可以透过web来拜访了。

home88一必发 36

home88一必发 37

 

六、配置Nagios

Nagios
重要用来监察和控制一台可能多台当地主机及远程的各样新闻,包含本机能源及对外的劳动等。默许的Nagios
配置未有其余监察和控制内容,仅是一对模板文件。若要让Nagios
提供劳务,就务须修改配置文件,扩张要监督的主机和服务,下边将详细介绍。

6.1 暗许配置文件介绍

Nagios
安装收尾后,默许的布局文件在/usr/local/nagios/etc目录下,大家查阅下Nagios目录下的文书。

home88一必发 38

种种文件或目录含义如下表所示:

文件名或目录名 用途
cgi.cfg 控制CGI访问的配置文件
nagios.cfg Nagios 主配置文件
resource.cfg 变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$
objects objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象
objects/commands.cfg 命令定义配置文件,其中定义的命令可以被其他配置文件引用
objects/contacts.cfg 定义联系人和联系人组的配置文件
objects/localhost.cfg 定义监控本地主机的配置文件
objects/printer.cfg 定义监控打印机的一个配置文件模板,默认没有启用此文件
objects/switch.cfg 定义监控路由器的一个配置文件模板,默认没有启用此文件
objects/templates.cfg 定义主机和服务的一个模板配置文件,可以在其他配置文件中引用
objects/timeperiods.cfg 定义Nagios 监控时间段的配置文件
objects/windows.cfg 监控Windows 主机的一个配置文件模板,默认没有启用此文件

————————————–分割线

在Ubuntu下铺排Mrtg监察和控制Nginx和服务器系统能源
http://www.linuxidc.com/Linux/2013-08/88417.htm

使用 snmp+Mrtg 监控 Linux 系统
http://www.linuxidc.com/Linux/2012-11/73561.htm

Mrtg服务器搭建(监察和控制网络流量)
http://www.linuxidc.com/Linux/2012-07/64315.htm

网络监察和控制器Nagios全战术
http://www.linuxidc.com/Linux/2013-07/87067.htm

Nagios搭建与陈设详解
http://www.linuxidc.com/Linux/2013-05/84848.htm

Nginx境遇下营造Nagios监察和控制平台
http://www.linuxidc.com/Linux/2011-07/38112.htm

在奇骏HEL5.3上配置基本的Nagios系统(使用Nagios-3.1.2)
http://www.linuxidc.com/Linux/2011-07/38129.htm

CentOS 5.5+Nginx+Nagios监察和控制端和被控端安装配置指南
http://www.linuxidc.com/Linux/2011-09/44018.htm

Ubuntu 13.10 Server 安装 Nagios Core 互联网监控运用
http://www.linuxidc.com/Linux/2013-11/93047.htm

————————————–分割线

 

6.2 配置文件之间的关系

在nagios的布局进程中涉嫌到的多少个概念有:主机、主机组,服务、服务组,联系人、联系人组,监察和控制时间,监控命令等,从这一个概念能够见见,nagios各类配置文件之间是并行关联,互相引用的。

中标陈设出一台nagios监察和控制种类,须要求弄精晓每种配置文件之间依赖与被重视的涉及,最要紧的有四点:

先是:定义监察和控制哪些主机、主机组、服务和服务组;
第二:定义那一个监察和控制要用什么命令实现;
其三:定义监察和控制的大运段;
第四:定义主机或服务出现难题时要通报的联络员和联络人组。

6.3 配置Nagios

 为了能更了然的证实难点,同不时候也为了保证方便,建议将nagios各样定义对象创造独立的布局文件:

  • 创制hosts.cfg文件来定义主机和主机组
  • 创立services.cfg文件来定义服务
  • 用暗许的contacts.cfg文件来定义联系人和调换人组
  • 用默许的commands.cfg文件来定义命令
  • 用默许的timeperiods.cfg来定义监察和控制时间段
  • 用暗许的templates.cfg文件作为财富引用文件

a. templates.cfg文件

nagios首要用以监察和控制主机财富以及劳动,在nagios配置中称之为对象,为了不用再次定义一些监察对象,Nagios引进了叁个模板配置文件,将有个别共性的个性定义成模板,以便于多次援用。那便是templates.cfg的作用。

下边详细介绍下templates.cfg文件中各种参数的含义:

define contact{
        name                            generic-contact    ;
联系人名称

        service_notification_period   
24×7              ;
当服务出现至极时,发送公告的年月段,这几个时间段”24×7″在timeperiods.cfg文件中定义

        host_notification_period       
24×7              ;
当主机出现非常时,发送布告的光阴段,这一个时间段”24×7″在timeperiods.cfg文件中定义

        service_notification_options   
w,u,c,r            ;
那一个概念的是“布告能够被发生的状态”。w即warn,表示警告状态,u即unknown,表示不明状态 ,c即criticle,表示火急状态,r即recover,表示复苏情况 ;
也正是在服务出现警示状态、未知状态、迫切状态和重复苏醒状态时都发送公告给使用者。

        host_notification_options     
d,u,r                  ;
定义主机在怎样景况下供给发送文告给使用者,d即down,表示宕机状态; u即unreachable,表示不可达到状态,r即recovery,表示重新回涨境况。

        service_notification_commands 
notify-service-by-email ;
服务故障时,发送文告的艺术,能够是邮件和短信,这里发送的不二等秘书籍是邮件; 当中“notify-service-by-email”在commands.cfg文件中定义。

        host_notification_commands     
notify-host-by-email    ;
主机故障时,发送通告的主意,能够是邮件和短信,这里发送的法门是邮件;
个中“notify-host-by-email”在commands.cfg文件中定义。

        register                        0 
                  ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL
CONTACT, JUST A TEMPLATE!
        }

define host{
        name                            generic-host    ;
主机名称,这里的主机名,并非直接对应到真正机器的主机名 ;
乃是对应到在主机配置文件里所设定的主机名。
        notifications_enabled          1              ; Host
notifications are enabled
        event_handler_enabled          1              ; Host event
handler is enabled
        flap_detection_enabled          1              ; Flap
detection is enabled
        failure_prediction_enabled      1              ; Failure
prediction is enabled
        process_perf_data              1              ;
其值可认为0或1,其效果为是不是启用Nagios的多寡输出功能;假如将此项赋值为1,那么Nagios就能将征集的数据写入某些文件中,以备提取。
        retain_status_information      1              ; Retain status
information across program restarts
        retain_nonstatus_information    1              ; Retain
non-status information across program restarts
        notification_period            24×7            ;
钦赐“发送通知”的时光段,也便是能够在什么样时候发送文告给使用者。
        register                        0              ; DONT REGISTER
THIS DEFINITION – ITS NOT A REAL HOST, JUST A TEMPLATE!
        }

define host{
        name                            linux-server    ; 主机名称
        use                            generic-host    ;
use代表援引,也正是将主机generic-host的有所属性引用到linux-server中来;
在nagios配置中,比非常多情状下会用到引用。
        check_period                    24×7            ;
这里的check_period告诉nagios检查主机的岁月段
        check_interval                  5              ;
nagios对主机的检查时间间隔,这里是5分钟。
        retry_interval                  1              ;
重试检查时间距离,单位是分钟。
        max_check_attempts              10              ;
nagios对主机的最大检查次数,也正是nagios在自己讨论发掘某主机万分时,并不登时决断为极度意况 
;
而是多试一回,因为有十分大希望只是一代网络太拥挤,或是一些别的原因,让主机受到了有个别影响; 这里的10正是最多试12回的意思。
        check_command                  check-host-alive ;
钦点检查主机状态的吩咐,当中“check-host-alive”在commands.cfg文件中定义。
        notification_period            24×7            ;
主机故障时,发送文告的小时范围,当中“workhours”在timeperiods.cfg中举行了定义;
上面会时有时无讲到。
        notification_interval          10              ;
在主机出现非凡后,故障一向尚未缓解,nagios再一次对使用者发出布告的年月。单位是分钟;
即使您以为,全部的事件只须要一遍通报就够了,能够把那边的选项设为0
        notification_options            d,u,r          ;
定义主机在怎么动静下可以发送通知给使用者,d即down,表示宕机状态 ;
u即unreachable,表示不可到达状态; r即recovery,表示重新上升意况。
        contact_groups                  admins            ;
钦点联系人组,这么些“admins”在contacts.cfg文件中定义。
        register                        0              ; DONT REGISTER
THIS DEFINITION – ITS NOT A REAL HOST, JUST A TEMPLATE!
        }

define host{
        name                    windows-server  ; The name of this host
template
        use                    generic-host    ; Inherit default values
from the generic-host template
        check_period            24×7            ; By default, Windows
servers are monitored round the clock
        check_interval          5              ; Actively check the
server every 5 minutes
        retry_interval          1              ; Schedule host check
retries at 1 minute intervals
        max_check_attempts      10              ; Check each server 10
times (max)
        check_command          check-host-alive        ; Default
command to check if servers are “alive”
        notification_period    24×7            ; Send notification out
at any time – day or night
        notification_interval  10              ; Resend notifications
every 30 minutes
        notification_options    d,r            ; Only send
notifications for specific host states
        contact_groups          ts              ; Notifications get
sent to the admins by default
        hostgroups              windows-servers ; Host groups that
Windows servers should be a member of
        register                0              ; DONT REGISTER THIS –
ITS JUST A TEMPLATE
        }

define service{
        name                            generic-service        ;
定义叁个服务名称
        active_checks_enabled          1                      ; Active
service checks are enabled
        passive_checks_enabled          1                      ;
Passive service checks are enabled/accepted
        parallelize_check              1                      ; Active
service checks should be parallelized;
                                                                ;
(disabling this can lead to major performance problems)
        obsess_over_service            1                      ; We
should obsess over this service (if necessary)
        check_freshness                0                      ; Default
is to NOT check service ‘freshness’
        notifications_enabled          1                      ; Service
notifications are enabled
        event_handler_enabled          1                      ;
Service event handler is enabled
        flap_detection_enabled          1                      ; Flap
detection is enabled
        failure_prediction_enabled      1                      ;
Failure prediction is enabled
        process_perf_data              1                      ;
Process performance data
        retain_status_information      1                      ; Retain
status information across program restarts
        retain_nonstatus_information    1                      ;
Retain non-status information across program restarts
        is_volatile                    0                      ; The
service is not volatile
        check_period                    24×7            ;
这里的check_period告诉nagios检查服务的岁月段。
        max_check_attempts              3                ;
nagios对劳务的最大检查次数。
        normal_check_interval          5                ;
此选项是用来安装服务检查时间间隔,相当于说,nagios这一回检查和下一遍检查时期所隔的小时 ;
这里是5分钟。
        retry_check_interval            2                ;
重试检查时间间隔,单位是分钟。
        contact_groups                  ts          ; 钦点联系人组
        notification_options            w,u,c,r          ;
那些概念的是“通告可以被爆发的情景”。w即warn,表示警告状态 ;
u即unknown,表示不明 ;
c即criticle,表示急切状态,r即recover,表示复苏景况;
也正是在服务出现警示状态、未知状态、火急状态和重复复苏后都发送公告给使用者。
        notification_interval          10              ; Re-notify
about service problems every hour
        notification_period            24×7            ;
钦赐“发送公告”的时日段,也正是足以在哪些时候发送公告给使用者。
        register                        0                ; DONT REGISTER
THIS DEFINITION – ITS NOT A REAL SERVICE, JUST A TEMPLATE!
        }

define service{
        name                            local-service          ; The
name of this service template
        use                            generic-service        ; Inherit
default values from the generic-service definition
        max_check_attempts              4            ; Re-check the
service up to 4 times in order to determine its final (hard) state
        normal_check_interval          5            ; Check the
service every 5 minutes under normal conditions
        retry_check_interval            1            ; Re-check the
service every minute until a hard state can be determined
        register                        0            ; DONT REGISTER
THIS DEFINITION – ITS NOT A REAL SERVICE, JUST A TEMPLATE!
        }

b. resource.cfg文件

resource.cfg是nagios的变量定义文件,文件内容独有一行:

$USER1$=/usr/local/nagios/libexec

当中,变量$USE昂科威1$钦命了设置nagios插件的路径,要是把插件安装在了其余渠道,只需在此地开始展览更改就能够。必要专注的是,变量必须先定义,然后技能在任何配置文件中进行援引。

c. commands.cfg文件

此文件私下认可是存在的,无需修改就能够使用,当然如若有新的指令须要投入时,在此文件进行增添就能够。

 

#notify-host-by-email命令的定义
define command{
        command_name    notify-host-by-email           
#命令名称,即定义了二个主机极度时发送邮件的通令。
        command_line    /usr/bin/printf “%b” “***** Nagios
*****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost:
$HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo:
$HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n” | /bin/mail -s “**
$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **”
$CONTACTEMAIL$                                   
#指令具体的实践措施。
        }

#notify-service-by-email命令的概念
define command{
        command_name    notify-service-by-email         
#一声令下名称,即定义了三个劳动极度时发送邮件的授命
        command_line    /usr/bin/printf “%b” “***** Nagios
*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService:
$SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState:
$SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional
Info:\n\n$SERVICEOUTPUT$\n” | /bin/mail -s “** $NOTIFICATIONTYPE$
Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **”
$CONTACTEMAIL$
        }

#check-host-alive命令的概念
define command{
        command_name    check-host-alive               
#一声令下名称,用来检查测试主机状态。
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w
3000.0,80% -c 5000.0,100% -p 5           
                        #
这里的变量$USEENVISION1$在resource.cfg文件中张开定义,即$USELacrosse1$=/usr/local/nagios/libexec;
                        #
那么check_ping的完整路线为/usr/local/nagios/libexec/check_ping;
                        # “-w
三千.0,五分四”中“-w”表达前面包车型地铁一对值对应的是“WAHavalNING”状态,“十分七”是其临界值。
                        # “-c
六千.0,百分百”中“-c”表明后边的一对值对应的是“CPorsche718ITICAL”,“百分之百”是其临界值。
                        # “-p 1”表达每一次探测发送三个包。
        }

define command{
        command_name    check_local_disk
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p
$ARG3$           
#$A君越G1$是指在调用这些命令的时候,命令前面包车型客车率先个参数。
        }

define command{
        command_name    check_local_load
        command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
        }

define command{
        command_name    check_local_procs
        command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s
$ARG3$
        }

define command{
        command_name    check_local_users
        command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$
        }

define command{
        command_name    check_local_swap
        command_line    $USER1$/check_swap -w $ARG1$ -c $ARG2$
        }

define command{
        command_name    check_ftp
        command_line    $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
        }

define command{
        command_name    check_http
        command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
        }

define command{
        command_name    check_ssh
        command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
        }

define command{
        command_name    check_ping
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$
-c $ARG2$ -p 5
        }

define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v
$ARG1$ $ARG2$
        }

 

d. hosts.cfg文件

此文件默许官样文章,必要手动成立,hosts.cfg首要用于内定被监察和控制的主机地址以及相关属性音讯,依据实验目的铺排如下:

define host{ 
        use                    linux-server         
#援用主机linux-server的属性消息,linux-server主机在templates.cfg文件中举行了概念。
        host_name              Nagios-Linux          #主机名
        alias                  Nagios-Linux          #长机外号
        address                192.168.70.70       
#被监察和控制的主机地址,那么些地点能够是ip,也足以是域名。
        } 

#概念叁个主机组 
define hostgroup{     
        hostgroup_name          bsmart-servers       
#主机组名称,可以放肆钦点。
        alias                  bsmart servers        #长机组别称
        members                Nagios-Linux         
#主机组成员,当中“Nagios-Linux”正是上边定义的主机。   
        }

注意:在/usr/local/nagios/etc/objects 下默许有localhost.cfg
和windows.cfg 这些布局文件,localhost.cfg
文件是概念监察和控制主机自己的,windows.cfg 文件是概念windows
主机的,当中囊括了对host 和有关services
的定义。所以在此次试验中,将一贯在localhost.cfg
中定义监察和控制主机(Nagios-Server),在windows.cfg中定义windows
主机(Nagios-Windows)。根据本人的急需修改在那之中的有关配置,详细如下:

localhost.cfg

define host{
        use                    linux-server            ; Name of host
template to use
                                                        ; This host
definition will inherit all variables that are defined
                                                        ; in (or
inherited by) the linux-server host template definition.
        host_name              Nagios-Server
        alias                  Nagios-Server
        address                127.0.0.1
        }
define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias          Linux Servers ; Long name of the group
        members        Nagios-Server ; Comma separated list of hosts
that belong to this group
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            PING
        check_command                 
check_ping!100.0,20%!500.0,60%
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            Root Partition
        check_command                  check_local_disk!20%!10%!/
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            Current Users
        check_command                  check_local_users!20!50
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            Total Processes
        check_command                 
check_local_procs!250!400!RSZDT
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            Current Load
        check_command                 
check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            Swap Usage
        check_command                  check_local_swap!20!10
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            SSH
        check_command                  check_ssh
        notifications_enabled          0
        }
define service{
        use                            local-service        ; Name of
service template to use
        host_name                      Nagios-Server
        service_description            HTTP
        check_command                  check_http
        notifications_enabled          0
        }

windows.cfg

home88一必发 ,define
host{
        use            windows-server  ; Inherit default values from a
template
        host_name      Nagios-Windows  ; The name we’re giving to this
host
        alias          My Windows Server      ; A longer name associated
with the host
        address        192.168.70.60; IP address of the host
        }
define hostgroup{
        hostgroup_name  windows-servers ; The name of the hostgroup
        alias          Windows Servers ; Long name of the group
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    NSClient++ Version
        check_command          check_nt!CLIENTVERSION
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    Uptime
        check_command          check_nt!UPTIME
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    CPU Load
        check_command          check_nt!CPULOAD!-l 5,80,90
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    Memory Usage
        check_command          check_nt!MEMUSE!-w 80 -c 90
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    C:\ Drive Space
        check_command          check_nt!USEDDISKSPACE!-l c -w 80 -c
90
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    W3SVC
        check_command          check_nt!SERVICESTATE!-d SHOWALL -l
W3SVC
        }
define service{
        use                    generic-service
        host_name              Nagios-Windows
        service_description    Explorer
        check_command          check_nt!PROCSTATE!-d SHOWALL -l
Explorer.exe
        }

e. services.cfg文件

此文件暗中同意也不设有,要求手动创立,services.cfg文件主要用来定义监察和控制的服务和主机能源,比方监察和控制http服务、ftp服务、主机磁盘空间、主机系统负荷等等。Nagios-Server
和Nagios-Windows
相关服务已在对应的布局文件中定义,所以这里只需求定义Nagios-Linux
相关服务就能够,这里只定义一个检查测验是还是不是存活的服务来声明配置文件的科学,其余服务的概念将要背后讲到。

define service{ 
        use                    local-service         
#援用local-service服务的属性值,local-service在templates.cfg文件中开始展览了定义。
        host_name              Nagios-Linux         
#内定要监督哪个主机上的服务,“Nagios-Server”在hosts.cfg文件中打开了定义。
        service_description    check-host-alive     
#对监察和控制服务内容的叙说,以供维护人士参照他事他说加以考察。
        check_command          check-host-alive     
#点名检查的通令。
        } 

f.
contacts.cfg文件

contacts.cfg是贰个概念联系人和联系人组的布置文件,当监察和控制的主机大概服务出现故障,nagios会通过点名的打招呼格局(邮件或许短信)将音讯发给这里钦命的联络员或许使用者。

define contact{
        contact_name                   pzh             
#联系人的名目,这一个地点不要有空格
        use                            generic-contact 
#援引generic-contact的特性新闻,个中“generic-contact”在templates.cfg文件中展开定义
        alias                          Nagios Admin
        email                           zihepeng@126.com   

        }

define contactgroup{
        contactgroup_name       admins                             
#关联人组的名目,一样无法空格
        alias                   Nagios Administrators             
#关系人组描述
        members                 pzh                         
#联系人组成员,当中“pzh”正是地方定义的沟通人,要是有两个挂钩人则以逗号相隔
        }

g.
timeperiods.cfg文件

此文件只要用于定义监察和控制的大运段,上面是叁个计划好的实例:

#上边是概念二个名叫24×7的时间段,即监察和控制所偶然间段 
define timeperiod{ 
        timeperiod_name 24×7      #时间段的名目,那一个地方不要有空格
        alias          24 Hours A Day, 7 Days A Week 
        sunday          00:00-24:00 
        monday          00:00-24:00 
        tuesday        00:00-24:00 
        wednesday      00:00-24:00 
        thursday        00:00-24:00 
        friday          00:00-24:00 
        saturday        00:00-24:00 
        } 
#上边是概念贰个名称叫workhours的小运段,即工时段。 
define timeperiod{ 
        timeperiod_name workhours 
        alias          Normal Work Hours 
        monday          09:00-17:00 
        tuesday        09:00-17:00 
        wednesday      09:00-17:00 
        thursday        09:00-17:00 
        friday          09:00-17:00 
        }

h. cgi.cfg文件

此文件用来调控相关cgi脚本,假如想在nagios的web监控分界面实践cgi脚本,举例重启nagios进度、关闭nagios公告、截止nagios主计算机检索查评定等,那时就要求配置cgi.cfg文件了。
出于nagios的web监察和控制分界面验证用户为david,所以只需在cgi.cfg文件中增多此用户的施行权限就能够了,需求修改的布局音信如下:

default_user_name=pzh
authorized_for_system_information=nagiosadmin,pzh
authorized_for_configuration_information=nagiosadmin,pzh 
authorized_for_system_commands=pzh
authorized_for_all_services=nagiosadmin,pzh 
authorized_for_all_hosts=nagiosadmin,pzh
authorized_for_all_service_commands=nagiosadmin,pzh
authorized_for_all_host_commands=nagiosadmin,pzh

i. nagios.cfg文件

nagios.cfg暗许的路线为/usr/local/nagios/etc/nagios.cfg,是nagios的中央配置文件,全数的对象配置文件都无法不在那个文件中张开定义本领发挥其功能,这里只需将对象配置文件在Nagios.cfg文件中进行引用就能够。

log_file=/usr/local/nagios/var/nagios.log     
            # 定义nagios日志文件的渠道
cfg_file=/usr/local/nagios/etc/objects/commands.cfg        #
“cfg_file”变量用来援引对象配置文件,假若有越来越多的指标配置文件,在此地依次增进就可以。
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg      #
本机配置文件
cfg_file=/usr/local/nagios/etc/objects/windows.cfg        # windows
主机配置文件
object_cache_file=/usr/local/nagios/var/objects.cache      #
该变量用于内定三个“全部目的配置文件”的别本文件,大概叫对象缓冲文件
precached_object_file=/usr/local/nagios/var/objects.precache
resource_file=/usr/local/nagios/etc/resource.cfg          #
该变量用于钦命nagios财富文件的路子,能够在nagios.cfg中定义四个财富文件。
status_file=/usr/local/nagios/var/status.dat              #
该变量用于定义一个景观文件,此文件用于保存nagios的当下意况、注释和宕机消息等。
status_update_interval=10                                  #
该变量用于定义状态文件(即status.dat)的立异时间距离,单位是秒,最小更新间隔是1秒。
nagios_user=nagios                                        #
该变量钦赐了Nagios进度使用哪个用户运转。
nagios_group=nagios                                        #
该变量用于钦赐Nagios使用哪个用户组运维。
check_external_commands=1                                  #
该变量用于安装是还是不是允许nagios在web监察和控制分界面运维cgi命令;
                                                          #
也正是是或不是允许nagios在web分界面下实践重启nagios、甘休主机/服务检查等操作;
                                                        #
“1”为运维,“0”为分歧意。
command_check_interval=10s                                #
该变量用于安装nagios对外界命令检查实验的光阴距离,假若钦定了二个数字加一个”s”(如10s);
                                                          #
那么外界检查实验命令的距离是以此数值以秒为单位的岁月间隔;
                                                          #
若无用”s”,那么外界检查实验命令的间隔是以那几个数值的“时间单位”的日子间隔。
interval_length=60                                        #
该变量钦命了nagios的大运单位,暗中认可值是60秒,也正是1分钟 #
即在nagios配置中兼有的小时单位都以分钟。

6.4 验证Nagios 配置文件的科学

Nagios
在认证配置文件上边做的百般成功,只需通过贰个限令就可以成功:

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

home88一必发 39

Nagios提供的那几个评释功用相当有用,在错误音讯中一般会打印出错误的安插文件以及文件中的哪一行,那使得nagios的布置变得特别轻便,报告警察方信息平常是足以忽略的,因为一般那么些只是提议性的。

看来地点那一个新闻就表明没难题了,然后运行Nagios
服务。

七、Nagios的起步与甘休

7.1 启动Nagios

a. 通过起首化脚本运转nagios

# /etc/init.d/nagios start
or
# service nagios start

b. 手工业方式运转nagios

因而nagios命令的“-d”参数来运转nagios守护进度:

# /usr/local/nagios/bin/nagios -d
/usr/local/nagios/etc/nagios.cfg

7.2 重启Nagios

当修改了布署文件让其收效时,供给重启/重载Nagios服务。

a. 通过初步化脚本来重启nagios

# /etc/init.d/nagios reload
or
# /etc/init.d/nagios restart
or
# service nagios restart

b. 通过web监察和控制页重启nagios

能够因此web监察和控制页的 “Process Info” ->
“Restart the Nagios process”来重启nagios

home88一必发 40

c. 手工业情势平滑重启

# kill -HUP

7.3 停止Nagios

a. 通过开端化脚本关闭nagios服务

# /etc/init.d/nagios stop
or
# service nagios stop

b. 通过web监控页结束nagios

能够经过web监察和控制页的 “Process Info” ->
“Shutdown the Nagios process”来终止nagios

home88一必发 41

c. 手工业格局停止Nagios

# kill

八、查看初阶计划情形

8.1 运营成功之后,登入Nagios
Web监察和控制页 查六柱预测关新闻。

8.2 点击左侧包车型地铁Current Status -> Hosts
能够见到所定义的三台主机已经全副UP了。

home88一必发 42

8.3 点击Current Status -> Services
查看服务监控状态。

home88一必发 43

总的来看Nagios-Linux和Nagios-Server的服务景况已经OK了,不过Nagios-Windows的劳务场地为CCRUISERITICAL,Status
Information 提醒Connection
refused。因为Nagios-Windows上还未设置插件,内部服务还不可能查看,所以出现这种气象。将要底下具体批注。

 

更加的多详细的情况见请继续读书下一页的精粹内容
http://www.linuxidc.com/Linux/2016-09/135534p2.htm

 

home88一必发 44

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图