MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

致这个这个看脸的世界 — 高颜值监控绘图工具Grafana

2025-02-28 15:59 huorong 精选文章 1 ℃ 0 评论

这是最好的时代,也是最坏的时代,更是一个看脸的时代。

——查尔斯高 · 帅

颜值即真理,颜值即正义,在软件的世界也不例外。

今天给大家介绍一款高颜值的监控数据绘图工具,华丽的外表以及强大的数据展现功能保证让你对它一见钟情,快速爱上它!

------------我是图很多的分割线------------

注: 本文中引用图片均来源于软件的官方网站,更多美图欣赏请移步http://grafana.org/

曾经,我们的监控系统可能是长这样的:

(图片来源于软件的官方网站)

或者,长这样:


(图片来源于软件的官方网站)


今天我们要介绍的Grafana长这样:


(图片来源于软件的官方网站)


这样:


(图片来源于软件的官方网站)


这样:


(图片来源于软件的官方网站)


以及这样:


(图片来源于软件的官方网站)


下面就简单给大家介绍一下Grafana的一些强大的feature。

丰富的绘图功能

作为一个数据可视化工具最重要的当然是要有强大的绘图功能

  • 点击、选择区域进行时间轴的zoom in及zoom out 方便快速选择时间区间

  • 多Y轴

  • 支持柱状图、折线图、点图、饼图、表格等多种图表

  • 可以设置阈值、对数刻度

  • Y轴多种单位(字节、毫秒等等)

  • 全屏查看或者编辑图表

  • 可以混合使用柱、线、点等方式绘图

  • 可以通过界面或者http api导出任何图表为png图片格式


(图片来源于软件的官方网站)


强大的仪表盘(Dashboard)

  • 轻松拖拽图表,改变行和图表的宽度

  • 当图表数量众多的时候可以通过搜索标题(title)或者标签(tag)定位

  • 模板化的仪表盘

  • 脚本化的仪表盘,可以保存为Json文档,快速保存、复制

  • 可以通过 HTTP API 进行创建和更新

  • 多种多样的图表类型


(图片来源于软件的官方网站)


丰富的数据源支持

  • Graphite

  • InfluxDB

  • Elasticsearch

  • OpenTSDB

  • CloudWatch


(图片来源于软件的官方网站)


模板变量

试想如果我们有成千上万的主机,每台主机又有成百上千的监控指标,那么我们要配置无数的Dashboard,变量功能极大方便了我们配置监控图表

  • metric的查询中使用变量

  • 图表标题使用变量

  • 函数参数可以使用变量

  • 可以通过URL来给变量赋值


(图片来源于软件的官方网站)


快速的时间范围选择

  • 通过下拉按钮快速选择时间范围

  • 支持本地时间和UTC时间

  • 设置自动刷新时间间隔

  • 复杂的日期选择,如最近x分钟、小时、天,昨天,上周的今天等等

丰富的插件(plugin)支持

Grafana.net提供了众多特色插件支持

(图片来源于软件的官方网站)

Grafana可以用在任何需要数据可视化的地方,如果有一天老板需要你做一份漂亮的业务数据图表,你无需头疼用什么绘图库去开发,你要做的仅仅是将业务数据稍作加工存入Grafana支持的DataSource,点几下鼠标即可配制出一份完美的数据图表。

看到这里,各位看官有没有一点点心动呀? 光说不做不是笔者风格,下面来一起动动手,给各位看官演示一下使用docker环境快速(预计小于20分钟,取决于您的网速)搭建一个demo,来亲自体验一下grafana的魅力,后端的datasource(时序数据库)使用graphite。、

Grafana实战演示

准备工作: 一台接入网络的笔记本,Mac或者Windows,Linux当然是最好了(笔者的办公电脑是Mac,所以就只演示Mac咯)。

Step 1: 安装基础软件,包括如下几个工具:

  • Docker Engine, docker核心部分,包括docker 的服务端进程以及客户端工具

  • Docker Machine ,可以让你在非linux操作系统上(例如Mac、Windows)借助VM工具来安装运行docker服务

  • Docker Compose,一个用来定义和运行多个容器的管理工具

  • VirtualBox. , 为Docker Machine提供虚机支持

在OSX上面可以使用homebrew来安装

$ brew install docker

$ brew install docker-machine

$ brew install docker-compose

但是本文推荐使用官方的集成工具包 Docker Toolbox,集成了如上所有的工具。访问Docker官方网站来下载适合你的版本。这些工具的安装使用不在本文讨论范围内,因此请参考Docker官方文档。

笔者打算另外写文章来讨论docker相关问题,请随时关注点融黑帮公众号:)。

Step 2. 使用docker-machine创建一个docker host

Step 3:编写 docker-compose.yml 文件,内容如下:

执行启动命令:

$ docker-compose up -d

docker-compose会根据yml文件自动pull对应的镜像,并用指定参数启动容器。安装操作已做完,简单吧?剩下的事情就是等待了,等待时间取决于你的网速。

Step 4: 等容器都启动以后,查看docker-machine的IP地址,并访问

$ docker-machine ip vm-grafana

192.168.99.100

接收数据的carbon-cache服务监听在 tcp://192.168.99.100:2003

graphite-web服务监听在
http://192.168.99.100:8000/

Grafana 服务监听在
http://192.168.99.100:3000

使用netcat(nc命令))以1秒为间隔发送一些20~30范围内的随机数据(称为metrics)给graphite,跟大多数时间序列数据库(TSDB)类似,其数据格式包含三部分: metric key, metric value,timestamp。 例如:

test.data 10 1467764049

模拟生成一些metrics发送给graphite:

$ while true; do echo "test.data $(($RANDOM%10+20)) $(date +%s)" | nc 192.168.99.100 2003; sleep 1; done

浏览器访问grafana
http://192.168.99.100:3000 初始密码admin/admin

添加数据源:


新建一个Dashboard, 新建一个Panel, 添加一个metric,选择刚刚我们加的test.data, Grafana 便绘制出图表:


这里只用最最简单、最最少的操作,建立起一个Grafana的demo服务,如果你有兴趣可以参考官方文档,深入探索一下她更多更强大的功能。

TO Grafana:你是这个看脸世界的一股清流,还不是因为这个世界你最好看。

本文作者:高帅(点融黑帮),现任点融技术部DevOps一枚,曾就职于阿里巴巴。

本文由@点融黑帮(公众号ID:DianrongMafia) 原创发布于今日头条,未经许可,禁止转载。

Tags:grafana windows

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言