企业监控利器nagios应用开篇

1.监控软件分类

mrtg:老牌的监控系统,网站带宽流量图,历史趋势图,也可以对资源进行监控,现在用的不多
cacti:特色是绘图,历史趋势图,通过插件可以实现报警。故障分析上较差,而且报警机制有待完善。
nagios:特点是专注与报警,也可以配置pnp,cacti,hyperic出图等。特别适合监控大量服务器上面的服务是否正常,通过插件实现页面配置管理。
zabbix:新出的出图报警软件。有页面配置管理,通过php程序绘图。对服务器的资源消耗稍大。
我司目前使用的是nagios监控系统。

2.nagios监控介绍

   主机或服务状态监控

nagios是一款开源的监控软件,从它可以监控的设备类型上来看,主要包含网络设备,服务器设备。常见的网络设备如:路由器、交换机、防火墙、F5、打印机等,常见的服务器设备主要分为:UNIX类、Linux类以及Windows类。按我的理解凡是支持snmp协议的设备,包含PC都可以通过nagios进行监控。当然,nagios实现对主机资源及服务的监控并非全依靠snmp协议,它最为主要的监控手段是通过nrpe组件来实现。

监控告警通知
nagios对在网络中发现的问题会及时产生告警信息并通过事先定义好的方式,如邮件、短信、微信等方式通知相关人员。随着网络运维工作更加自动化,还可以通过nagios支持的相应API接口,开发相应的程序,实现其自动或人干预去对监控发现的问题进行自动化的处理。

监控信息可视化
nagios结合web服务器,可以将整个网络所监控的所有信息以web页面的形式展现出来,还可以结合外部软件实现监控数据可视化,以图表的形式展示在web页面中,本文将介绍nagios常用的画图软件包pnp,现在叫pnp4nagios。

监控数据存储
nagios监控到的数据会存储下来,可以直接以文件的形式存储也可以通过NDOUtils组件存储到如mysql类的数据库中,从而可以很好支持监控历史数据的查询。

3.nagios系统组成

nagios系统主要包含nagios daemon、nagios plugin、nrpe、web三个组件,它还包含NDOUtils、NSCA、NSClinet++组件,它们共同组成一个完整的nagios,组成逻辑图如下所示:

 Nagios Daemon

nagios系统的核心组件,它负责组织与管理各组件,将它们协调起来共同完成监控任务,并完成监控信息的组织与展示。

Nagios Plugins
nagios plugins主要就是nagios核心组件自带以及用户自开发的一些插件,它们是实现各项监控的具体小程序,由它们将采集到相应的数据以后,回送给nagios服务器。

NRPE
nagios系统要想取得被监控主机的存活状态、http、ftp、ssh服务是否可用,可以通过程序探测的出来,但如果要想取得被监控端上如磁盘容量,cpu负载这类本地信息时,如果没有相应的权限就不行,所以就产生了代理程序,事先在被监控机上安装代理程序(Linux系统是nrpe软件),然后通过它们来获取监控数据,再回送给nagios服务器。当nrpe启动以后,它会开启5666端口。nrpe的工程原理如下图所示:

    NRPE 总共由两部分组成:

check_nrpe:位于nagios server上。
NRPE daemon:位于被监控的Linux主机上。
当Nagios 需要监控某个远程Linux 主机时:
nagios 会运行check_nrpe 这个插件,告诉它要检查什么
check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL; NRPE daemon 会运行相应的nagios 插件来执行检查;
NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理。

NSClinet++
NSClient++这一组件是安装在windows主机上,相当于nagios server在windows端的代理程序。

NSCA
NSAC这一组件适用于部署分布式nagios监控系统时使用,它可以实现让被监控端主动将需要监控的信息发送给nagios服务端。

4.nagios安装

服务端安装:

  1. 配置yum源,建议采用国内的yum源,这样在yum安装软件包时速度会快些,如配置阿里云的。
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.ori
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    2.解决perl编译问题
    后面编译的软件有perl程序,提前设置环境变量。
    echo "export LC_ALL=C" >>/etc//profile
    source /etc/profile

3.解决系统时间同步
不解决时间同步,会导致nagios配置异常甚至失败
/usr/sbin/ntpdate 0.pool.ntp.org
将时间同步写到定时任务中
echo "/10 * root /usr/sbin/ntpdate 0.pool.ntp.org >/dev/null 2&>1">>/etc/crontab
在企业生产环境,一般都有时间服务器。

4.安装nagios所需基础软件包

yum安装LAMP环境即可
yum install gcc glibc glibc-common -y
yum install gd gd-devel -y
yum install mysql* -y
yum install httpd php php-gd -y
启动lamp服务
5.创建nagios用户及组
/usr/sbin/useradd nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache
6.安装nagios
解压nagios
cd nagios
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
7.安装nagios web配置及创建登录用户
make install-webconf
htpasswd -c /usr/local/nagios/etc/htpasswd.users tuwei 创建用户并设置密码
也可以htpasswd -cb /usr/local/nagios/etc/htpasswd.users tuwei 123456无需交互

8.创建报警联系人信息
vim /usr/local/nagios/etc/objects/contacts.cfg --------联系人配置文件
修改报警接收联系人
开启linux默认发邮件sendmail服务,也可以安装postfix进行发送邮件。
还可以设置联系人组,后面配置报警策略时,企业环境中可以将不同的告警信息分派给不同的联系人组进行处理。

9.安装nagios插件--服务端

安装nagios-plugins
tar zxf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql=/var/lib/mysql \
--enable-perl-modules
make && make install
注意:如果是源码安装的mysql,则--with-mysql=/var/lib/mysql 路径需要做修改
检查插件个数:ls /usr/local/nagios/libexec |wc -l -----------------------------------》libexec目录中是nagios插件,用来做监控,
后期自己开发插件时也是放在该目录下。
添加nagios服务到开机自启动
chkconfig nagios on

查看相关信息/usr/local/nagios/bin/nagios
检查语法
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
简单地检查语法
/etc/init.d/nagios checkconfig
也可以修改nagios启动脚本,使其显示检查结果信息
vim /etc/init.d/nagios +177 删除>/dev/null 2>&1
启动nagios服务(注意企业生产环境中每次重启服务前,一定要先检查语法,没有错误才可以重启服务)
10.安装NRPE插件

tar xf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
至此,服务端相关服务安装完成



客户端安装
无需安装lamp环境、nagios主程序
进行时间同步,关闭selinux
创建用户:/usr/sbin/useradd -m nagios -s /sbin/nologin
安装nagios-plugins插件
tar zxf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/usr/local/nagios --enable-perl-modules --enable-redhat-pthread-workaround --如果是redhat则需要
make && make install

安装nrpe插件
tar zxf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
安装其他插件(check_iostat需要的依赖包)
tar zxvf Params-Validate-0.91.tar.gz
cd Params-Validate-0.91
perl Makefile.PL
make
make install
cd ..
#----------------------------------------
cd /tools/
tar zxvf Class-Accessor-0.31.tar.gz
cd Class-Accessor-0.31
perl Makefile.PL
make
make install
cd ..
#----------------------------------------
cd /tools/
tar zxvf Config-Tiny-2.12.tar.gz
cd Config-Tiny-2.12
perl Makefile.PL
make
make install
cd ..
#----------------------------------------
cd /tools/
tar zxvf Math-Calc-Units-1.07.tar.gz
cd Math-Calc-Units-1.07
perl Makefile.PL
make
make install
cd ..
#----------------------------------------
cd /tools/
tar zxvf Regexp-Common-2010010201.tar.gz
cd Regexp-Common-2010010201
perl Makefile.PL
make
make install
cd ..
配置nrpe
nrpe安装完后
[[email protected] tools]# cd /usr/local/nagios/etc/
[[email protected] etc]# ll
total 8
-rw-r--r-- 1 nagios nagios 7207 Sep 29 19:43 nrpe.cfg
[[email protected] etc]# cp nrpe.cfg nrpe.cfg.ori
vim nrpe.cfg +79
allowed_hosts=192.168.132.20 --->改为nagios监控服务器,如有多台,以逗号隔开
sed -i ‘199,203d‘ /usr/local/nagios/etc/nrpe.cfg

echo "command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,6 -c 30,25,20">>/usr/local/nagios/etc/nrpe.cfg
echo "command[check_mem]=/usr/local/nagios/libexec/check_memory.pl -w 6% -c 3%">>/usr/local/nagios/etc/nrpe.cfg
echo "command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 8% -p /">>/usr/local/nagios/etc/nrpe.cfg
echo "command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%">>/usr/local/nagios/etc/nrpe.cfg
echo "command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 6 -c 10">>/usr/local/nagios/etc/nrpe.cfg
开启nrpe服务
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
" >>/etc/rc.local
客户端安装完成。

原文地址:http://blog.51cto.com/tuwei/2312451

时间: 2024-07-31 13:11:38

企业监控利器nagios应用开篇的相关文章

企业监控利器nagios应用终结篇

1.nagios告警 这一篇我们聊聊nagios监控告警,我们知道nagios特点就是强大的告警功能,这也是它最大的特色,虽然有人说配置基于文本,不好维护,不像zabbix可以web端添加主机信息,但如果善用脚本,批量配置千百台主机和服务也是很容易的事,nagios支持多种告警模式,如邮件.微信.短信和电话告警.这也是比较常用的告警方式.nagios监控告警配置文件contacts.cfgdefine contact{contact_name nagiosadmin use generic-co

企业监控利器nagios应用续集

上篇讲到了nagios服务端和客户端的安装,本篇继续将nagios的配置.出图及插件开发. 1.配置server端nagios监控服务 nagios服务端安装后,安装目录是/usr/local/nagios,主配置文件是/usr/local/nagios/etc/nagios.cfg,主机配置等相关配置文件以.cfg结尾.主配置文件中定义一些需要监控的配置,数据采集等,cgi.cfg文件定义一些如页面刷新时间,用户访问权限控制等.配置主配置文件nagios.cfg找到cfg_file部分,进行设

监控利器Nagios之一:监控本地NFS和外部HTTP、MySQL服务

监控利器Nagios之一:监控本地NFS和外部HTTP.MySQL服务 Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios的特点: 1.监控服务http.MySQL.nfs.tcp.ping等 2.监控主机资源cpu.负载.I/O.虚拟及内存磁盘利用率等 3.支持邮件微信等报警通信. 4.可选we

监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息

监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息 Nagios的监控对象的定义和对被监控设备的动作命令是分开的.一个是主程序包,一个是插件包.先来说说nagios主程序nagios-plugins插件和nrpe软件的用处, Nagios主程序: Nagios主程序提供一个的只是一个监控平台,真正用作工作的并不是它,而是他的插件.在Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下.里面定义了nagios能调用的命令.对打印机和交换

运维监控利器Nagios之:安装nagios

一.安装前准备 (1)创建nagios用户和用户组 [[email protected] ~]#useradd -s /sbin/nologin nagios [[email protected] ~]#mkdir /usr/local/nagios [[email protected] ~]#chown –R  nagios.nagios /usr/local/nagios (2)开启系统sendmail服务 在nagios监控服务器上开启sendmail服务的主要作用是让nagios在检测到

4. 监控利器nagios手把手企业级实战第三部

1.nagios图形监控显示和管理服务器 虽然能显示,能报警.但是我们企业工作中需要一个历史趋势图. nagios只开放核心,插件是单独的形式,图像也一样,是插件或者整合的方式.所以可能看起来很多,这种方式叫做弱耦合. 2.Pnp安装图形监控曲线(服务器端) php出图软件官方站点为:http://www.php4nagios.org 先执行yum安装下面基础pnp软件需要的包,如果有重复的再执行下也不会有问题. 1)图形显示的依赖库:yum install cairo pango zlib z

运维监控利器nagios安装与配置Nagios监控系统(一)

nagios 的功能原理 我这里就不介绍了 我们主要讲述安装配置 使用nagios对服务器进行监控,其特点可实时实现手机短信.电子邮件.MSN.飞信报警. 按照上面的命令写 我就不用多说什么了 如果你安装的最小化版的centos 可能会提示没有sendmail 这时候使用 yum -y install sendmail 安装 /etc/init.d/sendmail restart 启动服务 我在指定的时候 提示图下 这是没安装gcc插件  yum -y install gcc 在执行 ./co

Nagios企业监控讲解

Nagios企业监控讲解 一.关于Nagios Nagioss 是经典老牌子监控,伴随着一代运维工程师们路路成长,即便到了现在也广泛在企业中使用.Nagios有三个特点决定了它屹立不倒的优势: 第一: Nagios跟其他监控产品比起来是部署和配置最便便捷,没有之一,且最容易易入门的开源监控产品. 企业的老总们最喜欢的就是省时快速的完成工作 第二:Nagios对于各种基础服务层面的监控就是两个字"完善"这得益于Nagios的很多对于监控项目的基本计算方式都十分的直接有效,且非常符合一般人

企业级监控软件nagios实战[老男孩教育精品]-限时免费

企业级监控软件nagios实战[老男孩linux精品课程]-限时免费注意:限时全免费,截止7月25日.http://edu.51cto.com/course/course_id-1740.html兼容Centos5.8和6.4,同时也适合red hat linux系列! 北京老男孩培训,全国最负责.最高端.最专业的linux运维实战教育机构!打造中国IT实效教育第一品牌! 交流群 246054962 208160987 145178854(标明51CTO) ├─1老男孩linux培训VIP视频-