graphite

Calculate percentage in Graphite for groupByNode() results

拥有回忆 提交于 2019-12-04 16:55:06
I have two groups of Graphite series, both in this format. The second group is identical, except that instead of "a.b", it has "x.y" prefix. a.b.ccc.a1.hr a.b.ccc.a2.hr a.b.ccc.a3.hr a.b.ddd.a1.hr a.b.ddd.a4.hr To group by 3rd node I use groupByNode(a.b.*.*.hr,2,"sumSeries") , which gets me two series: ccc and ddd . I would like to divide ccc and ddd series from the first group by corresponding series in the second group. How do I use the result of groupByNode in the map/reduce function? This is possible but tricky, or at least I don't know of an easier way to do it in an extensible way. Note

graphite summarize datapoints

不问归期 提交于 2019-12-04 15:55:39
问题 I'm using graphite to collect data, and I'd like to retrieve the total count of certain events over a period of time. Say, number of logins per week. However, I just need the total number, and don't need to see how it evolves over time. When I use something like from=-1w&target=summarize(stats.events.login.success,"1w")&format=json then I still get two datapoints, and not one. Is there a way to get a single datapoint from the summarize function? or use a different function to return a single

Graphite: Help me interpret the whisper-info.py output

大兔子大兔子 提交于 2019-12-04 11:20:28
I have been trying to make sense out of the whisper-info.py output and it seems a little cryptic to me. Currently this is my setup: storage-schema.conf [carbon] pattern = ^carbon\. retentions = 60:90d [stats] pattern = ^stats.* retentions = 30s:6h,1min:30d,10min:360d,30min:720d,1h:1825d,1d:1825d [everything_else] pattern = .* retentions = 30s:6h,1min:30d,10min:360d,30min:720d,1h:1825d,1d:1825d storage-aggregation.conf [min] pattern = \.lower$ xFilesFactor = 0.1 aggregationMethod = min [max] pattern = \.upper(_\d+)?$ xFilesFactor = 0.1 aggregationMethod = max [sum] pattern = \.sum$ xFilesFactor

Having trouble getting accurate numbers from graphite

若如初见. 提交于 2019-12-04 08:42:23
问题 I have an application that publishes a number of stats to graphite via statsd. One of the stats simply sends a stat increment to statsd every time a message is received by the service. I need to display a graph that shows the the relative traffic over time for this stat. Generally speaking, I should be able to display a graph that refreshes every, say 10 seconds, and displays how many messages were recived in those 10 seconds as well as the history for a given period of time. However, no

Sending Data from ganglia to graphite

故事扮演 提交于 2019-12-04 05:37:54
I am currently collecting monitoring metrics with Ganglia and I would like to show graphs with that data with Graphite. I know such an integration is possible, and I found an article describing how it should be done. I am not quite sure exactly how this integration works, especially when I want to send it straight into graphite without parsing the data of the gmetad. Any help on how to integrate Ganglia with Graphite will be great. thanks There are two approaches to integrate ganglia with graphite. use third party process to get metrics from gmetad/gmond, tweak metrics data format, send

How to alert in Seyren with Graphite if transactions in last 60 minutes are less than x?

本小妞迷上赌 提交于 2019-12-04 04:52:26
I'm using Graphite+Statsd (with Python client) to collect custom metrics from a webapp: a counter for successful transactions. Let's say the counter is stats.transactions.count , that also has a rate/per/second metric available at stats.transactions.rate . I've also setup Seyren as a monitor+alert system and successfully pulled metrics from Graphite. Now I want to setup an alert in Seyren if the number of successful transactions in the last 60 minutes is less than a certain minimum . Which metric and Graphite function should I use? I tried with summarize(metric, '1h') but this gives me an

Graphite: sum all stats that match a pattern?

丶灬走出姿态 提交于 2019-12-04 03:48:01
I'm sending stats to a Graphite server via statsd . My stats are fairly fine-grained, and can be easily added by developers. I'd like to roll up all statistics matching a certain pattern ( stats.timers.api.*.200.count , for example). Is that possible within Graphite? If not, are there other systems that I should be looking at that can generate that type of roll-up data from statsd ? Or is this the sort of thing that I should do within my statsd configuration directly? If you after a blanket sum of all the data that matches, then you can use 1 sumSeries. an example: sumSeries(stats.timers.api.*

custom querying in graphite

倖福魔咒の 提交于 2019-12-04 00:55:34
问题 We need to collect timeseries information on multiple server and business processes and consider to use graphite. It seems good if we want to display the raw data. But what if we want to do BI on this data and run custom queries? Does graphite allow that, or alternatively can I instruct graphite to store data on postgress? 回答1: Graphite definitely allows you to query your data, both graphically and returning csv or json. The queries in graphite aren't done with a language like sql. They're

用graphite diamond做监控

懵懂的女人 提交于 2019-12-03 17:36:15
用graphite diamond做监控 文章 开局先贴两个文章,值得一读 很赞的blog 另一篇介绍graphite的文章 恩怨 无论是什么系统,只要上线,就需要运维,这时候很想看一些监控的图表,graphite就很方便的实现了这个需求。 而graphite采用metrics的方式,又有很多其他的tool为他做支持,所监控的不仅仅是机器的一些东西,你可以监控你爬虫的指标, log的INFO,ERROR频次,nginx网站的访问数量等等,基本是你需要监控什么,很容易的就可以做到。 我从2014年初就在自己的TODOList添加了要玩graphite, 陆续玩了3、4次都失败了,原因都是安装里面某些步骤失败, 这两天终于搞成功了,写个博客记录一下。 graphite-web 大部分的安装方式比较简单,都是用pip就可以安装,但是装完后有个坑, 文档 中说使用 pip install graphite-web ,但是pip中的graphite-web太老了, 导致有个cairo,库在ubuntu下打死也装不上,在新的源码中此bug已经修复。我已经提了 issue 1004 因为用的graphite-index,直接拿了他的几张图来看最终效果 安装 我用的是ubuntu, 写在最上面, 并且我假设你了解基本的python语法,用过pip, virtualenv, 没用过也没问题。

使用graphite和grafana进行应用程序监控

三世轮回 提交于 2019-12-03 17:36:03
graphite+grafana 介绍 grafana,按照官方的说法是 Beautiful metric & analytic dashboards 。grafana 负责数据的展示,可以配置各种不同的数据源,其中包括 graphite。 graphite 包含多个模块,这里我们使用的模块包括: Whisper:固定大小的数据库,存储方式类似RRD (round-robin-database),用来存储收集到的 metrics Carbon:metrics 接收服务,接收到 metrics 以后调用 Whisper 进行存储 graphite-api:WSGI webapp 接口服务,grafana 在需要展现数据的时候使用其提供的 REST API 进行数据的获取 本文的搭建的监控系统结构如下: 在本文档中,我们会尽量将相关文件安装在/opt/graphite目录 准备Python 2.7 环境 对于某些默认Python环境不是2.7的系统,需要安装Python2.7。 从源码编译Python2.7 configure make make install 创建Python2.7的virtualenv环境 virtualenv /opt/graphite --python=/usr/local/bin/python 加载virtualenv环境 source /opt