Graphite详解

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50927812 Graphite详解作者:chszs,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50927812

Graphite详解

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

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及其依赖
目录
相关文章
|
2月前
|
存储 Prometheus Cloud Native
Grafana 系列文章(十):为什么应该使用 Loki
Grafana 系列文章(十):为什么应该使用 Loki
|
2月前
|
消息中间件 Prometheus Kubernetes
Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing
Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing
|
监控 Shell Go
如何自己写一个telegraf的插件
之前有个特殊需求要自己搞一个telegraf的插件,就顺手写了这个小指南,go初学者级别吧
1176 0
|
Prometheus 监控 Cloud Native
Prometheus VS InfluxDB
前言 除了传统的监控系统如 Nagios,Zabbix,Sensu 以外,基于时间序列数据库的监控系统随着微服务的兴起越来越受欢迎,比如 Prometheus,比如 InfluxDB。gtt 也尝试了一下这两个系统,希望能找到两者的差别,为以后选型提供一些帮助。
8540 0
|
9月前
|
Prometheus Cloud Native NoSQL
【2023】Prometheus-Prometheus与Alertmanager配置详解
【2023】Prometheus-Prometheus与Alertmanager配置详解
470 0
【2023】Prometheus-Prometheus与Alertmanager配置详解
|
存储 监控 数据可视化
nmon2influxdb+grafana:服务监控可视化部署
启动grafana,配置对应的Dashboard、Data Sources,然后选择配置好的仪表盘,查看可视化的监控数据(如何配置grafana,请看这里:可视化工具Grafana:简介及安装)。
nmon2influxdb+grafana:服务监控可视化部署
|
JSON Linux Go
grafana怎么读取ganglia的rrd展示到dashboard中
grafana怎么读取ganglia的rrd展示到dashboard中
358 0
grafana怎么读取ganglia的rrd展示到dashboard中
|
机器学习/深度学习 数据采集 监控
iLogtail 入门-采集Telegraf Metrics 数据
# 前言阿里已经正式[开源](https://mp.weixin.qq.com/s/hcCYBZ0qvs8q4Wp1zFt-lg) 了可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。本文将介绍iLogtail如何与Telegraf协同工作,采集指标数据。# 采集配置iLogta
244 0
|
监控 应用服务中间件 时序数据库
(七) DockerUI与Shipyard以及InfluxDB+cAdvisor+Grafana配置监控
一、DockerUI基于DockerAPI实现的镜像容器仓库管理 docker run -d -p 59000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker 三大优点:1:可以对运行着的容器进行批量操作2:在容器网络中-会显示容器与容器间的网络关系3:在Volumes中显示了所有挂载目录对我当前需求而言,好想dockerui 和 shipyard能和二为一呀。
1410 0
|
监控 应用服务中间件 时序数据库
Grafana+Telegraf+Influxdb监控Tomcat集群方案
前言 前一段时间自家养的几只猫经常出问题,由于没有有效的监控预警手段,以至于问题出现或者许久一段时间才会被通知到。凌晨一点这个锅可谁都不想背,为此基于目前的情况搭建了以下这么一套监控预警系统。 相关软件 Nginx:代理访问 Grafana Grafana: 可视化面板(Dashboard),有.
4689 0