在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平台搭建的更多相关文章

  1. Grafana3.0.1+Zabbix3.0.4监控系统平台搭建

    前言 本文的Zabbix部分知识只介绍它的基础安装,Zabbix的使用以及配置优化并不在本文的介绍范围之内. 本文只介绍在CentOS6系列下的安装和部署,其他发行版与其他版本号暂不涉及 本文默认使用 ...

  2. Nagios 监控系统架设全攻略

    Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强, ...

  3. 在Nginx中搭建Nagios监控平台

    本文只做Nginx下Nagiox安装的说明,其它关于Nagios监控的详细配置请参考我的另一篇文章[Ubuntu 10.04下构建Nagios监控平台] Nagios依赖PHP环境和perl环境.由于 ...

  4. Nagios监控平台搭建

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  5. Cacti+Nagios监控平台完美整合

    Cacti+Nagios监控平台完美整合 本博文出自51CTO博客吴光科博主,有任何问题请进入博主页面互动讨论!博文地址:http://wgkgood.blog.51cto.com/1192594/1 ...

  6. [转] Cacti+Nagios监控平台完美整合

    Cacti+Nagios监控平台完美整合 http://os.51cto.com/art/201411/458006.htm 整合nagios+cacti+微信.飞信实现网络监控报警 http://b ...

  7. Nagios监控平台搭建及配置文件详解

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  8. inux监控平台搭建-监控项

    linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...

  9. Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据

    一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信 ...

随机推荐

  1. 前端如何做好SEO优化

    https://www.cnblogs.com/weiyf/p/9511021.html 一:什么是SEO? 搜索引擎优化(Search Engine Optimization),简称SEO.是按照搜 ...

  2. jquery日期插件jquery.datePicker参数

    1.效果图 2.引入JS.CSS文件 jquery-ui.min.css和jquery-ui.min.js文件 Includes: core.js, widget.js, mouse.js, posi ...

  3. 如何将运维的报警做成运营的报警--Java后端架构

    转:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247483970&idx=1&sn=2a00acfb25f0c ...

  4. Swift-取消传统For循环

    1.取消传统的For循环 传统的for,在swift 3.0 被取消 i++/++i在swift 3.0 被取消 i += 1代替 for var i = 0;i<10;i +=1 { } 2. ...

  5. Windows环境下搭建Linux虚拟机

    下载VMware workstation 和 CentOs 或者 redHat .Ubuntu

  6. c#和c++的运算符优先级

    闲来无聊乱写代码.发现基础的东西有的时候也非常的抽象.不信?那来看看下面这条语句: ; ; j = i = -i++; 如果上述代码是vc++代码,那么输出结果是: i=- j=- 请按任意键继续. ...

  7. JSON中不能加注释

    今天犯了一个白痴级的错误,那就是向JSON数据文件中,很多行后面添加注释(Comment,//). 导致Node.js程序不能读取JSON文件,Server启动失败. Debug时间蛮久,经同事提醒才 ...

  8. 如何让MVC和多层架构和谐并存(二)

    上一节说了一些笼统的东西,这节说一些实际的操作. 1.取列表.这是一个新闻列表:         对应MVC的model是: public class NewsListModel { /// < ...

  9. Java Map应用

    一.基本API使用方法 直接上代码,注释讲解 package com.map; import java.util.HashMap; import java.util.Iterator; import ...

  10. HCNA配置RIPv1

    1.拓扑图 2.配置 R1 The device is running! ###### <Huawei>sys Enter system view, return user view wi ...