绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Graphite介绍
2022-04-21 14:22:54

Graphite是一个开源实时的、显示时间序列度量数据的图形系统。Graphite并不收集度量数据本身,而是像一个数据库,通过其后端接收度量数据,然后以实时方式查询、转换、组合这些度量数据。Graphite支持内建的Web界面,它允许用户浏览度量数据和图。

Graphite有三个主要组件组成:

1)Graphite-Web
这是一个基于Django的Web应用,可以呈现图形和仪表板 2)Carbon
这是一个度量处理守护进程 3)Whisper
这是一个基于时序数据库的库

Graphite的整体架构图
Graphite的整体架构图

一、Graphite的应用场景

Graphite通常用于监控基础设施级别的度量,比如CPU、内存、I/O利用率、网络吞吐量和延迟,当然Graphite在应用程序级的度量和业务级的度量方面也很不错。

Collectd是一个的、持续很久的Linux项目,它用于收集基础设施级的度量,在2012年被Graphite打包到项目中,作为Graphite的“写插件”。Collectd自带了很多采集插件,可以捕获从CPU到电池利用率方面度量数据,还可以度量Java和Redis方面。

通常度量不会直接发送给Graphite的后端,而是发送一次一个度量或采样给度量采集服务。StatsD是另一个开源项目,是一个的度量采集服务。它可以聚合接收到的采样数据,做计算统计,求平均值、标准差和其他一些统计,周期性地刷新数据到度量数据库。Graphite是StatsD的默认后端。

出于可视化的目的,内建Web界面是目前主流的选择。创建光滑的仪表板并不难,Grafana首先从Graphite获取信息,而且还可以与其它几个流行的度量数据库协同工作,比如InfluxDB、OpenTSDB和Premetheus。

当度量数据超过了预期的边界时,Graphite自身并不提供提醒功能。这方面有几个方案可以解决此问题。Cabot就是一个流行的选择,还可以使用另一个选择StackState,它提供了同样的功能。Cabot和StackState之间提醒功能的不同之处在于StackState集成了多个监控解决方案,它可以运行检查,不仅检查Graphite数据,而且检查各种以组合的监控数据。

二、Graphite的优点

1)Graphite非常快,它的架构是模块化可规模化的 2)Graphite很,有庞大的社区和广泛的支持 3)有很多与Graphite相互协作的开源工具 4)Graphite完成单个工作且做得很好 5)Graphite采用Apache 2.0许可证

三、Graphite的不足

1)Graphite不能对数据进行分片,因此要解决这个问题就是采用多个Graphite实例 2)Graphite的安装是一个很复杂的任务,尽管目前有了完整的Docker映像可以一次性安装Graphite及其依赖

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Graphite
创建时间:2022-04-21 10:18:11
Graphite
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • LCR_
    专家
戳我,来吐槽~