Linux学习笔记:Nagios的安装

Nagios的官方Quickstart网址https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/quickstart-fedora.html

关于Nagios与其他服务器的关系图(最简单的描述)

之所以是最简单,是因为这里只是介绍最普遍的部署方式,还有一种集群模式这里暂不研究

方式一:

1)在Nagios服务器上部署Nagios Core套件

2)在Client端上安装Nagios Plugin套件和NRPE套件

3)Nagios服务器每次收集信息都会联系Client端的NRPE(端口5666),由Client端的NRPE实现客户端的信息采集。NRPE实际上是一个客户端软件,可扩展性非常强,还可以自己用SHELL/PYTHON等编写插件。该种采集方式叫被动模式。

4)Client端也可以作为代理端,因为NRPE作为Client的本地软件,既可以访问本地资源,也可以访问外部资源,通过一些插件,也可以去探测其他Server的应用,而这些Server并不需要安装NRPE。这种探测方式叫主动模式。

方式二:

1)Nagios服务器端直接去探测其他Server的应用,这些Server不需要额外安装NRPE。

如果能看懂基本的英文,基本上Nagios的安装照着Quickstart装就可以了。这里说一***意事项和简单的翻译一下

注意实现

一般情况下,Nagios服务器需要预先安装以下组件

httpd php* net-snmp* mrtg gcc glibc glibc-common gd gd-devel perl perl-devel mailx

可选组件mysql mysql-devel

预配

===================================================

1)关闭selinux。命令:setenforce 0 并且把selinux disabled;

2)增加nagios用户,并设置密码,/usr/sbin/useradd -m nagios; passwd nagios;

3)设置好/etc/mail.rc的内容(http://coosh.blog.51cto.com/6334375/1735688  )并且设置权限,默认情况下,它的权限是rw-------,后续我们会进行修改nagios的邮件提醒功能,因此chgrp nagios /etc/mail.rc; chmod 640 /etc/mail.rc;

4)如果要主动检测远程服务器的mysql,那么就要安装上面的可选组件;

5)把httpd设置为开机启动状态

创建nagcmd组(可选,我在测试中并没有进行这步,因为觉得它有点多余,但照着官方指引也没错)

/usr/sbin/groupadd nagcmd

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

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

下载Nagios,在官方指南中,版本如下,而我在写这篇笔记时Nagios是4.1.1,Nagios Plugins是2.1.1,所以下面的wget命令如果照搬的话,未必能下载得到相应的文件。最好还是从官网上找相应的链接。

mkdir ~/downloads

cd ~/downloads

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz

wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

开始安装

先解压

cd ~/downloads

tar xzf nagios-4.0.8.tar.gz

cd nagios-4.0.8

./configure --with-command-group=nagcmd  #这一步我把nagcmd改为了nagios,这里的是否修改由自己决定,但非常重要,一旦修改,那么以后Nagios运行的组就是现在设置的组名。

make all

make install

make install-init

make install-config

make install-commandmode

#如果依赖的组件都装齐了,一般是不会有Error的

vi /usr/local/nagios/etc/objects/contacts.cfg  #修改联系方式,后期再修改也可以

make install-webconf

#重启apache服务

service httpd restart

配置CGI权限

先配置一个HTTP用户admin

[[email protected] ~]# htpasswd -cb /usr/local/nagios/etc/htpasswd.users admin adminpassword

[[email protected] ~]# vi /usr/local/nagios/etc/cgi.cfg

将所有nagiosadmin字符串改为nagiosadmin,admin,这是因为你将会使用admin登录web界面,但admin这个帐号不具备访问CGI权限。

#安装Nagios Plugins

cd ~/downloads

tar xzf nagios-plugins-2.0.3.tar.gz

cd nagios-plugins-2.0.3

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

make

make install

chkconfig --add nagios

chkconfig nagios on

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

#所有配置文件都OK的情况下,会提示OK,否则会提示Error或者Warning

修改通知邮件的发送方式,红色部分,原本是mail,请改为mailx

[[email protected] ~]# vi /usr/local/nagios/etc/objects/commands.cfg

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/mailx -s

"** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

}

# ‘notify-service-by-email‘ command definition

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\nAdditi

onal Info:\n\n$SERVICEOUTPUT$\n" | /bin/mailx -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

至此Nagios服务器端安装完毕。

===========================================================

在Client上安装NRPE

NRPE需要先安装Nagios Plugins,而如果涉及mysql的话,也需要预先安装mysql mysql-devel

关闭selinux,方法不再赘述。

添加nagios用户

/usr/sbin/useradd nagios

passwd nagios

下载nagios plugin,注意以下为官方指南的链接,未必能下载到文件,理由同上。

mkdir ~/downloads

cd ~/downloads

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

tar xzf nagios-plugins-1.4.6.tar.gz

cd nagios-plugins-1.4.6

./configure

make

make install

chown nagios.nagios /usr/local/nagios

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

yum install xinetd #在老男孩老师的视频里,是独立daemon的方式,而在官方指南里,则是使用xinetd,我同样地用了xinetd,因此xinetd的配置文件有如下修改

[[email protected] ~]# vi /etc/xinetd.d/nrpe

service nrpe

{

flags           = IPv4  #默认这里是REUSE,我改为了IPv4,测试中发现如果用REUSE的话,无法监听IPv4的端口

socket_type     = stream

port            = 5666

wait            = no

user            = nagios

group           = nagios

server          = /usr/local/nagios/bin/nrpe

server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd

log_on_failure  += USERID

disable         = no

only_from       = 127.0.0.1 192.168.5.41 #加入Nagios服务器的地址,用空格间隔

}

下载NRPE,我在写该笔记时最新版本是2.15

cd ~/downloads

wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz

tar xzf nrpe-2.8.tar.gz

cd nrpe-2.8

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config

make install-xinetd

务必、一定要在/etc/services的最后加入如下一行,否则NRPE不能启动

nrpe 5666/tcp # NRPE

重启xinetd服务

service xinetd restart

查看是否有监听TCP 5666

netstat -tlnp | grep 5666

tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      1241/xinetd

自我检测一下,如果正常,则返回NRPE的版本号,注意,官方指南用的是localhost,但一般情况下,localhost会被解析成127.0.0.1和::1,由于我们只监听IPv4,所以把主机改为127.0.0.1

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

NRPE v2.8

配置Client的防火墙

[[email protected] ~]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5666 -j ACCEPT

[[email protected] ~]# /etc/init.d/iptables restart

至此Client端安装完毕

时间: 2024-08-02 06:51:13

Linux学习笔记:Nagios的安装的相关文章

Linux学习笔记——虚拟机中安装VMware Tools

0 前言 VMware Tools是VMware虚拟机中自带的一种增强工具,只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,实现文件在虚拟机之间的复制粘贴. 最近购买了周立功的一款EasyARM开发板,作为树莓派Linux学习的补充.在虚拟机中安装了周立功提供的ubuntu镜像,总觉得在主机和PC机之间直接复制粘贴才爽,所以又安装了Vmware Tools.     [相关博文] [ Linux学习笔记--vmware plarer中安装ubunt

linux学习笔记-nagios监控的简单配置

第1章 nagios监控工具介绍及原理 1.1nagios监控工具介绍与优势 Nagios是一款开源的网络及服务的监控工具,其功能强大,灵活性强.能有效监控Window,Linux和Unix的主机各种状态信息,交换机.路由器等网络设置,主机端口及URL服务等.根据不同业务故障界别发出告警信息给管理员,当故障恢复时也会发出恢复消息. Nagios服务端可以在linux和类unix的系统上运行,目前无法再windows上运行. 官方网站地址:http://www.nagios.org/ 官方快速安装

linux学习笔记十三:安装vim

1.一般可用yum install vim* 2.在RHEL5.8下,则去vim官网下载了vim-7.4.tar.bz2(unix版),然后再编译安装.有一点需注意:编译时要带参数,否则报错. ./configure--prefix=/usr/local --enable-multibyte --with-features=big --disable-selinux 如果make时提示缺少ncurses,则需先安装ncurses-devel-5.5-24.20060715.x86_64.rpm,

Linux学习笔记之yum安装mysql5.7

原文帮助: http://www.hishenyi.com/archives/808 之前有学员装过,没成.尤其是装好后不知道初始root密码.那么这里来讲一下,其实过程很简单.根本不需要绕过什么密码判断,然后修改数据库字段啥的.一切都很简单,网上也有很多误导文实在让人汗颜. 首先 常用的mysql 分为社区版和企业版. 社区版不收费,企业版在需要技术支持的时候是要收费的,这也是正常的.不收费谁有空理你. 那么我们经常用的是社区版,一般社区版功能比企业版还多,因为社区版往往包含了一些刚出来的功能

LINUX学习笔记——centos6.5 安装

创建新的虚拟机 虚拟机配置类型 虚拟机兼容性 稍后安装操作系统 选择操作系统 创建虚拟机名称和指定安装文件 指定CPU核心数 分配内存大小 选择网络类型 选择I/O控制器类型 选择磁盘类型 创建新的虚拟磁盘 指定磁盘大小和存储方式 虚拟机创建完成,打开虚拟光驱 添加已经下载好的系统映像文件 点击开始运行虚拟机,选择"Install or upgrade an existing system",回车开始安装 下一步继续安装 选择安装时语言 选择键盘 选择基本存储设备 选择丢弃所有数据 创

linux学习笔记2-linux的基本命令

第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些基本的控制台命令 ============================================== 连接远程机器 以指定用户名登陆的命令为:ssh [email protected] (一般情况都需要指定用户名) 以指定用户名和指定端口登陆的命令为:ssh [email protected] -p XXX 断开连接的命

Linux学习笔记:Nagios的配置

安装方法请参考 Linux学习笔记:Nagios的安装 客户端 由于我的安装是使用xinetd这个daemon的,所以需要调整相关的配置文件 [[email protected] ~]# vi /etc/xinetd.d/nrpe  service nrpe {         flags           = IPv4         socket_type     = stream         port            = 5666         wait           

Linux学习笔记——硬盘分区和安装双系统

1.前言 假设电脑上已经安装了windows XP或者windows7.试图在使用windows的同时,在电脑上安装ubuntu. 假设电脑上已经存在C盘.D盘.E盘和F盘,且E盘和F盘的剩余空间较大. 假设ubuntu系统需要40G空间.     [使用软件]傲梅分区助手     [最终目标]为安装ubuntu系统节省出40G左右的空闲空间.40G空间来自于E盘空闲部分和F盘空闲部分.     [步骤简述] [1]从E盘节省出20G空间. [2]从F盘也节省出20G空间. [3]在E盘节省出的

Linux学习笔记——vmware plarer中安装ubuntu

1.前言 学习了很长时间ubuntu,在旧笔记中安装过lubuntu,也使用过他人安装好的ubuntu虚拟机(contiki2.6和contiki2.7).熟悉了ubuntu之后,决定自己尝试通过vmware player安装ubuntu. [1]vmware plaryer是免费软件,不存在破解问题.如果用来学习ubuntu完全足够了. [2]建议在虚拟机种学习ubuntu,等完全熟练之后再摆脱windows.ubuntu现在还没有有道笔记,QQ等工具,总感觉网上世界少了点什么. [3]在虚拟

CoAP学习笔记——nodeJS node-coap安装和使用(Linux平台)

 0 前言 本文说明如果安装和使用node-coap.CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性.node-coap使用nodejs实现了coap的客户端和服务器端. [测试环境]--ubuntu/Linux [相关博文] [CoAP协议学习--CoAP基础] [CoAP学习笔记--CoAP资源发现] [CoAP学习笔记--服务器端繁忙时的处理请求流程] [树莓派学习笔记--webiopi安装与