rrd数据库php rrdre

rrd是什么格式

RRD是Round Robin Database的缩写,用于记录固定数目,具有循环特性,并且在当前时间点有特定值的数据(比如以天为单位记录气温)。

创新互联公司服务项目包括琼山网站建设、琼山网站制作、琼山网页制作以及琼山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,琼山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到琼山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

RRDtool是由Tobias Oetikertobi@oetiker.ch和广大开源爱好者贡献的遵循工业标准的、开源、高性能的RRD数据存储、图像生成工具包。可以用于编写自定义的系统监控shell脚本它支持Perl、Python、Ruby、TCL和PHP(编译为扩展模块)等语言,可以轻松的构建跨平台的监控应用程序。

ganglia可以对hadoop集群进行监控和报警吗

ganglia简介

名词说明 

引用自此博客介绍

Metrics- 监控电脑的运行数据

Node - 一台电脑,或许拥有多个CPU,中文称之为节点。

Cluster - 一组节点,中文称之为簇。通常节点之间拥有达到G比特的高带宽,簇内通过组播协议,每个节点组播自己的数据,所以每个节点拥有整个簇的状态,这种冗余设计可以提高簇的鲁棒性。一般簇内节点为相同的系统和体系结构,由同一个管理员管理。

Grid - 一组簇,中文可称之为网格。网格的用处是在一个大范围内把各异构的簇通过宽带汇聚在一起。 

Ganglia的各种组成

功能

名称及配置文件

位置

数据采集器    名叫gmond(Ganglia MONitor Daemon)的服务程序,配置文件是/etc/ganglia/gmond.conf    位于每个Node上  

数据混合收集器    名叫gmetad(Ganglia METAdata Daemon)的服务程序,配置文件是/etc/ganglia/gmetad.conf。它通过轮询收集gmond的数据,并聚合簇的各类信息,然后保存在本地rrdtool的数据库中    最好每个cluster都有一个gmetad,以便能构建多级网络  

Web可视化工具    这是用PHP脚本实现的将数据可视化,并画出表格。可以是任何支持PHP、SSL和XML的web服务器。一般都用Apache2 web服务器    一般与gmetad部署在一个节点上  

额外的高级工具 gmetric可以用来添加你需要监控的Node额外状态  

gstat可以直接获得Ganglia的数据 每台需要这些功能的Node上  

实验环境

机器

系统

软件

ip1    centos 7    gmetad + gmond +ganglia-web 3.7.2  

ip2    centos 5    gmond 3.7.1  

ip3    centos 5    gmond 3.7.1  

ip4    centos 5    gmond 3.7.1  

ip5    centos 5    gmond 3.7.1  

ip6    centos 5    gmond 3.7.1  

ip7    centos 5    gmond 3.7.1  

ganglia安装配置

安装

ip1 安装ganglia主节点 

yum -y install epel-release

yum -y install rrdtool httpd

yum -y install ganglia-devel ganglia-gmetad ganglia-gmond

yum -y install php ganglia-web

ip2-ip7 安装ganglia从节点 

yum -y install epel-release

yum -y install ganglia-mond

配置

ganglia配置文件目录:/etc/ganglia

rrd数据库存放目录:/var/lib/ganglia/rrds

httpd主站点目录:/var/www/html

ganglia-web安装目录:/usr/share/ganglia

ganglia-web配置目录:/etc/httpd/conf.d/ganglia.conf

相关配置文件修改

将ganglia-web安装目录链接到httpd主站点目录 

将 ganglia-web 的 站 点 目 录 连 接 到 httpd 主 站 点 目 录 $ ln -s /usr/share/ganglia /var/www/html

修改httpd主站点目录下ganglia站点目录的访问权限 

将 ganglia 站点目录访问权限改为 apache:apache,否则会报错

$  chown -R apache:apache /var/www/html/ganglia

$  chmod -R 755 /var/www/html/ganglia12

- 修改rrd数据库存放目录访问权限 将 rrd 数据库存放目录访问权限改为12

$ chown -R ganglia:ganglia /var/lib/ganglia/rrds

- 修改ganglia-web的访问权限:修改/etc/httpd/conf.d/ganglia.conf  

12

Alias /ganglia /usr/share/ganglia

Location /ganglia

Require all granted  

#Require ip 10.1.2.3  

#Require host example.org

/Location123456

配置/etc/ganglia/gmond.conf

cluster {    

name = "hadoop cluster"    ... }  

udp_send_channel {    

#the host who gather this cluster's monitoring data and send these data   to gmetad node      

host = ip1

port = 8649 }  

udp_recv_channel {    

port = 8649  }  

tcp_accept_channel {

port = 8649  }  123456789101112131415161718

2.2 Hadoop cluster被监测节点的配置 配置/etc/ganglia/gmond.conf

cluster {    

name = "hadoop cluster"    ...  }  

udp_send_channel {    

# the host who gather this cluster's monitoring data and send these data   to gmetad node    

host = ip1      

port = 8649  }  

udp_recv_channel {

port = 8649  }  

tcp_accept_channel {

port = 8649  }1234567891011121314151617

Hadoop配置

主节点:

# 修改/hadoop/etc/hadoop/hadoop-metrics2.propertiesnamenode.sink.ganglia.servers=ip1:8649resourcemanager.sink.ganglia.servers=ip1:8649mrappmaster.sink.ganglia.servers=ip1:8649jobhistoryserver.sink.ganglia.servers=ip1:8649*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31

*.sink.ganglia.period=10*.sink.ganglia.supportsparse=true

*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both

*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=401234567891011

从节点

datanode.sink.ganglia.servers=ip1:8649nodemanager.sink.ganglia.servers=ip1:8649*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31

*.sink.ganglia.period=10*.sink.ganglia.supportsparse=true

*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both

*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=401234567

成果

可以看到有datanode相关信息

注意问题

ganglia反应有点慢,每次重启后,数据得等一阵子才显示出来。这个也跟设置的有关,10秒一次显示

我本来配置每个节点都有gmond,cluster的信息发送到本地的gmond,由gmond发送给gmetad,但是一直不成功。我使用了telnet localhost 8649,能看到数据,但是gmetad就是不显示。暂时也没找到什么原因。

如何设计一个mysql性能监控的软件

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

function:

∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

∘ 也可以设置为 processlist,代表监控 show processlist 的输出;

variable:

∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

threshold:

∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

cycles:

∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

retention-time :监控数据保留时长,默认 30 天。

daemonize:以后台服务运行,默认不开启。

log:后台运行日志,默认为 /var/log/pt-stalk.log。

collect:触发发生时收集诊断数据,默认开启。

∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

∘ collect-strace:收集跟踪数据,需要 strace 工具。

∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。


名称栏目:rrd数据库php rrdre
标题来源:http://ybzwz.com/article/hpjppp.html