Cacti优化之spine轮询器

由于效率的原因,在需要大量采集数据时,如果使用自带的cmd.php轮询器会比较慢,1分钟1次的采集频率可能无法完成轮询所有的被监控的机器,从而可能导致部分监控项目不出图或图形断断续续。为了解决效率问题,Cacti官方也推出spine,采用多线程的方式高效的轮询。

1、解决依赖关系
## 依赖于mysql mysql-devel net-snmp-devel openssl-devel
## 我们在安装cacti的时候已经安装 mysql mysql-devel 所以,这里只需安装另外2个
# yum -y install net-snmp-devel openssl-devel

2、安装spine,下载的版本最好与cacti一致,spine-0.8.8b
# tar xf cacti-spine-0.8.8b.tar.gz
# cd cacti-spine-0.8.8b
# ./configure
# make && make install

3、提供配置文件
# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
## 编辑配置文件,请根据实际情况修改
# vi /etc/spine.conf
DB_Host localhost
DB_Database cactidb
DB_User cactiuser
DB_Pass cactiuser
DB_Port 3306
DB_PreG 0

# 这里的配置是怎么来的呢? 还记得吧, 就是 cacti/include/config.php
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
$database_ssl = false;

4、测试
# /usr/local/spine/bin/spine
SPINE: Using spine config file [/etc/spine.conf]
SPINE: Version 0.8.8b starting
SPINE: Time: 0.1707 s, Threads: 5, Hosts: 2

5、设置spine的路径
Console -> Configureation -> Settings -> Alternate Poller Path -> Spine Poller File Path
输入spine的路径:默认安装在/usr/local/spine/bin/spine

6、修改cacti默认的Poller Types
Console -> Cacti Settings -> Poller -> Poller Type
在下拉框中,选择spine, 然后记得“Save”

注意:Spine不必为其添加计划任务,Cacti well spawn Spine every 5 minutes instead of cmd.php
而poller.php需要定义计划任务去执行,然后poller.php再去调度数据收集方法。

时间: 2024-10-09 06:00:52

Cacti优化之spine轮询器的相关文章

Cacti的设置以及Spine轮询器

Cacti的设置 接着上一篇的cacti系列讲解,在配置选项中有两个子项目,Settings和Plugin Management.我们点击Settings后,出现以下界面. 我们看到上图中,箭头指向的地方,我们可以针对这些项目进行设置. 首先我们看一下"General",通用配置,配置的内容主要有以下几项 日志 SNMP相关的设置 其他配置 其实这里基本上不需要进行修改,保持默认的配置即可.如果需要修改,也就是"Required Tool Versions"和&qu

Cacti安装spine轮询器

之前安装cacti的时候就知道需要安装spine,但是百度搜出来的教程是死活都装不上,今天无意之间发现了cacti的官方原版教程"Cacti 0.8 Beginner's Guide",百度一下在搬书匠里下了下来看了一下,果然官方的就是不一样,按照步骤马上就装上了 一.当然是需要先安装好必须的软件环境: yum install gcc mysql-devel net-snmp-devel autoconf automake libtool 二.在官网www.cacti.net里down

AngularJs轮询器写法

$interval $interval 是对原生setInterval的一种封装,它会在每次方法调用后自动的执行`$apply``api是这样的: 1 $interval(fn, delay, [count], [invokeApply], [Pass]); fn是目标方法 delay 是延迟时间,单位是毫秒 count 是一共循环多少次 invokeApply 是指是否调用$apply方法,默认true Pass是方法运行是传的参数 对文章开始代码进行改写 1234567891011 app.

apache的优化-日志轮询、错误页面重定向、压缩功能deflate、客户端缓存expire

1.apache日志轮询 1.1)什么是日志轮询 默认情况下apache的日志是写入到一个文件中的,这对日志的备份和分析造成不便.日志轮询就是可以把apache的日志根据时间进行分开,例如按天轮询:即apache会把当天的日志写入到一个独立的文件中. 1.2)下载并安装日志轮询工具 wget http://cronolog.org/download/cronolog-1.6.2.tar.gz tarzxf cronolog-1.6.2.tar.gz  cdcronolog-1.6.2 ./con

apache虚拟主机、日志轮询、日志统计、去版本优化

一.虚拟主机 1.基于域名的虚拟主机 www.zhang.com   /var/html/www blog.zhang.com  /var/html/blog bbs.zhang.com   /var/html/bbs #创建虚拟机目录 mkdir /var/html/{www,blog,bbs} -p tree /var/html/ /var/html/ ├── bbs ├── blog └── www #创建默认文件 touch /var/html/{www,blog,bbs}/index.

Nginx 负载均衡-加权轮询策略剖析

本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更多机会获取到监听套接口,从而客户端的请求到达后也就相应地被它捕获并处理).如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服务器运行,如果后端服务器有多台,如何选择一台合适的后端服务器来处理当前请求,就是本文要说的负载均衡.这两种均衡互不冲突并且能同时生效. nginx不

iOS开发那些事儿(一)轮播器

前言 市面上绝大部分的APP被打开之后映入眼帘的都是一个美轮美奂的轮播器,所以能做出一个符合需求.高效的轮播器成为了一个程序员的必备技能.所以今天的这篇博客就来谈谈轮播器这个看似简单的控件其中蕴含的道理. 正文  首先我们来分析一下该如何去实现一个类似下图的轮播器(图片数量.URL由服务器返回):   策略一:UIScrollView->UIImageView->NSTimer轮询 这算是常规的策略,但是如果仔细想想,如果服务器返回给你50图片是不是就需要创建50个UIImageView来做容

php+ajax长轮询实现web即时聊天

web im的实现方式有很多种: 1.普通轮询,原理通过js定时重复发送ajax请求服务端,获取数据后显示. 2.长轮询,ajax请求服务端,服务端有数据会立即返回,服务端无数据时,会一直等待,直到有数据了才立即范围. 3.socket长连接. 特征分析: 方法1:实现起来最容易,定时重复请求服务端会产生无意义的http连接,消耗服务端资源,实时性较差. 方法2:实现起来较容易,会减少无效的ajax请求产生的http连接,能即时返回数据,但服务端会一直挂着,会消耗一定的资源,处理并发能力不强,比

Web 通信 之 长连接、长轮询(long polling)(转载)

基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatRoom和一些需要及时交互的网站应用中.其真实案例有:WebQQ