Articles of 石墨

Graphite SNMP计数器转换

我使用石墨版本0.9.10读取ifHCInOctets和ifHCOutOctets ,我正在使用collectd snmp和graphite_write插件进行轮询; 我正在使用collectd版本5.1.0。 数据到达石墨没有问题; 不过,我想以秒为单位来绘制graphics。 为了testing我的统计数据是否正确,我开始了一个CD iso下载并观察下载速率…它在1.0Mbps和2.0Mbps之间变化。 常识告诉你,你需要将八位字节计数器乘以8才能得到位; 不过,我似乎需要用8分来正确地显示石墨。 当我乘以0.125比例因子, scale(scaleToSeconds(nonNegativeDerivative(<SERIES>), 60),0.125) ,该公式正确转换为每秒位数,我看到1Mpbs和2Mbps之间的数字… 当我乘以一个8.0的比例因子scale(scaleToSeconds(nonNegativeDerivative(<SERIES>), 60),8) ,结果显然是错误的…graphics在120Mbps时达到峰值。 我知道这是错误的,因为这是一个带有5米帽子的住宅电缆调制解调器。 问题 :如果我将八位字节发送给石墨,为什么scale(<foo>, 8)产生不正确的结果? /opt/collectd/etc/collectd.conf LoadPlugin syslog LoadPlugin cpu LoadPlugin interface LoadPlugin load LoadPlugin memory LoadPlugin network LoadPlugin snmp LoadPlugin write_graphite <Plugin snmp> <Data "std_traffic"> Type "if_octets" Table true Instance "IF-MIB::ifName" Values "IF-MIB::ifHCInOctets" "IF-MIB::ifHCOutOctets" </Data> <Host "fw.pennington.net"> Address […]

安全的石墨安装

我想我在这里误解了一些东西。 我已经用Docker(sitespeedio / graphite)安装了Graphite,并为Web-Panel设置了一个Basic Auth。 我打开端口2003的防火墙来从其他服务器的数据点,它工作正常。 但是没有authentication/授权。 即使我用来发送一些testing的python lib也不允许设置密码,令牌或其他authentication机制。 如何保护我的Graphite安装?

如何告诉木偶只有安装使用皮普如果文件不存在

我正在使用Puppet来使用pip来安装一些Python包。 我使用Puppet 2.7,所以我的包声明看起来像这样: package { "carbon": require => Class["graphite::prereqs::install"], ensure => latest, provider => pip, } 问题是这个软件包和graphite-web软件包似乎都有一个bug,可以使用pip多次安装相同的版本。 所以如果我多次inputsudo pip install carbon ,每次都会安装pip。 我相信这是一个包的错误。 这个错误似乎也混淆了木偶,因为每次我提供我的系统, carbon和graphite-web重新安装。 因此,我想知道是否有办法解决这个明显的包装错误。 我已经尝试了以下内容: package { "carbon": require => Class["graphite::prereqs::install"], ensure => latest, provider => pip, creates => "/opt/graphite/bin/carbon-cache.py", } …但我不能使用创build。 有没有另外一种方法可以告诉包声明在安装包之前查找文件?

即使我发送数据,Graphite也会显示所有数据点的“无”

我用nginx和PostgresSQL通过Puppet( https://forge.puppetlabs.com/dwerder/graphite )安装了Graphite。 当我手动发送数据时,它会创build度量标准,但其所有数据点都是“无”(aka null)。 如果我运行Graphite附带的example-client.py,也会发生这种情况。 echo "jakub.test 42 $(date +%s)" | nc 0.0.0.0 2003 # Carbon listens at 2003 # A minute or so later: $ whisper-fetch.py –pretty /opt/graphite/storage/whisper/jakub/test.wsp | head -n1 Sun May 4 12:19:00 2014 None $ whisper-fetch.py –pretty /opt/graphite/storage/whisper/jakub/test.wsp | tail -n1 Mon May 5 12:09:00 2014 None $ whisper-fetch.py –pretty […]

使用statsd的好处?

所以过去几天我一直在玩石墨,我可以看到那里的潜力,为什么它如此强大。 我的主要问题是为什么我应该像esty那样使用statsd,还有很多其他人呢? 到目前为止,我还没有看到在石墨前面放置另一个叠层的好处。 我希望有人能清除它 https://github.com/etsy/statsd

石墨停止随机收集数据

我们有一个Graphite服务器来收集通过collectd,statsd,JMXTrans的数据…几天以来,我们的数据经常有漏洞。 通过挖掘我们现有的数据,我们可以看到碳caching大小(从50K到4M)有所增加。 我们看不到收集到的指标数量有所增加(metricsReceived稳定在30万左右)。 查询数量从1000个增加到1500个。 奇怪的是,当caching大小增加时,cpuUsage从100%(我们有4个CPU)略微下降到50%。 奇怪的是,如果从磁盘读取八位字节,并且写入的八位字节数量减less,我们看到数量增加。 我们的碳configuration主要是默认值: MAX_CACHE_SIZE = inf MAX_UPDATES_PER_SECOND = 5000 MAX_CREATES_PER_MINUTE = 2000 很明显,我们的系统发生了一些变化,但我们不明白什么,也不知道如何find这个原因。 任何帮助?

在Linux Ubuntu上加载平淡的奇怪

在过去的几天里,我一直在试图理解我们基础架构中发生的奇怪事情,但是我一直无法想象它,所以我正在转向你们给我一些提示。 我一直在注意到Graphite,load_avg中的尖峰大约每2个小时发生一次致命的规律 – 这不是完全是2个小时,而是非常规律的。 我附上了我从Graphite拿来的截图 我一直在调查这一点 – 这种规律导致我认为这是某种cron工作或类似的东西,但没有在这些服务器上运行的cronjob – 实际上这些是在Rackspace云运行的虚拟机。 我正在寻找的是某种迹象可能会导致这些问题,以及如何进一步调查。 服务器相当闲置 – 这是一个临时环境,所以几乎没有stream量进入/应该没有负载。 这些都是4个虚拟核心虚拟机。 我所知道的是,我们每10秒钟就会收集一堆Graphite样本,但如果这是造成负载的原因,那么我认为它会持续高涨,而不是在不同的服务器上每隔2小时发生一次。 任何帮助如何调查这将不胜感激! 以下是一些来自app01的数据 – 这是上图中的第一个蓝色尖峰 – 我无法从数据中得出任何结论。 也不是说,每半小时(不是每2小时)发生的字节写数就是每30分钟一次的厨师客户端。 即使我已经做了这些,但是我也会尽力收集更多的数据,但是也不能从这些数据中得出任何结论。 加载 09:55:01 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 10:05:01 PM 0 125 1.28 1.26 0.86 0 10:15:01 PM 0 125 0.71 1.08 0.98 0 10:25:01 PM 0 125 4.10 3.59 […]

计算天数直到磁盘满

我们使用石墨来追踪磁盘利用率的历史。 我们的警报系统会查看石墨的数据,以便在空闲空间低于一定数量的区块时提醒我们。 我想得到更聪明的警报 – 我真正关心的是“在我必须做些关于可用空间的事情之前,我有多less时间?”,例如,如果趋势显示在7天内我将用尽磁盘空间然后提出一个警告,如果它less于2天然后提出一个错误。 石墨的标准仪表板界面可以非常聪明的衍生品和霍尔特Winters信心乐队,但到目前为止我还没有find一种方法来将其转换为可操作的指标。 我用其他方式处理数字也很好(只需从石墨中提取原始数据并运行脚本即可)。 一个复杂因素是graphics不平滑 – 文件被添加和删除,但随着时间的推移总体趋势是磁盘空间的使用增加,所以也许有必要看看局部最小值(如果看“无磁盘”度量)并在低谷之间画出一个趋势。 有没有人做过这个?

Ext4的使用和性能

我有一堆运行Carbon和Graphite的机器,我需要扩展以获得更多存储空间,但是我不确定是否需要扩展或扩展。 该集群目前包括: 1中继节点:接收所有指标并转发到相关的存储节点 6个存储节点:包含所有的Whisper DB文件 问题是,当磁盘在80%的使用率附近时,性能从悬崖上掉下来。 集群写入IOPS从接近常数13k下降到更为混乱的7k左右,IOwait时间平均达到54%。 我已经看了我们的configuration回购,并且从四月初以来没有变化,所以这不是configuration更改的结果。 问题:增加磁盘大小是否会使IO性能得到控制,还是需要添加更多的存储节点? 注意:这里没有固态硬盘,只有很多很多的主轴。 相关图表: 统计和东西: e2freefrag : [root@graphite-storage-01 ~]# e2freefrag /dev/vda3 Device: /dev/vda3 Blocksize: 4096 bytes Total blocks: 9961176 Free blocks: 4781849 (48.0%) Min. free extent: 4 KB Max. free extent: 81308 KB Avg. free extent: 284 KB Num. free extent: 19071 HISTOGRAM OF FREE EXTENT SIZES: Extent […]

磁盘/石墨的磁盘容量规划

有没有人有任何公式,或者从他们的环境,可以帮助我估计有多less磁盘空间将被每个数据点石墨使用一些示例数据?