cacti和nagios监控web平台搭建
在linux的运维中对服务器的监控,时刻了解服务器的状态是确保服务能够正常允许的条件,linux的服务监控平台有很多,
cacti
下面对cacti(仙人掌),一种比较流行的开源监控软件做安装配置

具体到工作原理如下:
Cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服务获取数据,然后用
rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。因
此,snmp 和 rrdtool 是 cacti 的关键。
Snmp 关系着数据的收集,rrdtool 关系着数据存储和图表的生成。snmp 抓到数据不是
存储在 mysql 中,而是存在 rrdtool 生成的 rrd 文件中(在 cacti 根目录的 rra 文件夹下,
一般以 rra 为后缀名称)。简单原理图如下:

下面主要讲解其配置:
1) Cacti 服务器端安装
官网下载 cacti 相关软件,一共需要三个软件,下载地址分别如下:
http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz
2) 安装 LAMP 系统环境
这里采用 yum 安装方式,安装命令:
yum install httpd mysql mysql-server php php-mysql ph
p-json php-pdo -y
3) 安装 rrdtool 采集工具
安装 rrdtool 之前需要安装相应的 lib 库,如下安装:
yum install cairo-devel libxml2-devel pango pango-devel –y
tar xzf rrdtool-1.4.5.tar.gz ;cd rrdtool-1.4.5 ; ./configure --prefix=
/usr/local/rrdtool/
make &&make install ;ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
在make rrdtool采集工具过程中可能会有如下依赖报错
报错1:
make[3]: *** [perl-piped/Makefile] 错误 2
make[3]: Leaving directory`/home/skyboy/tools/cacti_tools/rrdtool-1.2.30/bindings'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory`/home/skyboy/tools/cacti_tools/rrdtool-1.2.30/bindings'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory`/home/skyboy/tools/cacti_tools/rrdtool-1.2.30
[root@sky9896 tools]#yum -y install perl-ExtUtils-MakeMaker
#解决问题
报错2:
configure: error: Please fix the library issues listedabove and try again.
[root@sky9896 tools]#yum-y install pango*
报错3:
configure: error: Please fix thelibrary issues listed above and try again.
[root@sky9896 tools]#yum –y install pango-devel*cairo-devel*
4) 安装 SNMP 服务
yum install net-snmp net-snmp-utils –y
5) 安装 cacti 主程序
tar xzf cacti-0.8.8a.tar.gz && mv cacti-0.8.8a /var/www/html/cacti/
6) 创建 cacti 数据库
mysql -uroot –p 输入你的密码进入数据库,然后创建数据库:
create database cacti;创建数据库
grant all on cacti.* to cacti@'localhost' identified by "123456";创建用户并授权
flush privileges; 刷新权限
mysql 配置完毕后,把 cacti 数据导入 cacti 数据库
mysql -ucacti -p123456 cacti </var/www/html/cacti/cacti.sql
配置完 mysql 后,我们需要设置 cacti rra、log 目录的权限,这里设置为 777:
chmod -R 777 /var/www/html/cacti/rra/
chmod -R 777 /var/www/html/cacti/log/
7) 修改 cacti 全局配置文件
vi /var/www/html/cacti/include/config.php 为如下配置:

8) 添加 Rrdtool 抓图任务计划
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log
2 >&1
9) Cacti 安装完毕,测试访问
通过 http://ip/cacti/ 访问出现如下界面

,点击 NEXT 下一步。
默认一直点击下一步:

进入登录界面,第一次需要修改密码:

进入 Cacti 配置管理界面

点击 device,可以添加设备,默认可以看到 127.0.0.1 这台服务器。右上角 Add 可以增加
设备。

点击 localhost 可以看到具体的设置,包括采用的 snmp 协议版本,监控的名称等:

如果出现 snmp error,检查 snmp 服务是否已启动,或者是否有权限。出现如上信息则表示
正常。

点击左上角第二个按钮,graphs 查看 cacti 图像—选择 localhost 主机—右边会显示 cacti
每 5 分钟的监控图像。
nagios
能够做到和cacti一样的监控作用,甚至可以把二者进行整合:
Nagios 是一款开源的免费网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机
状态,交换机路由器等网络设置,打印机等。

在系统或服务状态异常时发出邮件或短信报警
第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
其原理图如下:

下面介绍其安装
1) Nagios 服务端安装
同样安装 nagios 服务需要安装 LAMP 环境,这里省略,可以参考之前的 cacti PHP 环境
安装方法:官网下载 nagios 相应版本和插件:
wget
http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.2.1/nagios-3.2.
1.tar.gz/download
http://down1.chinaunix.net/distfiles/nagios-plugins-1.4.14.tar.gz
/ usr/sbin/useradd nagios
tar zxvf nagios-3.2.1.tar.gz
cd nagios-3.2.1
./configure --prefix=/usr/local/nagios --with-command-group=nagios
make all
make install //来安装主程序,CGI 和 HTML 文件
make install-init //在/etc/rc.d/init.d 安装启动脚本
make install-config //来安装示例配置文件,安装的路径是/usr/local/nagios/etc
make install-commandmode //来配置目录权限
make install-webconf // 配置 nagios 跟 apache 整合
2) 安装 Nagios-plugins
tar zxvf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios
--with-nagios-group=nagios
make && make install
3) nagios 访问控制设置
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
输入两次密码即可,登录页面的时候会用到这个密码.
4) Nagios 测试访问
重启 nagios ,/etc/init.d/nagios restart ;/etc/init.d/httpd restart ;
http://localhost/nagios/ 如下图:

点击左侧的 Hosts 可以看到右侧默认 localhost 主机的监控,UP 表示主机目前运行正常:

点击左侧的 Services 可以看到右侧默认 localhost 监控的各个服务的状态,绿色 OK 表示正
常:

默认安装完 nagios,配置文件主目录在/usr/local/nagios/下,目录各种的功能如下:
bin Nagios 可执行程序所在目录
etc Nagios 配置文件所在目录
sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
share Nagios 网页文件所在的目录
libexec Nagios 外部插件所在目录
var Nagios 日志文件、lock 等文件所在的目录
var/archives Nagios 日志自动归档目录
var/rw 用来存放外部命令文件的目录
cacti和nagios监控web平台搭建的更多相关文章
- Grafana3.0.1+Zabbix3.0.4监控系统平台搭建
前言 本文的Zabbix部分知识只介绍它的基础安装,Zabbix的使用以及配置优化并不在本文的介绍范围之内. 本文只介绍在CentOS6系列下的安装和部署,其他发行版与其他版本号暂不涉及 本文默认使用 ...
- Nagios 监控系统架设全攻略
Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强, ...
- 在Nginx中搭建Nagios监控平台
本文只做Nginx下Nagiox安装的说明,其它关于Nagios监控的详细配置请参考我的另一篇文章[Ubuntu 10.04下构建Nagios监控平台] Nagios依赖PHP环境和perl环境.由于 ...
- Nagios监控平台搭建
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...
- Cacti+Nagios监控平台完美整合
Cacti+Nagios监控平台完美整合 本博文出自51CTO博客吴光科博主,有任何问题请进入博主页面互动讨论!博文地址:http://wgkgood.blog.51cto.com/1192594/1 ...
- [转] Cacti+Nagios监控平台完美整合
Cacti+Nagios监控平台完美整合 http://os.51cto.com/art/201411/458006.htm 整合nagios+cacti+微信.飞信实现网络监控报警 http://b ...
- Nagios监控平台搭建及配置文件详解
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...
- inux监控平台搭建-监控项
linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...
- Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据
一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信 ...
随机推荐
- 关于“importer.GetNPOTScale() == TextureImporter::kNPOTKeep”问题的简单处理方法
在运行NGUI打包图集的时候碰到下图所示的错误,这个错误导致图片无法正确的规格进行图集生成.结果是图片变成各种诡异的尺寸!! 通过关键字搜索,发现国外有讨论这个问题的解决方案: 将图片转换为textu ...
- 学习.NET好书推荐
我之前看过很多书,最近也买了些新书,无论已经看过的,还是正准备要看的,我都做了收藏.这些书涉及面较为广泛,都是平时看社区文章和技术杂志时收藏的,全部来自技术达人和架构师们的推荐,经过我的综合评估(销量 ...
- ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务解决办法
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务解决办法: 1.首先打开cmd命令 查看本地TNSPING配置 是否ok?然后找到 Oracle 安装文件 中 listener. ...
- Hibernate课程 初探一对多映射3-1 单向多对一简介
多对一的关系和关系数据库中的外键参照关系最匹配,即在己方的表中的一个外键参照另一个表中的主键! 通过在多方持有一方的引用来实现,需要在多的一方使用<many-to-one>来配置
- Django Rest Framework进阶一
一.认证 认证请求头 #!/usr/bin/env python # -*- coding:utf-8 -*- from rest_framework.views import APIView fro ...
- JavaSE集合基础总览
Java集合 Java集合,也称之为容器.基本上你写所有的Java程序,都必须要用到一个包.该API基本都位于java.util工具类包中,是JavaSE中的重中之重.简单可以总结为“1136”,分别 ...
- Flask-Script-Migrate
Flask-Script 从字面意思上来看就是 Flask 的脚本 是的,熟悉Django的同学是否还记得Django的启动命令呢? python manager.py runserver 大概是这样 ...
- centos7服务器搭建javaweb运行环境及代码部署
之前在一直在学习java web终于写完了第一个小demo,于是在阿里云上买了一个服务器,开始了配置服务器环境的踩坑之旅.... ps:本文不讨论服务器配置的具体步骤,网上都很多,按部就班就是,本文主 ...
- 移动端纯CSS3制作圆形进度条所遇到的问题
近日在开发的页面中,需要制作一个动态的圆形进度条,首先想到的是利用两个矩形,宽等于直径的一半,高等于直径,两个矩形利用浮动贴在一起,设置overflow:hidden属性,作为盒子,内部有一个与其宽高 ...
- [一个小问题]Mainfest配置文件的version问题小结
问题起源自己安装好产品的新build,然后用自己本地编译出来的其中一个DLL去替换到产品中,本来以为可以正常执行,但是却发现这个新DLL无法被Load,无法被使用. 从Event Viewer里找到了 ...