服务器监控系统cacti

前言:在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU、内存、磁盘空间使用情况等。为了能够及时的发现问题,尽量减少故障的发生。当网络中的设备,服务器等数量较多时,可以部署一套监控系统来实时跟踪服务器,我们通常会借助一些软件来实现。今天就以Cacti套件为例,介绍服务器集中监测体系的构建和使用。

今天所讲的cacti服务器监控系统与windows操作系统中的“性能监视器”属于同一类,都是为了监控cpu占用,内存使用,运行进程数,磁盘空间,网卡流量等各种数据。但不同的是,cacti不仅可以监控linux,也可以监控windows服务器,路由器,交换机等网络设备,主要基于snmp协议来搜集数据。Cacti本身是一个web界面的软件,通过调用net-snmp工具来采集检测数据,并结合RRDtool(轮询数据库工具)记录数据并绘制图片,最终以web页面展示给管理员用户。cacti需要运行在lamp平台上,配置简单,直观,而且支持插件和数据模板,可扩展其功能。下面给大家介绍搭建的过程。

一、实验环境

1、工作原理

Cacti可以从逻辑上分为三个部分、第一部分:被检测的对象,也就是客户端。第二部分:检测平台,也就是服务器端。第三部分:管理平台。Cacti采用了两种结构实现功能,一种是C/S结构主要是实现服务器到客户端监控另外一种就是B/S主要完成对Cacti平台的管理,从下图我们可以看出,管理端是在Web上对Cacti进行管理。

简单的整理一下Cacti的工作过程。

首先通过LAMP平台部署Cacti监控工具,之后通过客户端的web登录Cacti进行对其他客户端的设置,可以从下图看到Cacti采集数据时必须要使用SNMP协议来连接客户端进而能够采集数据,也就是说客户端必须支持SNMP协议,监控之后通过RRDtool来生成图表。

2、实验拓扑

3、虚拟机实验环境

二、服务器的配置

1、安装支持软件

配置LAMP平台,我们以前是编译安装的,这里为了节约时间,就直接使用yum安装了。

补充:

[[email protected] ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[[email protected] ~]# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

[[email protected] ~]# mysqladmin -u root -p password 'pwd123'

Enter password:

1)测试LAMP平台

编写一个php测试页,Vim  /var/www/html/index.php,内容如下:

在浏览器上访问,如果出现下面的页面,说明配置成功。

1)安装net-snmp-utils软件包

Cacti平台通过snmp协议采集检测数据,这些工具程序由net-snmp-utils软件包提供,安装方法如下。

1)安装rrdtool软件包

Rrdtool软件包主要用于数据记录和图表绘制。

首先安装依赖包:

[[email protected] ~]# yum -y install cairo-devel zlib libxml2 libxml2-devel glib2 glib2-devel libpng libpng-devel freetype freetype-devel libart_lgpl pango pango-devel perl-CPAN

安装rddtool源码包:

2、部署cacti,设置数据库连接

1)部署cacti源码包(将下载的cacti源码包释放到web服务器的网页目录)

添加一个用来读写检测数据的用户账户,并调整目录的属主,以便正常读取及写入数据。

2)建立数据库,表结构(创建用于cacti监测平台的数据库,并授权一个数据库用户cacti,然后使用cacti源码目录下的cacti.sql脚本,导入预设的各种数据表)

验证数据库是否导入:

2)调整cacti配置文件

[[email protected] cacti]# vim include/config.php

$database_type = "mysql";  //指定连接的类型

$database_default = "cacti";  //连接的库

$database_hostname = "localhost"; //登录源

$database_username = "cacti";//用户名

$database_password = "cacti";//用户密码

$database_port = "3306"; //连接的端口

$database_ssl = false; //不启用ssl

$url_path = "/"; //指定cacti的根目录,这个目录是cacti的文件目录下,我们后面还需要修改httpd的主配置文件。

3、cacti的安装

1)调整httpd配置(修改httpd服务的主配置文件,设置好网站根目录,默认首页,默认字符集等,然后重新加载httpd服务)

[[email protected] cacti]# vim /etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/html/cacti" //292行

<Directory "/var/www/html/cacti"> //317行

    Options Indexes none //331行

   AllowOverride None //338行

 Order allow,deny //343行

    Allow from all //344行

</Directory> //346行

DirectoryIndex  index.php  index.html index.html.var //402行

AddDefaultCharset UTF-8 //759行

[[email protected] cacti]# service httpd restart

修改网站主目录(以下2个地方)

修改默认首页为index.php

修改字符集,默认就是这个,不用改

重新加载httpd服务,并查看端口

1)初始化cacti系统

在浏览器中输入http://192.168.1.1,然后根据提示安装。

以下保持默认即可,点击finish完成即可

到此为止服务器配置完成了,下面开始配置一台linux客户端(mysql主192.168.1.2),然后使用cacti监控客户端。

三、配置客户端(被控端snmpd)

无论是路由器、交换机、还是linux或windows服务器,只要正确支持SNMP协议,并允许Client服务器采集数据,就能够对其进行监测。下面仅介绍在linux服务器中启用SNMP支持并设置共同体名的简单方法。

ps:共同体名,值的是一种验证机制,所有的client都必须使用同一个共同体名,就像我们之前学习的hsrp的组一样,只有组号相同才能是一个组的,这里也是如此,只有共同体名相同的时候,Cacti才能通过这个共同体名对client进行监控。

需要安装net-snmp、lm_sensors软件包,然后通过修改其配置文件/etc/snmp/snmpd.conf,并启动snmpd服务,并建立规则,默认监听UDP的161号端口。

[[email protected] ~]#

yum -y install net-snmp lm_sensors

[[email protected] ~]#

vim /etc/snmp/snmpd.conf

com2sec notConfigUser  192.168.1.1       public //41行

access  notConfigGroup ""      any       noauth    exact all none none             //62行

view all    included  .1               80   //85行

第41行 192.168.1.1指的是Cacti的服务器IP(默认是default),表示允许其查询本机数据,public指的就是共同体名,用来识别及验证

第62行  all表示开放所有的SNMP查询权限(默认是 SystemView)

第85行   去掉注释之后,以便支持各种查询。

[[email protected] ~]#

service snmpd restart

[[email protected] ~]#

iptables -I INPUT -p udp --dport 161 -j ACCEPT

三、使用cacti的web控制台(下面以5个部分说明)

l 登录Web控制台

l 添加被控设备/主机,设置监控项目

l 生成监测图像

l 定期采集监测数据

l 查看监测结果

1、登录web控制台

在浏览器中输入http://192.168.1.1,输入用户名和密码登录,默认都是admin

2、添加被控设备/主机,设置监控项目

1)单击导航栏中的“management(管理)”下的“devices(设备)”,可以管理被控设备或主机。点击devices---Add

修改五个地方,如下图

然后单击右下角的“create”创建,将自动连接目标执行snmp查询

2)设置要监测的项目

成功连接被控端后会看到save successful提示,如下图:

添加项的时候选择页面右侧的add,完成之后点击右下方的save按钮保存

3、生成检测图像

1)创建图像

单击导航栏中create下的new graphs(图表),选择被控端,选中最需要的图像条目,最后单击下方的create按钮完成创建。

我这里就全部选择了,效果明显。

1)添加图像至监测树

单击导航栏中的management下的graph trees,在单击default tree就可以对默认的图像监测树进行管理。单击右侧的add,可以向监测树种添加“树项目”,完成之后点击create,并点击save保存

4、定期采集监测数据

Cacti系统通过poller.php页面采集监测数据,可以结合计划任务定期采集(默认的刷新间隔是5分钟)

执行完成之后,会出现很多的提示信息,如图17所示,一般情况下是指时区不正确,他建议你将时区改为Asia/Chongqing

由于是php报的错误,所以我们通过php.ini这个主配置文件解决这个问题

[[email protected] cacti]# vim /etc/php.ini

date.timezone = Asia/Chongqing   //946行去掉注释

[[email protected] cacti]# crontab  -e

*/5 * * * * /usr/bin/php  /var/www/html/cacti/poller.php

4、查看监测结果

单击cacti管理控制台左上方的graphs标签,然后展开左侧的default tree树,选择被控主机后即可看到各监测图像。

我这里有三页的图表,就截以上的几张图片了。

五、安装percona-mysql-monitor插件

Cacti工具默认的模板只能监控机器的cpu,内存和磁盘等信息,如果想要监控mysql,就需要安装插件,操作如下。

1)解压缩软件到目标位置

2)在mysql数据库授权用户

[[email protected] ~]# mysql -u root -p

mysql> grant process , super on *.* to [email protected]'192.168.1.1' identified by 'cactiuser';

[[email protected] ~]# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

3)为设备添加项目

在Cacti管理界面中进行添加,点击Consose——Import Templates——选择文件, 将宿主机下的压缩目录解压到一个文件夹内,选择解压后的cacti\templat目录下的cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.1.4.xml,最后单击import导入。

4)添加模板

4)创建图像

4)重新采集(或者等5分钟之后)

[[email protected] scripts]# /usr/bin/php  /var/www/html/cacti/poller.php

4)查看监测结果

原文地址:http://blog.51cto.com/wuhui1994/2062117

时间: 2024-07-31 13:39:12

服务器监控系统cacti的相关文章

明晚九点|一线互联网公司服务器监控系统架构分享

主题:一线互联网公司服务器监控系统架构 内容: 自动运维的一点体会 性能与可用性可扩展 功能可扩展 监控支撑业务扩展 主讲师:PC 老师 大学时期就负责学校官方网站的运维工作,实习期间加入豆瓣,有幸成为豆瓣 Top20 员工,从事 Python 开发及运维工作,后在 BAT 从事自动化运维,见证BAT 运维自动化从无到有.擅长系统底层.分布式系统开发,热衷于开源运动,给 memcached.[email protected] 等多个开源项目贡献过代码. 自动化运维的一点体会 不同公司的需求差异

如何借助Monit搭建服务器监控系统?(1)

许多Linux管理员依赖一种集中式远程监控系统(比如Nagios或Cacti),检查网络基础设施的健康状况.虽然集中式监控系统为管理员在处理许多主机和设备时简化了工作,但专用的监控设备显然成了单一故障点;要是监控设备出现故障或者由于其他原因(比如硬件坏掉或网络停运)而联系不上,你就失去了可见性,无法了解整个基础设施的状况. 想为监控系统增添冗余机制,一个办法就是起码在网络上任何关键/核心服务器上安装独立的监控软件(作为一条退路).那样万一集中式监控系统坏掉,你仍能够通过备用的监控工具,保持可见性

服务器监控cacti

第九章:服务器监控系统cacti 防伪码:海阔天空 前言:在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU.内存.磁盘空间使用情况等.为了能够及时的发现问题,尽量减少故障的发生.当网络中的设备,服务器等数量较多时,可以部署一套监控系统来实时跟踪服务器,我们通常会借助一些软件来实现.今天就以Cacti套件为例,介绍服务器集中监测体系的构建和使用. 今天所讲的cacti服务器监控系统与windows操作系统中的"性能监视器"属于同一类,都是为了监控cpu占用,内存使用,运

细述:Linux 监控系统 Linux-dash

Linux-dash 是一个低开销 Linux 服务器监控系统,基于 Web 的监控界面.Linux-dash 的界面提供了一个详细的概述您的服务器的所有重要方面,包括内存和磁盘使用情况,网络,安装软件,用户,运行的流程.所有信息被组织成widget 部件,你可以跳转到一个特定的部分使用的主要工具栏中的按钮.Linux Dash不是最先进的监控工具,但它可能是一个适合用户寻找一个光滑,轻便,易于部署应用程序. 特性 漂亮的操作面板 在线,按需监控 RAM, Load, Uptime, Disk

Cacti+Nagios监控系统(五):Nagios监控windows(基于check_nt)

一.工作原理 Nagios服务器使用check_nt工具与客户端程序通讯,客户端程序NSCP使用命令来获取本地客户端的信息并返回给check_nt. check_nt只是NSCP其中一项服务,Nagios还可以通过check命令(如check_http检查WEB服务).check_nrpe.NSCA.WMI来监控windows客户端. 二.下载客户端程序 下载地址:  http://nsclient.org/nscp/downloads 64位系统下载:NSCP-0.4.1.105-x64.ms

Cacti+Nagios监控系统(一):准备工作

一.系统环境 1.设置yum源 (1)使用本地源 挂载光驱ISO文件 确认路径/media/CentOS_6.5_Final/ cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak vi CentOS-Base.repo [base] name=Base baseurl=file:///media/CentOS_6.5_Final/ gpgcheck=0 #(1检测 0不检测) enabled=1 #(1启动 0不启动) (2)

盘点:zabbix、cacti、nagios,服务器监控哪个好?

目前使用比较多的服务器监控软件有这三款:zabbix.cacti.nagios,简单介绍一下这三个软件. 1.zabbixzabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 2.cactiCacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形工具. 3.nagiosNagios是一款开源的免费网络监视工

支持万台服务器分布式监控系统原始手稿

作者:付炜超 如果你本来打算做一个特别牛的东西,最终不管什么原因没做到,但是你实现的也够cool了! 需求分析: 随着现在的企业不断的发展壮大,大多数的企业都出现了分公司.办事处这类的分支机构,由于总公司还要求对下面子公司的网络设备.主机等资源的状态有着相关的了解,所以就要求IT运维部门对不在同一地域的网络.主机等资源都要进行监控. 功能分析: 1.一个监控系统往往需要集成资产管理,可以从逻辑上展示业务和功能的信息,通过对其进行数据分析,做到对投资与回报的一个反馈展示,为资产的合理规划与使用提供

【Linux--中级篇】服务器监控Cacti

服务器监控Cacti 1.实验环境: 主机 操作系统 IP地址 主要软件 主控端 CentOS6.5x86_64 192.168.10.15 Rrdtool-1.4.8.tar.gz Cacti-0.8.8b.tar.gz 被控端 CentOS6.5x86_64 192.168.10.18 Win7客户机 192.168.10.5 2.实验步骤: 1.主控端配置 1)配置LAMP环境 安装mysql数据库 配置apache与php 2> 安装rrdtool和net-snmp 通过yum确认并安装