Nagios安装监控

Nagios基础入门

一、前言


日前,我接触学习了Nagios,在看到网上各路神仙写的杂七杂八的Nagios安装配置教程,亲自尝试许多的教程过后,“骂骂咧咧”的写下这篇关于Nagios的安装与配置较为完整且详细的博文(整合众多Nagios教程)。这是我第一次写博文,文中的语言表达和具体步骤或有欠缺和遗漏(如有错误,评论指出)。写博文不仅是记录自己学习的过程和总结,也是为了方便像我一样的小白,能够更快速的入门Nagios。本文中的内容是关于Nagios的一些介绍和基础的配置,基本能够帮助各位快速入门和使用Nagios。关于Nagios的一些罗里吧嗦的简介,基本都是参考别人的,只为了更好的帮助大家对Nagios的快速理解,或者只是为了本文的完整性罢了,最重要的是能学习到本文中具体的配置过程和思路,能对Nagios有一个清晰的认识,可以顺利完成Nagios安装和配置。在参考本文的Nagios安装和配置过程中,请尽量不要遗漏或错误执行我写的实验步骤,并且尽可能正确理解每行每句的意思。


二、Nagios简介


Nagios又被称为难够死,因为很难。Nagios是一款开源的网络及服务的监控工具,其功能强大、灵活性强。能有效监控windows、Linux和Unix等系统的主机各种状态信息,交换机、路由器等网络设备,以及主机端口及URL服务等。根据不同业务故障级别发出告警信息(邮件、微信、短信、语音报警、飞信、MSN)给管理员,当故障恢复时也会发出恢复消息给管理员。Nagios服务端可以在Unix及类Unix系统上运行,目前无法运行在windows。Windows可以作为被监控的主机,但是无法作为监控服务器。


三 、 Nagios构成


Nagios不好的地方在于它只做核心,很多其他功能都是通过插件来实现的。Nagios一般由一个主程序(Nagios),一个插件程序(Nagios-plugins)和一些可选的附加程序(NRPE,NSClient++,NSCA,NDOUtils)等。Nagios本身就是一个监控的平台而已,其具体的监控工作都是通过插件(Nagios-plugins,也可自己编写)来实现的。因安装于被监控端。几个附加程序的描述如下:


1.NRPE:半被动模式

(1) 存在位置:工作在被监控端,操作系统为Linux/Unix;
(2) 作用:用于在被监控的远程Linux/Unix主机上执行脚本插件获取数据回传给服务器端,以实现对这些主机资源的监控。主要用于监控本地资源;
(3) 存在形式:守护进程(agent)模式,开启的端口为5666.

2.NSClient++:半被动模式

(1) 存在位置:监控Windows主机;
(2) 作用:相当于Linux下的NRPE;


3.**NDOUtils:不推荐使用 **

(1) 存在位置:Nagios服务器端;
(2)作用:用于将Nagios的配置信息和各event产生的数据存入数据库以实现对这些数据的检索和处理。但是存入数据库还不如存放在磁盘上,因此不推荐使用;


4.NSCA:纯被动模式的监控

(1)存在位置:同时安装在Nagios的服务器端和客户端;
(2) 作用:用于让被监控的远程Linux/Unix主机主动将监控到的信息发送给Nagios服务器。在分布式监控集群模式中要用到,300台服务器以内可以不考虑;


四 、Nagios原理


watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxODE5OTY1,size_18,color_FFFFFF,t_70#pic_center

图1:总体结构原理

20201115120750869.jpg#pic_center

图2:nrpe监控原理


五 、安装介绍


1.说明

本次演示过程只涉及到两台虚拟机,具体是一台Nagios服务端监控一台Linux客户端。完成本实验的前提是Nagios服务端需要有LAMP的坏境,因为Nagios服务端的web界面需要Apache、PHP的支持。这里只要求有LAMP坏境就行,关于LAMP的坏境搭建部署,请参考这个教程 LAMP快速搭建


2.主机介绍

IP地址 主机 软件
192.168.5.245 Nagios服务端 Apache、Php、Nagios、nagios-plugins、nrpe
192.168.5.246 client被监控端(客户端) nagios-plugins、nrpe

(1)Server 安装了nagios软件,对监控的数据做处理,并且提供web界面查看和管理。
(2)Client 安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机。哪台Linux想要被监控哪台Linux就装NRPE并运行NRPE插件。
(3)本次实验只是实现Nagios服务端远程监控linux客户端的磁盘占用率和系统负载等情况。


3.主要插件介绍

(1)NRPE

当Nagios服务端需要监控某个远程Linux 客户端的服务或者资源情况时:
1.Nagios服务端会运行check_nrpe 这个插件,告诉它要检查什么;
2.check_nrpe 插件会连接到远程客户端上的NRPE daemon,所用的方式是SSL;
3.NRPE daemon 会运行相应的Nagios 插件来执行检查;
4.NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理

注意:NRPE daemon 需要Nagios 插件安装在远程的Linux主机上,否则,daemon不能做任何的监控。

(2)Nagios-plugins

nagios core是没有内置任何检查机制进行主机服务或者网络的监控。对于这些工作,都是交给额外的程序,就是nagios plugins程序来完成。Nagios只是一个平台,本身啥都不是,需要通过各种小弟(nagios plugins)才能干活。


六、 Nagios服务端安装


1.安装前准备:

(1)关闭防火墙:

<span style="color:#000000"><code>[root@nagios-server ~]# systemctl stop firewalld.service       #停止firewall  
[root@nagios-server ~]# systemctl disable firewalld.service    #禁止firewall的开机自启动
[root@nagios-server ~]# iptables -F     
</code></span>

关闭selinux:

<span style="color:#000000"><code>[root@nagios-server ~]# setenforce 0
[root@nagios-server ~]# sed -ri 's#^(SELINUX=).*#\1disabled#g' /etc/selinux/config
</code></span>

(2)这里建议换掉yum源,使用阿里云的yum源,方便后续安装软件。更换yum源教程

(3)调整字符集,如果不安装后面安装一些插件会有错误:

<span style="color:#000000"><code>[root@nagios-server ~]# echo 'export LC_ALL=C' >>/etc/profile
[root@nagios-server ~]# source /etc/profile
</code></span>

(4)时间同步,监控的时间同步很重要:

<span style="color:#000000"><code>[root@nagios-server ~]# echo '# time sync' >>/var/spool/cron/root  
[root@nagios-server ~]# echo '*/10 * * * * /usr/sbin/ntpdate pool.ntp.org &>/dev/null' >>/var/spool/cron/root
</code></span>

(5)Nagios服务端需要安装web展示依赖软件:

<span style="color:#000000"><code>[root@nagios-server ~]#yum install -y gcc glibc glibc-common gd gd-devel httpd php php-gd mysql*
</code></span>

说明:这里可以看到yum 一键安装这些软件,不仅包含了编译器,图画等软件还包含了LAMP坏境。有些人的Centos7本身可能就搭建过了LAMP坏境,再执行这句yum安装命令也不会有事,不会重复安装LAMP,可能会升级安装过的LAMP。
安装的软件说明:
gcc glibc glibc-common gcc 编译器
gd gd-devel Nagios服务端Web界面中的Map画拓扑图用的
httpd php \php-gd php环境,LAMP坏境
mysql* 生成MySQL的插件,MySQL不需要启动

(6)创建所需用户,并将apache和nagios同属于一个组,方便一起管理:

<span style="color:#000000"><code>[root@nagios-server ~]# useradd -m nagios                                                 
[root@nagios-server ~]# groupadd nagcmd
[root@nagios-server ~]# usermod -a -G nagcmd nagios
[root@nagios-server ~]# usermod -a -G nagcmd apache
</code></span>

2.安装Nagios平台

(1)下载Nagios

<span style="color:#000000"><code>[root@nagios-server src]# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz
</code></span>

(2)解压编译安装

<span style="color:#000000"><code>[root@nagios-server ~]# cd /usr/local/src/
[root@nagios-server src]# tar -zxf nagios-4.3.1.tar.gz 
[root@nagios-server src]# ls
nagios-4.3.1  nagios-4.3.1.tar.gz

[root@nagios-server src]# cd nagios-4.3.1/
[root@nagios-server nagios-4.3.1]# ./configure --with-command-group=nagcmd
[root@nagios-server nagios-4.3.1]#make all
[root@nagios-server nagios-4.3.1]#make install
[root@nagios-server nagios-4.3.1]#make install-init
[root@nagios-server nagios-4.3.1]#make install-commandmode
[root@nagios-server nagios-4.3.1]#make install-config
[root@nagios-server nagios-4.3.1]#make install-webconf
</code></span>

要确保以上命令执行无错误。

(3)Nagios目录说明
完成以上步骤之后,在/usr/local/nagios/ 目录下会生成一系列文件和文件夹,了解目录下的文件的用途对学习Nagios和排错有很大的帮助,下面进行解释说明每个文件夹的作用:

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

Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,文件用途解释说明:

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

说明:在目录第十一章中,有配置文件更详细的说明。

(4)配置登录Nagios服务端Web界面的用户账号:wang 密码:123456

<span style="color:#000000"><code>[root@nagios-server nagios-4.3.1]#htpasswd -cb /usr/local/nagios/etc/htpasswd.users wang 123456
</code></span>

20201115195828716.png
(5)因为nagios默认把全部的权限给nagiosadmin,所以可以通过修改cgi.cfg文件授权给刚刚新建的wang这个用户。如果不授权给wang,后面完成Nagios配置之后,使用账号wang来登录Nagios服务端的Web界面,将会看不到你配置好的需要监控的主机的所有信息。


                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值