grafana初级入门

预备知识

Metrics、Tracing和Logging的区别

监控、链路追踪及日志作为实时监测系统运行状况,这三个领域都有对应的工具和解决方案。

Metrics 监控指标的定义,特征是它们是可聚合的:它们是在一段时间内组成单个逻辑指标、计数器或直方图的原子项。

Logging 日志的定义,特征是它处理离散事件。

Tracing 它定义,特征是它处理请求范围内的信息--任何可以绑定到系统中单个事务对象的生命周期的数据或元数据。

详细参考文档

监控系统

白盒监控

通过了解系统内部来预测实际运行情况,预测和实际是否一致。预判可能出现的问题。

黑盒监控

在系统或者服务在发生故障时能够快速通知相关的人员进行处理。

度量指标 Metrics

  • 计量器(Gauge):瞬间状态。例如:内存使用,CPU占用等。
  • 计数器(Counter):累计型的度量指标。它是一个只能递增的数值。例如:服务请求数。
  • 直方图(Histogram):对观察结果进行采样。通常是请求持续时间或者响应耗时这样的数据。
  • 汇总(Summary):对观察结果进行采样。除了可以统计采样值总和和总数,还能按照分位数统计。

当然,对数据思考的角度不同也还有其他的类别。常用的前3种。

合适的场景选择合适的指标。

什么是工具

没有它的时候,无所谓;有它的时候,也无所谓;

需要它的时候,就有所谓了。

grafana是什么

grafana是一个开源的UI界面解决方案。

grafana是一个开源的、仪表盘式的分析监控平台。

grafana是一个用于监控指标分析和图表展示的工具。

grafana支持多种数据源,如Elasticsearch, Influxdb, Graphite, Prometheus, AWS,Mysql等。

官网:https://grafana.com/grafana

关键词:

Visualize 可视化
Unify 统一
Extend 可扩展
Alert 告警
Open 全平台
Collaborate 协作

一句话:将数据池中的数据展示给用户。

grafana能做什么

监控mysql状态

监控Node状态

监控redis状态

这3个需要前置promethues。有机会下次讲promethues。

对接mysql里面的数据 目前三消正在用的

grafana安装

这里是别人写的教程

这里是官方教程

建议不要install,包下载好后,直接找到grafana-server程序,然后执行./grafana-server &就可以了。

打开浏览器,输入IP+端口,3000为grafana的默认端口。

对接mysql数据

grafana直连mysql,数据可视化。

具体实操。

可扩展

6个关键词,重点写这一块。

插件:面板(Panel),数据源(Data Source),应用(app)

面板:和echarts类似,但是比echarts更灵活、易用

数据源:每一种数据源有不同的接入方式

应用:不太了解

数据源:分为数据库状态和数据库数据。

  • 数据库状态:基本都能搞
  • 数据库数据:有些不能搞。例如redis mongo,想想为什么?

自定义面板插件官方说明

自定义数据源插件官方说明

FAQ

  • 同一个数据,不同人员看的角度不同,怎么办?

比如同一个数据,需要从A、B、C三个维度查看。展示的方式人的偏好也不同。

现在彩虹是做不到的。因为页面调整在他们手里。

grafana可以,使用者可以自由调整面板。

  • 学习门槛怎样?

不高。会sql就可以,但是对sql还是有一定的要求。虽然grafana对每一种数据源的语法不同,但是它没有创造语法,仅是对数据库本身提供语法的封装,方便使用。

  • 一个页面是否可以同时展示不同数据源的数据?

可以的。

  • 一个dashboard是否可以同时展示不同数据源的数据?

不可以。

  • 如果数据分布在2个不同的数据源,并且需要经常操作,不是很方便,怎么办?

可以前面放置promethues,将数据聚合,然后将promethues作为唯一数据源。

如果小规模使用,不建议这样做。数据经过了一次周转,降低了自由度。

思想

  • 开放和自由,满足不同的需求
  • 工欲善其事必先利其器
  • 开发过程中引入工具,降低未来的修复成本

grafana初级入门的更多相关文章

  1. 响应式Web初级入门

    本文来自我的前端博客,原文地址:http://www.hacke2.cn/about-responsive/ 跨终端时代的到来 当你乘坐各种交通工具(公交.地铁.轻轨.火车)时你会发现,人们都个个低下 ...

  2. Sping AOP初级——入门及简单应用

    在上一篇<关于日志打印的几点建议以及非最佳实践>的末尾提到了日志打印更为高级的一种方式——利用Spring AOP.在打印日志时,通常都会在业务逻辑代码中插入日志打印的语句,这实际上是和业 ...

  3. Linux初级入门(第一次作业)

    Linux初级入门 在本科期间学过一些Linux的简单命令,再次接触Linux不仅巩固了知识还学习到了很多新的东西. 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是 ...

  4. Spring AOP初级——入门及简单应用

      在上一篇<关于日志打印的几点建议以及非最佳实践>的末尾提到了日志打印更为高级的一种方式——利用Spring AOP.在打印日志时,通常都会在业务逻辑代码中插入日志打印的语句,这实际上是 ...

  5. Linux初级入门(一)

    Linux是一种开源电脑操作系统内核,它是一个用C语言写成,符合POSIX标准的类Unix操作系统.Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类U ...

  6. hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2

    问题导读 1.改变hdfs文件的权限,需要修改哪个配置文件?2.获取一个文件的或则目录的权限,哪个命令可以实现?3.哪个命令可以实现设置访问控制列表(ACL)的文件和目录? 接上篇:Hadoop[2. ...

  7. hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1

    问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写? 概述文件系统 ( ...

  8. hadoop入门手册3:Hadoop【2.7.1】初级入门之命令指南

    问题导读1.hadoop daemonlog管理员命令的作用是什么?2.hadoop如何运行一个类,如何运行一个jar包?3.hadoop archive的作用是什么? 概述 hadoop命令被bin ...

  9. Spring Cloud实战之初级入门(六)— 服务网关zuul

    目录 1.环境介绍 2.api网关服务 2.1 创建工程 2.3 api网关中使用token机制 2.4 测试 2.5 小结 3.一点点重要的事情 1.环境介绍 好了,不知不觉中我们已经来到了最后一篇 ...

随机推荐

  1. 树莓派使用docker安装青龙面板和改面板端口号

    配置环境 系统:Raspbian 11(64位) 设备:树莓派4B 系统默认没有防火墙,所以就不用在防火墙中开放端口. 一.安装docker(已安装省略) 1.安装 curl -fsSL https: ...

  2. 1、Oauth概念与模式

    参考 OAuth 2.0 的一个简单解释

  3. GoJS 使用笔记

    作为商业软件,GoJs很容易使用,文档也很完备,不过项目中没有时间系统地按照文档学习,总是希望快速入门使用,所以将项目中遇到的问题精简一下,希望对后来者有些帮助. 开始使用 这里先展示一个最简单的例子 ...

  4. 巧用 CSS 把图片马赛克化

    一.image-rendering 介绍 CSS 中有一个有趣的特性叫 image-rendering,它可以通过算法来更好地显示被缩放的图片. 假设我们有一张尺寸较小的二维码截图(下方左),将其放大 ...

  5. Linux下/目录 、/home目录 、~目录的区别

    / :根目录 ,所有目录的最顶层目录,从任何用户执行该命令都会进入同一个目录,即所有用户共享.如下图: /home:/下面的home目录,名为家目录,但是很多人叫为用户列表目录,因为/home下是这台 ...

  6. Linux安装ms-office

    https://ittutorials.net/open-source/linux/installing-microsoft-office-in-ubuntu/

  7. 【C# .Net GC】sos.dll 混合模式调试(托管调试+本机)

    当我们想使用本机调试器(如CDB或WinDBG)调试.NET应用程序时,我们必须在本机调试器和托管世界之间使用"桥",因为本机调试器本身并不理解托管代码.它是本机调试器.为了提供这 ...

  8. C#CancellationToken/CancellationTokenSource-取消令牌/取消令牌源 CT/CTS

    详细情况:https://www.cnblogs.com/wucy/p/15128365.html 背景 为什么引入取消令牌? Thread.abort()方法会破坏同步锁中代码的原子逻辑,破坏锁的作 ...

  9. js 数组/对象/日期的浅克隆

    //封装 function clone (obj) { // Handle the 3 simple types, and null or undefined if (null == obj || & ...

  10. 禁用所有控制台console.log()打印

    在前端dev的环境下,经常会用到console.log()进行调试,以方便开发, 而在产品release的版本中,又不合适在浏览器的console中输出那么多的调试信息. 但是会经常因为没有删除这些开 ...