cacti监控部署与配置
cacti是一套基于PHP,mysql,SNMP及RRDTool开发的网络流量测试图形分析工具
cacti是通过snmpget来获取数据,使用RRDtool绘画图形 ,而且完全可以不需要了解RRDtool复杂的参数 ,它提供了非常强大的数据和用户管理功能,可以指定每个用户能查看树状结构,host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面 友好,软件cacti的发展是基于让RRTool使用这更方便的使用该软件,除了基本 的SNMP的流量更系统咨询监控外,cacti也可外挂scripts及加上Temlates来做出各式各样的监视
cacti是用php语言实现 的软件,它主要 功能是用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户需要查看数据的时候用rrdtool生成图形呈现给用户,因此,snmp和rrdtool是cacti的关键,snmp关系着数据收集 ,rrdtool关系这数据存储和图表的生成
mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名,主机IP,snmp团体名,端口,模板信息等变量,snmp抓 到的数据不是存储在mysql中的,而是存在rrdtool生成rrd文件的处理 ,rrd文件 是大小固定的档案文件,它能够存储的数据笔数在创建时就已经定义。
Cacti监控安装及监控本机
Nagios zabbix
Cacti简介
- 是一套基于php、mysql、SNMP、RRDTool开发的网络流量监测图形分析工具。Cacti通过snmpget获取数据,使用RRDTool绘画图形。最后通过web方式呈现出来
- Cacti三层架构:
– 数据采集层:通过SNMP或自定义脚本进行数据采集
– 数据存储层:通过cacti模板等数据存放至MYSQL中
– 数据展现层:通过WEB方式呈现出来
可以把他理解为一个php网站
一、安装
1、安装必须的软件包
[root@cacti-server ~]# yum -y install httpd php php-mysql php-ldap php-xml mysql mysql-server
[root@cacti-server ~]# yum install –y net-snmp lm_sensors gcc gcc-c++ libart_lgpl-develzlib-devel libpng-devel freetype-devel net-snmp-utils
2、安装rrdtool。Rrdtool是一个绘图工具,系统光盘中没有提供,所以需要手工安装
(1)安装rrdtool编译时所需软件
(2)解压rrdtool并进行配置安装
[root@cacti-server ~]# tar zxvf rrdtool-1.2.30.tar.gz -C /usr/src/cd
[root@cacti-server ~]# cd /usr/src/rrdtool-1.2.30/
[root@cacti-server rrdtool-1.2.30]# ./configure --prefix=/usr/local/
[root@cacti-server rrdtool-1.2.30]# make && make install
3、启动mysql数据库和httpd服务
[root@cacti-server ~]# /etc/init.d/httpd start
[root@cacti-server ~]# chkconfig --add httpd
[root@cacti-server ~]# chkconfig httpd on
[root@cacti-server ~]# /etc/init.d/mysqld start
[root@cacti-server ~]# chkconfig --add mysqld
[root@cacti-server ~]# chkconfig mysqld on
4、安装cacti
(1)cacti本质上是一个PHP网站,只需要把它解压并拷贝到/var/www/html/目录下即可
[root@cacti-server ~]# tar zxvf cacti-0.8.8a.tar.gz -C /usr/src/
[root@cacti-server ~]# cd /usr/src/
[root@cacti-server src]# mv cacti-0.8.8a/ /var/www/html/cacti
[root@cacti-server src]# cd /var/www/html/cacti/
(2)创建cactiuser用户,并设置相关目录的属主、属组
[root@cacti-server cacti]# adduser cactiuser
[root@cacti-server cacti]# chown -R cactiuser.cactiuser rra/ log/
其中rra目录是收集到的监控数据目录,log目录是日志目录
(3)创建数据库。因为cacti并没有把创建数据库的脚本写到网页中,所以需要管理员手工创建相关数据库。
进入Mysql数据库
Mysql
创建数据
mysql> create database cactidb default character set utf8;
为数据库进行授权:
mysql> grant all on cactidb.* to 'cactiuser'@'localhost' identified by '123.com';
Query OK, 0 rows affected (0.00 sec)
(4)以cactiuser的身份把sql脚本导入到数据库
[root@cacti-server ~]# mysql -u cactiuser -p123.com cactidb < /var/www/html/cacti/cacti.sql
(5)修改相关的php文件,以便于apache通过php连接mysql数据库时,可以提供正确的用户名、密码等。
[root@cacti-server ~]# cd /var/www/html/cacti/
[root@cacti-server cacti]# vim include/config.php
26行$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
$database_port = "3306";
总结:
1、 先安装cacti需要的系统包
2、 解压安装
3、 设置数据库,导入cacti.sql
4、 修改config.php
(6)打开网页按照向导完成安装
在浏览器输入http://192.168.20.138/cacti/install/
用户名和密码都是admin,首次登陆后,要求修改admin的密码 123.com
修改完后即可进入界面
二、监控自身
CACTI监控的时候,是通过SNMP实现的。
SNMP:简单网络管理协议 UDP161、162
查询方法:
轮询:监控端周期性地查询被监控端161
陷阱:被监控端主动向监控端汇报事件162
SNMP消息类型:
get-request:监控端查询被监控端
get-next-request:监控端查询被监控端某一项更详细内容
set-request:监控端设置被监控端的某些参数
get-response:被监控端回应监控端
trap:陷阱,被监控端主动向监控端汇报事件
1、配置snmp
[root@cacti-server cacti]# vim /etc/snmp/snmpd.conf
41行定义安全组
85行定义视图
62行向安全组授权相应的视图
2、启动服务
[root@cacti-server ~]# /etc/init.d/snmpd start
正在启动 snmpd: [确定]
[root@cacti-server ~]# netstat -anput | grep snmp
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 23462/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 23462/snmpd
[root@cacti-server ~]# chkconfig --add snmpd
[root@cacti-server ~]# chkconfig snmpd on
3、通过WEB页面添加被监控主机
(1)删除存在的主机
(2)添加要监控的主机
(3)添加监控项
上一步点击Create后,把页面拉到底部,后面显示没有数据,那么它是无用的,点击后面的X号,将其删除。
添加上SNMP能够监控的项目
使用相同的办法,把处理器信息也添加上。最后保存
(4)为监控项绘制图形
在WEB页的最上端,点击创建图形
选项要监控的项目,然后点击Create
(5)把创建的图形加入到图形树
(6)为图形生成数据
在监控服务器上,以cactiuser的身份执行php命令
[root@cacti-server cacti]# su - cactiuser
[cactiuser@cacti-server ~]$ php /var/www/html/cacti/poller.php
F5刷新即可出线图形
(7)设置计划任务
为了每隔1分钟监控服务器都会获取一次数据,需要使用计划任务,每隔1分钟生成一次数据
crontab -e
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null
过几分钟显示下图为正常
cacti监控部署与配置的更多相关文章
- Smokeping 监控部署及配置
安装参见: https://github.com/oetiker/SmokePing/blob/master/doc/smokeping_install.pod 1 Smokeping *** Gen ...
- Cacti+nagios 整合监控部署文档
目录 Cacti+nagios监控部署步骤... 2 一.Cacti安装... 2 1需要安装的依赖软件包:... 2 2安装rrdtool 2 3启动数据库和httpd服务... 3 4将serve ...
- Security基础(五):部署Cacti监控平台、构建Cacti监测系统
一.部署Cacti监控平台 目标: 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步执行具体的监控任务做准备: 安装net-snmp.net-snmp-utils 安装LAMP及相关 ...
- Cacti监控Windows主机,Windows主机的正确配置
使用cacti监控Windows主机的时候经常遇到无法获取Windows主机的snmp信息和Windows主机的硬件信息,主要原因是Windows主机没有正确配置snmp,以下是正确的配置步骤:1.安 ...
- Linux:cacti环境部署
一.监控端安装1)基础软件:安装配置cacti前,需要安装:httpd.php.mysqld.php-mysql.net-snmp.rrdtool以上均可使用yum安装:yum install -y ...
- centos7上安装cacti监控
简介 在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU.内存.磁盘空间使用情况等.为了能够及时的发现问题,尽量减少故障的发生.当网络中的设备,服务器等数量较多时,可以部署一套监控系 ...
- Cacti监控mysql数据库服务器实现过程
Cacti监控mysql数据库服务器实现过程 2014-05-29 0个评论 来源:Cacti监控mysql数据库服务器实现过程 收藏 我要投稿 1 先在cacti服务器端安 ...
- 基于suse linux系统的cacti系统部署——rpm包方式
豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...
- Cacti监控服务
Cacti监控服务 案例1:部署Cacti监控平台 案例2:构建Cacti监测系统 1 案例1:部署Cacti监控平台 1.1 问题 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步 ...
随机推荐
- Python入门(2)
一. 基础语法 1.Print print 是 python 里很基本很常见的一个操作,它的操作对象是一个字符串. 直接在 print 后面加一段文字来输出的话,需要给文字加上双引号或者单引号. ...
- 使用CoApp创建NuGet C++静态库包
NuGet是微软开发平台下的包管理软件,使用它你可以非常方便的将一些第三方的库.框架整合进自己的项目中,省去了不少麻烦的配置过程.但是从官方文档上来看,貌似NuGet对C++的支持不是很好,并且在现阶 ...
- 架构漫谈系列(2) 封装(Encapsulation)
这是这个系列的第二篇.在第二篇里,我决定讲一讲封装. 程序的不同部分应该用封装去互相隔离,模块之间应该不应该产生很随意的关联. 可能有的人觉得不解,又或觉得是有道理的废话,不急,先一步一步来. 我们先 ...
- Greenplum——大数据时代高性能的数据仓库与BI应用平台
一. Greenplum简介 大数据是个炙手可热的词,各行各业都在谈.一谈到大数据,好多人认为就是Hadoop.实际上Hadoop只是大数据若干处理方案中的一个.现在的SQL.NoSQL.NewSQL ...
- linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别
先来段英文的: /bin This directory contains executable programs which are needed in single user mode and to ...
- laydate时间插件更换皮肤
<script> ;!function(){ laydate.skin('molv'); laydate({ elem: '#demo' }) }();</script>
- 很好的复习资料: SQL语句到底怎么写 ?
本文用到的数据库如下: CREATE DATABASE exam; /*创建部门表*/ CREATE TABLE dept( deptno INT PRIMARY KEY, dname VARCHAR ...
- [leetcode-630-Course Schedule III]
There are n different online courses numbered from 1 to n. Each course has some duration(course leng ...
- Redux-Saga学习心得
# Redux Saga ## 简述- Reducers负责处理action的state更新:- Sagas负责协调那些复杂或异步的操作. ## 安装 npm install --save redux ...
- HashMap源码深入研究
简介 HashMap是采用链表和位桶来来实现的,由于一个位桶存在元素太多会导致get效率低,因此在jdk1.8中采用的红黑树实现,当链表长度大于TREEIFY_THRESHOLD(值为8)时会转换为红 ...