手把手实现企业级开源监控软件cacti+nagios+ntop整合(图解)
整合多模块开源软件的信息监控方案设计

2020(Sum. No 207)2020年第03期(总第207期)信息通信INFORMATION & COMMUNICATIONS整合多模块开源软件的信息监控方案设计李永辉(中国移动通信集团河南有限公司,河南郑州450008)摘要:研究针对当前企业网络数据中心系统监控能力不足的问题,基于开源监控软件Nagios 与Cacti 工作原理,设计了整合多模块信息监控方案,其融合了 Nagios 与Cacti 网络技术,采用SNMP 主流协议,能够在多个不同平台完成网络系 统多项运行指标图形告警及监控,可以将其作为数据中心实时资源服■务监控平台。
对网络环境运行情况予以仿真试验,证实该系统有效、可行。
关键词:整合多模块;开源软件;信息监控;Nagios ; Cacti中图分类号:TP277 文献标识码:B 文章编号:1673-1131(2020)03-0103-03随着云计算技术的不断发展,企业内IaaS 资源如服务器、 存储等硬件资源得到了整合,其资源利用率也得到了大幅度 提升。
目前,各大企业对信息化建设给予了高度重视,企业私 有云已经成为一种趋势,在这一发展环境下,用于监控的开源软件IaaS 监控手段应运而生,其将Nagios, Cacti 作为中心,再 加上外围插件的辅助作用,能够实现对企业数据中心网络服 务的全面监控问,与此同时可随时了解设备是否处于正常运行状态,并具备报警功能。
然而其在配置及图形化方面也存在一定的局限性。
Cacti 尽管方便操作管理,但无法报警。
此次研究深入分析了 Nagios, Cacti 工作原理,总结了两者在监控领域的优势,设计了基于Nagios,Cacti 的监控方案,功能涵盖 对网络设备、系统服务状态等的检测以及故障报警、数据分析 等,该系统具有较好的稳定性与可靠性,对于网络管理员日常 运维有着重要的作用。
收稿日期:2020-01-15作者简介:李永辉(1980-),男,河南永城市人,河南师范大学本科,中国移动通信集团河南有限公司职员,中级工程师,研究方向:IT 新技术 理论和实践。
Linux下的网络监控与流量分析工具推荐

Linux下的网络监控与流量分析工具推荐一、概述网络监控与流量分析是确保网络安全和优化网络性能的重要任务之一。
在Linux系统中,有许多强大的工具可以用于网络监控和流量分析。
本文将向您推荐几个在Linux下广泛使用的网络监控和流量分析工具,帮助您实现高效的网络管理。
二、网络监控工具推荐1. NagiosNagios是一款功能强大的开源网络监控工具。
它能够实时监测网络中的各类设备和服务状态,并通过邮件或短信等方式告警管理员。
Nagios提供了友好的Web界面,使得监控配置和管理变得更加简单和直观。
2. ZabbixZabbix是一款开源的企业级网络监控工具。
它支持多种监控方式,包括SNMP、ICMP和TCP等,能够监控网络设备、服务器以及各种应用程序。
Zabbix提供了强大的图形化报表和警报功能,可帮助管理员快速识别和解决网络问题。
3. CactiCacti是一款基于RRDTool的网络流量图监控工具。
它能够图形化展示网络设备的流量使用情况,如带宽利用率、流量趋势等。
Cacti提供了自定义图表和阈值警报功能,可根据需求灵活调整监控策略。
三、流量分析工具推荐1. WiresharkWireshark是一款知名的网络协议分析工具。
它能够捕获和分析网络数据包,帮助管理员深入了解网络通信协议和流量。
Wireshark提供了强大的过滤和统计功能,支持多种协议,并且具备用户友好的图形化界面。
2. ntopntop是一款实时流量分析工具,能够监控和分析网络流量的来源、目的和类型等信息。
ntop提供了先进的数据收集、存储和可视化处理能力,可以生成各种统计报表,帮助管理员更好地了解网络流量状况。
3. tcpdumptcpdump是一款命令行流量分析工具,在Linux系统中被广泛应用。
它能够捕获和显示网络数据包的详细信息,如源IP、目的IP、协议类型等。
tcpdump支持使用BPF过滤器,只捕获感兴趣的数据包,提高处理效率。
基于Nagios构建企业级信息系统监控方案

基于Nagios构建企业级信息系统监控方案作者:武冬春来源:《计算机光盘软件与应用》2013年第16期摘要:企业信息系统中的服务器、网络等基础设施的稳定运行是保障业务正常运行的基础。
而要保证这些基础设施稳定、高效的运行,设备故障及时有效的发现、设备运行状态信息及时有效的展示就显得十分重要,信息系统的有效监控已成为信息系统管理的重要问题。
大中型企业内部存在着成百上千台服务器、网络等设备,如何实现对这些设备的有效监控,并且高效的解决各类系统故障,保障系统稳定、高效的运行呢?本文主要对Nagios监控功能进行分析,论述了如何利用它去监控服务器等设备。
关键词:nagios;监控;网络管理中图分类号:TP393.18随着企业信息系统的不断建设,庞大的服务器等基础设施的有效监控已成为信息系统管理的重要问题。
依靠人工巡检的方式对于系统故障、潜在风险及安全隐患的发现效率越来越差,为提高发现故障的及时性、把运维人员从繁重的工作中解放出来,亟需引入新的工具来协助工程师解决当前的问题。
该工具能够实现对各类IT设备的监视和管理,提高基础设施的服务质量和效率,因此自动化工具对于运维人员就十分必要。
Nagios是一种开源网管软件,利用它可以实现对企业中的服务器、网络等设备进行全面的监控。
1 Nagios介绍1.1 Nagios简介Nagios是一款开源的监视系统运行状态的网管监控系统。
它能监视本地或远程设备以及服务,同时提供异常告警通知功能等。
Nagios能运行在Linux/Unix平台,状态监测等可实现利用WEB浏览器展示。
1.2 Nagios的主要功能特点监视服务状态(SMTP,POP3,FTP,HTTP,PING等)监视资源利用率(CPU、内存,磁盘I/O等)利用插件方式轻松扩展监视功能支持各类服务等监视的并发处理功能支持错误通知功能(通过email,短信等方法)可指定自定义的事件处理控制器基于WEB浏览器的界面以方便维护人员查看被监控端状态支持通过手机终端查看监控信息1.3 Nagios工作原理Nagios的功能是监控服务和主机,Nagios的监控、检测功能都是依赖各种插件来完成。
Nagios+cacti+npc经典配置详解

安装完后重启 选择 firewall configuration,禁用 selinux
开放 http-80 端口
PDF created with pdfFactory Pro trial version
cacti 安装环境:
操作系统:Redhat Linux AS5.4 安装方式:全新安装并以文本方式与自定义安装软件 内核版本:2.6.18-164.el5 Apache:httpd-2.2.3-31.el5 PHP:php-5.1.6-23.2.el5_3 Mysql:mysql-5.0.77-3.el5 Net-snmp:net-snmp-5.3.2.2-7.el5 RRDtool:rrdtool-1.2.23-1.el5.rf Cacti:cacti-0.8.7e.tar.gz
PDF created with pdfFactory Pro trial version
接下来同样步骤选择 web server,去掉默认 squid tux webalizer 的安装
接下来选择 system tools ,然后按回车,再选中它按 F2,去掉所有默认安装 只留 Net-snmp-libs 与 net-snmp-utils 连个打上勾
PHP 配置(默认已都激活)
激活 PHP 扩展 /etc/php.ini Extension_dir=”usr/lib/php/modules”
激活 mysql 扩展 /etc/php.d/mysql.ini
PDF created with pdfFactory Pro trial version
[root@cacti-qmail soft]#rpm –ivh perl-rrdtool-1.2.23-1.el5.rf.i386.rpm rrdtool-1.2.23-1.el5.rf.i386.rpm
nagios监控说明word资料13页

Nagios监控使用说明目录Nagios介绍 (3)监控界面说明 (3)General (3)Current Status (3)Tactical Overview (4)右上方_ Monitoring Performance: (4)左上方_Network Outages (4)下方部分 (4)Map (4)Hosts (5)Host State Information (5)Host Commands (5)Host Comments (6)Services (6)Host Groups (7)Service Groups (8)Problem (8)Quick Search (8)Reports (8)Availability (9)第一步 (9)第二步 (9)第三步 (9)第四步 (9)Trends (10)Graphs (10)Alerts (10)History (10)Summary (10)Histogram (10)Notifications (11)Event Log (11)System (11)Comments (11)Downtime (11)Process Info (12)Performance Information (12)Scheduling Queue (12)Configuration (12)Nagios介绍Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
目前,语联网12台服务器均由nagios监控,监控界面:http://119.57.18.102/nagios/监控界面说明上图是nagios的监控界面,左边栏是nagios可以监控的各个项目,点击左边栏的按钮,右边即可显示相应的监控数据。
MRTG、Cacti、Rrdtool、Nagios、Zabbix大比拼(1)

MRTG、Cacti、Rrdtool、Nagios、Zabbix在我们平时使用的网络监控系统中,常用的是mrtg,另外还有MRTG、Cacti、Rrdtool、Nagios、Zabbix。
本文在这里就来个MRTG、Cacti、Rrdtool、Nagios、Zabbix大比拼吧。
MRTG、Cacti、Rrdtool、Nagios、Zabbi x比较Cacti Nagios Squid的区别cacti 是一个用rrdtool 来画图的网络监控系统, 通常一说到网络管理, 大家首先想到的经常是mrtg, 但是mrtg 画的图简单且难看, rrdtool 虽然画图本领一流, 画出来的图也漂亮, 但是他也就是一个画图工具, 不像mrtg 那样本身还集成了数据收集功能. cacti 则是集成了各种数据收集功能,然后用rrdtool 画出监控图形. 其本身界面比起同类系统要漂亮不少. 推荐所有有监控需求的人都去研究一下.cacti 和nagios 是不同功用的系统, nagios 适合监视大量服务器上面的大批服务是否正常, 重点并不在图形化的监控, 其集成的很多功能例如报警,都是cacti 没有或者很弱的. cacti 主要用途还是用来收集历史数据和画图, 所以界面比nagios 漂亮很多.net-snmp 是一套广泛使用在类unix 系统上的snmp 软件, 包含一套snmp agent 框架,一个snmpd 和一堆snmp 工具, 其前身为ucd-snmp. 关于snmp 是什么, 以及如何配置的文章,网上搜一下有一堆一堆的. 在这里就不重复了.squid 是一个web 缓存加速程序, 本来跟监控没有太大关系, 只是因为他支持snmp 查询,而我要用cacti 监控他, 然后遇到了他的缺陷被折腾了一阵子,所以也拉进今天的讨论.我跟这三个东西斗争的过程如下…首先先把cacti 架起来, 在架的过程中我没有遇到问题,但是把czz 搞了一下, 因为cacti 要调用外部程序, 不能开safe_mode, 如果开了就会出奇怪问题.接下来配置squid 的查询, squid 的查询数据比较多且复杂,自己做模版的话很麻烦,于是google 了一下,找了一个SquidStats (见附件) 的模版, 按照他的readme 一步一步来, 就可以正常安装. 于是我就遇到了第一个坎…设置完成以后执行poller 的时候总是无法产生rrd 数据, 给php 里面加log 也没有看出来什么, google 换了很多关键词, 总算发现了原因: cacti 在进行snmp 查询之前会先确定对方是否在运行, 他用的方法是查询 .1.3.6.1.2.1.1.3.0 这个oid, 但是squid 不支持这个oid , 于是cacti 就以为squid down 了,不去真正查询. 临时解决方法是在cacti 的settings 里面, poller 页的Downed Host Detection 选择Ping, 不要选择带有snmp 字样的.然后在弄64 位机的时候遇到了第二个坎, 发现64 位linux 机器的流量图总是不正确. 大部分时候没有结果,有时候又特大, 其实这个应该很容易想到是counter 回绕不正确的问题, 但是我第一次google 出来的结果是一个说和tunnel 设备有关的bug, 这两台x64 机器上面确实有tunnel ,于是我就一直以为是tunnel 的问题. 折腾了好久. 最后才发现原来就是简单的counter 回绕不正确的问题. 从Fedora Core 5 的开发目录里面下一个net-snmp 5.3 的srpm 在centos 4.2 上build 一下, 就搞定了. 注意FC4 里面的net-snmp 5.2.x 也是有bug 的,一定要5.3 的.最后推荐所有研究cacti 的人,一定不要放过cacti 的官方论坛扩展脚本版面. 里面有很多的第三方的模版和脚本, 支持很多的网络设备.Cacti Nagios比较cacti 和nagios 是不同功用的系统, nagios 适合监视大量服务器上面的大批服务是否正常, 重点并不在图形化的监控, 其集成的很多功能例如报警,都是cacti 没有或者很弱的. cacti 主要用途还是用来收集历史数据和画图, 所以界面比nagios 漂亮很多1. 主要对流量及主机在线状态监控软件,如最初的MRTG,PRGT,CACTI,Hobbit,2. 能对服务器的关键服务及进程进行监控的软件,如Big Brother,Nagios,zabbixzabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
手把手教你搭建功能强大的监控平台cacti+nagios(源码安装)

源码安装cacti+nagios目录索引安装前的准备工作1、操作系统要求2、配置编译环境以及安装一些依赖包3、关闭不需要的服务(以下未列出的一律关闭)可选操作4、下载所需软件包LAMP环境的搭建1、mysql的安装2、apache的安装3、php的安装4、验证安装CACTI的安装1、安装rrdtool2、安装net-snmp3、解压cacti包并做好安装前的配置4、安装cacti-spine5、安装cactiNagios的安装1、nagios的安装2、编译并安装Nagios插件安装前的准备工作1、操作系统要求CentOS_5.5 或Red Hat 5.5(Red Hat 5.5不能使用yum命令有关如何修改Red Hat 使用CentOS的更新源请参照以下连接)/view/bc394286ec3a87c24028c432.html2、配置编译环境以及安装一些依赖包Yum install –y pango glib pango pango-devel cairo gd gd-devel gcc glibcglibc-common3、关闭不需要的服务(以下未列出的一律关闭)可选操作atdcrondirqbalancemicrocode_ctlnetworksendmailsshdsyslog4、下载所需软件包以下连接是我个人上传到rayfile的源代码包,有兴趣的朋友也可以上各个官方网站去下载(有些版本间存在不兼容的情况)下列版本都已测试过没有问题。
mysql-5.0.75.tar.gz/zh-cn/files/221522b5-b8eb-11e0-8c4d-0015c55db73d/ httpd-2.2.19.tar.gz/zh-cn/files/e641fc57-b8e7-11e0-8f26-0015c55db73d/php-5.2.17.tar.gz/zh-cn/files/8a9baef3-b8eb-11e0-aa46-0015c55db73d/ rrdtool-1.4.5.tar.gz/zh-cn/files/9ce70a38-b8eb-11e0-bd61-0015c55db73d/ cacti-0.8.7g.tar.gz/zh-cn/files/eed7469c-b8ea-11e0-aa26-0015c55db73d/cacti-spine-0.8.7g.tar.gz/zh-cn/files/f94cb330-b8ea-11e0-b425-0015c55db73d/nagios-3.2.3.tar.gz/zh-cn/files/afc734bd-b8eb-11e0-b9af-0015c55db73d/ nagios-plugins-1.4.15.tar.gz/zh-cn/files/bbbc71d1-b8eb-11e0-b7d2-0015c55db73d/LAMP环境的搭建1、mysql的安装#groupadd mysql#useradd -r -g mysql mysql#cd /usr/local#tar zxvf /path/to/ mysql-5.0.75.tar.gz#./configure –prefix=/usr/local/mysql && make && make install#cd mysql#chown -R mysql .#chgrp -R mysql .#bin/mysql_install_db --user=mysql#chown -R root .#chown -R mysql var#cp share/mysql/f /etc/f# bin/mysqld_safe --user=mysql &#cp share/mysql/mysql.server /etc/init.d/mysqld#chkconfig –add mysqld#chkconfig –level 3 mysqld on2、apache的安装# tar zxvf httpd-2.2.19.tar.gz#cd httpd-2.2.19#./configure --prefix=/usr/local/apache --enable-module=so && make && make install# /usr/local/apache/bin/httpd -k start#echo /usr/local/apache/bin/httpd -k start >> /etc/rc.d/rc.local编辑httpd.conf文件配置对PHP文件的解析#vi /usr/local/apache/conf/httpd.conf添加、修改以下内容LoadModule php5_module modules/libphp5.soAddType application/x-httpd-php .phpDirectoryIndex index.html index.php3、php的安装# tar zxvf php-5.2.17.tar.gz#cd php-5.2.17#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs--with-mysql=/usr/local/mysql --enable-sockets && make && make install# cp php.ini-dist /usr/local/php/lib/php/php.ini#vi /usr/local/php/etc/php.ini4、验证安装验证apache跟php是否工作正常,创建index.php文件#vi /usr/local/apache/htdocs/index.php将以下内容写入到index.php并保存推出<?php phpinfo(); ?>修改完后启动apache,在浏览器中输入http://服务器地址/index.php出现下图表示工作正常。
使用 Cacti 进行系统监控

使用 Cacti 进行系统监控Cacti 是一款可以用来监控各种系统的开源软件。
它可以监控系统的各种指标、统计信息以及其他有用的数据,并为用户提供可视化的报告。
此外,Cacti 还可以集成到其他开源软件和工具中,如 Nagios,在整个 IT 基础设施中发挥更大的作用。
本文将探讨如何使用 Cacti 进行系统监控。
一、安装 Cacti首先,我们需要安装 Cacti。
安装 Cacti 比较简单,可以参考官方文档或者在线教程进行操作。
一般而言,安装 Cacti 的流程如下:1. 安装 LAMP(Linux、Apache、MySQL、PHP)或者 LNMP (Linux、Nginx、MySQL、PHP)环境。
2. 下载 Cacti 并解压缩。
3. 将 Cacti 放到 Web 服务器的根目录下。
4. 使用 Web 浏览器访问 Cacti,按照提示进行配置。
二、配置 Cacti安装完成以后,我们需要对 Cacti 进行一些配置,才能开始进行系统监控。
这些配置包括:1. 添加主机:将需要监控的系统添加到Cacti 中,包括主机名、IP 地址和其他相关信息。
2. 添加数据源:配置数据源以及数据层,以便 Cacti 可以收集系统数据并生成报表。
3. 添加图表:将数据源转换为图表,并将其添加到 Cacti 中。
4. 配置通知:配置警报规则,例如 CPU 负载超过一定阈值时触发警报。
5. 定义数据查询:使用 RRDTool 定义数据查询,包括 SQL 查询(用于从数据库中提取数据)和 SNMP 查询(用于收集网络设备的统计信息)。
三、使用 Cacti 进行系统监控安装和配置 Cacti 完成后,我们就可以开始使用 Cacti 进行系统监控了。
以下是一些常见的用例:1. 监控网络带宽使用情况:使用 SNMP 协议收集网络设备的使用数据,包括总带宽利用率、每个端口的带宽利用率和每个设备的带宽数量。
然后,将这些数据转换为图表,并定期生成报告。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
手把手实现企业级开源监控软件cacti+nagios+ntop整合(图解)2010-09-03 11:05:48标签:监控nagios cacti ntop整合原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。
否则将追究法律责任。
/1846439/386828此文凝聚笔者不少心血请尊重笔者劳动,转载请注明出处。
/做一名运维工程师,监控恐怕是日常生活中必不可少的活了,在企业中的监控,大多是用开源软件来实现的,(为什么要用开源?省钱呗..呵呵)而且开源软件也有着非常优秀的表现,其中著名的有cacti,nagios,ntop,Ganglia,等等..而cacti+nagios+ntop的结合应用,能为企业做到更细微的保证。
下面笔者先逐一介绍下:一、cacti的简介网络管理(如主机负载、网络流量等的监控)是系统管理岗工作人员日常工作的一个重要组成部分,许多厂商为此提供了各自的解决方案。
早期开源网管软件中比较著名的其中之一的MRTG,是一款使用perl开发的,通过SNMP协议实现管理工作站与设备代理进程间的通讯,以完成对设备的管理和运行状态的监视。
MRTG安装配置简单、图形界面直观,因为广受当时网络管理人员的喜爱,也为笔者早期的网络管理工作立下了汗马功劳。
但MRTG也有许多固有的缺点,如:使用文本式的数据库,数据不能重复使用;只能按日、周、月、年来查看数据;每图只能画两个DS(一条线、一个块);每取一次数据即需要绘图一次,浪费系统资源;同时,它也没有提供管理功能。
有鉴于此,MRTG的作者后来另外又开发了一个工具,即rrdtool。
rrdtool是一个性能优良的数据记录器,同时也是一个功能强大的绘图引擎。
它使用rrd的数据存储格式,使用得数据可以重复使用;在绘图方面,它可以定义任意时间段进行绘图,能绘出多个DS。
但它也有自己的缺点:虽然提供了强大的数据存储及绘图功能,但rrdtool却没有提供类似于MRTG 中集成的数据采集功能;同时,它提供了过多的参数,以至于在命令行界面使用起来极为不便;此外,rrdtool也没有提供管理功能。
于是cacti应运而生。
简单来说,Cacti就是rrdtool的一个forefront,它内置了快速的获数据取工具、优秀的绘图模板以及许多设计精良的数据获取脚本,从而可以通过结合rrdtool强大的数据抓取、数据存储和绘图功能,轻松实现主机负载、网络流量等信息的走势图的绘制。
目前其最新的软件版本是0.8.7g。
cacti是用php语言实现的一个软件,它的运行需要网站服务器(如apache)及PHP环境的支持。
同时,cacti还需要Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
rrdtool的对主机负载、网络流量等信息的统计需要通过SNMP协议实现。
经过SNMP抓取到的数据存储于由rrdtool生成的rrd文件中,这些文件通常位于cacti的rra目录中。
rrdtool 对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的归档文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
这副图片简述了cacti的工作原理.Cacti的实例应用1)网络设置2)主机系统(1)网络接口流量(进与出的带宽)(2)监控CPU的负载、内存等等(3)监控磁盘的空间、进程数等等.........................................等等3)cacti常见的监测对象(1)服务器资源:CPU、内存、磁盘、进程、连接数等(2)服务器类型:WEB、Mail、FTP、数据库、中间件(3)网络接口:流量、转发速度、丢包率(4)网络设备性能、配置文件(对比与备份)、路由数(5)安全设备性能、连接数、攻击数(6)设备运行状态:风扇、电源、温度(7)机房运行环境:电流、电压、温湿度好了简单介绍完cacti后,下面我们一起来看下nagios.二.nagios的简介Nagios是一款用于系统和网络监控的应用程序。
它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息Nagios最初被设计为在Linux系统之上运行,然而它同样可以在类Unix的系统之上运行Nagios更进一步的特征包括:1)监控网络服务(SMTP、POP3、HTTP、NNTP、PING等)2)监控主机资源(处理器负荷、磁盘利用率等)3)简单地插件设计使得用户可以方便地扩展自己服务的检测方法4)并行服务检查机制5)具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态6)当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式)可以通过飞信,等方式实现时,既可传递给管理员,可高效的保证服务器的维护。
7)具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位8)自动的日志回滚9)可以支持并实现对主机的冗余监控10)可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、NSClient++和NDOUtils)组成。
Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。
而四个ADDON中(1)NRPE:用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控(2)NSCA:用来让被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到)(3)NSClient++:用来监控Windows主机时安装在Windows主机上的组件(4)NDOUtils:则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的快速检索和处理这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端。
用marion老师所绘制的一幅图片,可清晰展示ngagios的工作原理在用一幅图片宏观上展示nagios在企业级应用的位置有朋友疑问,既然cacti,和nagios都是网络监控工具,选用其一不是减少很多麻烦,在这里笔者建议两者结合使用,还要结合后文所提到的ntop,以作者的理解,简单阐述下cacti和nagios的优缺点:cacti:在监控方面有良好的绘图,cacti在流量和图型塑造上要强于nagios,但是在故障分析上有些略逊,而且报警机制也有待完善,这时nagios就派上用场了。
nagios :适合监视大量服务器上面的大批服务是否正常, 重点并不在图形化的监控, 其集成的很多功能例如报警,都是cacti 没有或者很弱的。
但在绘图以及图型塑造方面精细度比cacti要弱。
通过两者比较,可以很清晰的了解各自的用途。
下面笔者在简单介绍下ntop三.Ntop简介一.MRTG基于SNMP获取信息,对于端口的流量,MRTG能提供精确统计,但对于三层以上的信息则无从得知了。
而这正是NTOP的强项。
NTOP能够更加直观地将网络使用量的情况和每个节点计算机的网络带宽使用详细情况显示出来。
NTOP是一种网络嗅探器,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。
可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有黑客正在攻击网络系统。
如果怀疑网络正在遭受攻击,通过嗅探器截获的数据包可以确定正在攻击系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。
二. 管理人员通过NTOP还可以很方便地确定出哪些通信量属于某个特定的网络协议、占主要通信量的是哪个主机、各次通信的目标是哪个主机、数据包发送时间、各主机间数据包传递的间隔时间等。
这些信息为网管员判断网络问题及优化网络性能,提供了十分宝贵的信息。
NTOP提供以下一些功能:①自动从网络中识别有用的信息;②将截获的数据包转换成易于识别的格式;③对网络环境中的通信失败进行分析;④探测网络环境下的通信瓶颈;⑤记录网络通信时间和过程;⑥自动识别客户端正在使用的操作系统;⑦可以在命令行和Web两种方式下运行。
简单介绍完ntop后,笔者在网上找了一张图片,很清晰的解释了ntop的工作位置,从工作位置也可以看出ntop的主要功能.通过笔者简单介绍,也可以看出来ntop作为监控工具与前两者cacti和nagios的区别,ntop在监控方面,它的角度是从分析网络流量来确定网络上存在的各种问题,说白了就类似个抓包监控工具,只不过通过归纳绘图实现更多的功能。
笔者这样解释相信不少朋友已经明白这三款开源界的元老级监控软件的各自职责,笔者建议朋友们在总结下各自的功能,达到更深刻的理解.也算笔者给朋友们留个话题,好了,接下来开始全源码实现这三者的整合和应用。
笔者所用的系统是rhel5.4版本,内核版本号为2.6.18首先先编译安装cacti.在开始之前老规矩,先安装编译环境,要想实现cacti的网络监控,还要借助其他一些如mysql,httpd,php等来其原理请参照笔者上一篇博文LEMP架构,为了节省时间,笔者在这里就用yum来装这些包了。
配置好yum环境后yum install httpd php php-mysql mysql mysql-server php-snmp -y安装完成后让服务都启动并调整之间的连接关系.service mysqld start # 启动mysql服务chkconfig mysqld on #使其开机自动启动启动完mysql后,如果出现以下画面,并能通过mysql进入,说明成功安装。
之后编辑httpd服务的配置文件,使其支持mod_status.so模块.,只要在/etc/httpd/conf/httpd.conf的配置文件中找到LoadModule status_module modules/mod_status.so有这一项表示已经支持状态检测模块,所以无需额外添加,直接启动web服务即可.service httpd start #启动http服务chkconfig httpd on #开机自动启动httpd 服务启动OK后,编辑vim /var/www/html/index.php 在其中添加以下内容#<?phpphpinfo();?># 保存退出用web浏览器访问,如果出现以下画面,则表示http支持动态php.并能与php成功连接.接着测试与mysql的连接,先给mysql设置个管理员密码mysqladmin -uroot password '123456' #密码设置为123456编辑刚才的web页面vim /var/www/html/index.php把里面的内容改为<?php$link=mysql_connect("localhost","root","123456");if(!$link) echo "FAILD!";else echo "OK!";?>刷新刚才的web浏览器页面,如果出现OK!字样,则表示成功连接.下面开始安装绘图工具rrdtool..具体用途请参照上文,笔者在此不过多解释了。