问题标签 [graphite-carbon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphite - 如何在 python 中打开/解析 .wsp 文件?
我正在使用 Graphite 来监听各种温度传感器并将它们绘制在网络应用程序上。数据以 .wsp(耳语)格式存储。
是否可以打开和解析该 .wsp 格式?理想情况下使用python?
我知道石墨可以绘制所有内容,但 Whisper 数据库很有用,因为它将所有数据组合在一个位置,因此最好从中读取数据
python - 无法访问 Graphite 网页(错误 500)
使用 pip 更新 Whisper 包(从 0.9.12 到 1.1.1)后,我无法再访问我的 Graphite 实例(即使在降级之后......)日志说目标脚本无法作为Python 模块。
以下是有关系统的一些信息。
- Python版本:2.7
- 碳、石墨网、耳语版本:0.9.12
我尝试更改权限,/usr/share/graphite-web/graphite.wsgi
但/opt/graphite/conf/graphite.wsgi
并没有解决问题。
我的错误日志:
这是/usr/share/graphite-web/graphite.wsgi
(与我的相同/opt/graphite/webapp/wsgi.py
)的内容
我还有一个文件/opt/graphite/conf/graphite.wsgi:
我对 wsgi 了解不多,也看不懂这些日志。需要帮助...非常感谢。
python - 安装 Graphite 1.2 版后 Apache2 不会重新启动
我刚刚安装了 Graphite(版本 1.2.0),但我无法再次启动 Apache2。这是我得到的错误日志:
这是我的apache2-graphite.conf
文件:
我真的不知道如何解决这个错误。我不知道应该在哪里配置进程组。我会很感激任何提示。
我们在 Ubuntu 14.04 上使用 Python 2.7 和 mod_wsgi 2.7。我们的 Apache2 版本是 2.4.7。
预先感谢!
编辑:我注意到一些奇怪的东西,我不知道它是否相关。在 Apache2 error.log 中,我发现了这一行:
它显示mod_wsgi配置了3.4版本,但实际上,当我运行时ls -l /usr/lib/apache2/modules | grep wsgi
,我确实发现机器运行的是2.7版本。
grafana - 石墨在数据中显示滚动间隙
我最近将我们的一个 Graphite 实例从 0.9.2 升级到 1.1.1,此后遇到了一个问题,即由于缺乏更好的词,数据存在滚动差距。
它正确显示了最后几分钟(我猜碳缓存中有什么),大约 10-15 分钟后,它也正确显示了所有数据。
然而,在那 10 到 15 分钟的间隙内,它完全是空白的。我可以在 Graphite 和 Grafana 中看到差距。它在重新启动碳缓存后消失,然后在大约一天后恢复。
示例截图:
我拥有的大多数图表/仪表板都会发生这种情况。
我花了很多精力优化磁盘 IO,所以我怀疑是不是这种情况 -> Cloudwatch 显示磁盘 100% 的突发信用。这是一个具有 4 个内核和 16 GB RAM 的 m3.xlarge 实例。交换文件位于临时存储上,看起来几乎没有使用。
使用 1 个带有 Whisper 后端的 Carbon Cache 实例。
storage_schemas.conf
:
非默认(或潜在相关)carbon.conf
设置:
石墨local_settings.py
graphite - 如何升级石墨
好的,这个看起来很简单,但我不知道从哪里开始。
我当前的 Graphite 版本是 0.9.12,我想升级到 0.9.14。我的操作系统是 Ubuntu 14。
有一个文档: http: //graphite.readthedocs.io/en/latest/releases/0_9_14.html
但它并没有说明我们需要对以前的包做什么。那么,我该怎么办?删除它们?只需安装新软件包?我应该保留/删除哪些文件?
提前致谢...
python - 连接中止后通过套接字发布数据
我有一个 Python (2.7) 脚本,它从文件中读取实时数据并将其发布(通过网络)到另一台计算机上的服务器。该服务器尤其是石墨Carbon
的服务器部分。
相关部分代码如下:
data
从我的文件导入的最新条目在哪里,并且time
是通常的。
当我关闭服务器COMPUTER-NAME
所在的计算机时,Carbon
出现此错误:
s.send('%s %s %s\n'%(CARBON_PATH, str(data), int(time.time())))
socket.error: [Errno 10053] 已建立的连接被软件中止你的主机
当我重新启动主机 ( COMPUTER-NAME
) 时,我必须重新启动 Python 脚本才能再次发送数据。
有没有办法让我socket
看到它已断开连接时暂停,或者继续尝试直到连接再次打开?
protocol-buffers - 使用来自 Graphite 的 protobuf 消息
我想知道我是否可以使用 protobuf 将数据发送到 Graphite。
我有一个以 protobuf 格式发送统计信息的应用程序,我想开始将这些统计信息发送到 Graphite。
我在谷歌搜索,我刚刚发现这个https://graphite.readthedocs.io/en/latest/search.html?q=protobuf&check_keywords=yes&area=default#但不清楚它是否仅用于石墨内部核心使用。
谢谢!
graphite - Graphite 只保存一个 collectd 自定义 exec 插件一周的数据
我的 storage-schemas.conf 中只配置了一个保留
所有其他收集的数据都按预期保存,但是通过Exec插件收集的任何自定义指标仅保存一周。
collectd.conf 配置:
我已经尝试使用我想要的保留时间强制手动调整现有耳语文件的大小,但这似乎并没有解决问题。
我也已经尝试删除相应的 *.wsp 文件,以便石墨从头开始构建它们,但这也没有帮助。所有新的自定义 exec 收集的数据仍然只保存一周。
任何人都知道为什么只保存自定义 collectd exec 插件的数据并保留一周?
更新:我什至验证了更新的保留配置已应用于耳语文件。示例测试 wsp 文件耳语元数据输出:
grafana - 计算 Graphite 中当前介于两个值之间的指标数量
帮助我完成这个原本非常简单的任务......我有一系列代表特定虚拟机状态的指标。我想绘制一个图表,其中包含某个范围(35-51)之间的所有指标的计数。这是我的查询:
当范围内至少有一个指标时,这似乎运作良好。但是,如果没有(这是常见的情况,因为通常没有故障虚拟机),Graphite 只返回[]
而不是带零的系列。Grafana 不喜欢这样,并且在阴谋no data
。
为什么countSeries
没有匹配项时不返回 0?这确实会在整个期间绘制一条直线0
,但这正是这里需要的。
我的 Graphite 版本是1.2.0-dev
,但在以前的版本中这也不起作用。
time-series - 如何从 Carbon 创建和轮询标签?
Carbon 1.1.x添加了标签系列的功能。我试图通过以下方式将标签添加到系列中:
curl -vv -X POST "http://10.x.x.x:8080/tags/tagSeries" --data-urlencode 'path=qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate;env=qa-dev'
然后,如果我这样做:curl -vv "http://10.x.x.x:8080/tags/findSeries?pretty=1&expr=env=qa-dev"
,我会得到我期望的输出:
但是,如果我尝试aliasByTags
通过我的渲染器轮询这个系列,标签不存在:
http://internal.graphite.abc.com/render/?target=aliasByTags(qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate,%20%27env%27)&from=-6h&until=now&format=json&maxDataPoints=1440
以上将提取数据点,但在返回数据末尾表示的唯一标签是名称:
"tags": {"name": "qa-dev.stats.UpdateStats.responses.OK.calls.mean_rate"}
.
我希望env=qa-dev
在标签列表中看到,但事实并非如此。
难道我做错了什么?