在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. 从零开始的全栈工程师——js篇(cookie)

    Cookie是由服务器端生成,发送给User-Agent,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器,对cookie知识感兴 ...

  2. jQ中css()和addClass的区别之优先级

    笔者在实现点击表格中某行添加高亮的效果时,发现一个css()和addClassd()的冲突,具体代码如下: <style> .se { background:#FF6500; color: ...

  3. Android学习笔记4——Activity详解

    在 Android 开发过程中,与程序员打交道最多的应该就是作为四大组件之一的 Activity 了.接下来我们就一起来揭开 Activity 的神秘面纱吧~ 一.概述 什么是 Activity(活动 ...

  4. springboot利用mail配置包,实现邮件发送

    了解邮件发送与接收的过程: A->S1->S2->B 1.计算机A通过SMTP协议将邮件发送到服务器S1上: 2.服务器S1再发送到服务器S2: 3.计算机B通过POP3协议接收服务 ...

  5. dedecms网站扩展手机网站—共用数据库真正做到电脑手机同步访问,原pc站无需改动,对原pc站无任何影响

    在如今无线互联网大潮的冲击下,越来越多的pc网站访问量下降,首当其冲的就是以pc网站为生的站长们,为了顺应无线互联网的要求,站长们很有必要为自己的pc网站扩展一套手机网站,更早的抓住手机用户的流量,使 ...

  6. python--json和pickle序列化

    字符串存储 一般需要有信息需要记录的都写到文件上面,把要记录的信息转成字符串,然后在写入到文件中.这算是一种记录方式. 比如有一组用户信息需要存起来.数据定义好之后就可以写文件. info = { ' ...

  7. SharePoint 计时器作业

    本文将介绍 SharePoint 2010 的默认计时器作业,即我们通常说的Timer服务.计时器作业在 SharePoint Server 的特定 Windows 服务中运行.计时器作业还是执行定时 ...

  8. Spring是如何管理Bean

    容器是什么?spring中是如何体现的?一直有疑惑,这两天看了一下Spring管理bean的Demo,对于Spring中的容器有了简单的认识. 我们知道,容器是一个空间的概念,一般理解为可盛放物体的地 ...

  9. 14 - Log日志

    LOG https://www.cnblogs.com/yyds/p/6901864.html logging logging模块提供模块级别的函数记录日志 包括四大组件 1.日志相关概念 日志的级别 ...

  10. js另类值交换

    当我们有a.b两个值,想要交换,通常是要声明第三个变量,但是我最近看到这样一种不用声明第三个变量的处理方法: var a=1,b=2; a=[b,b=a][0]; 其实还是在内存中开出了一个新的空间( ...