「Grafana」- 数据展示平台

认识

官网:https://grafana.com/grafana/
文档:https://grafana.com/docs/grafana/latest/

在 Prometheus 中,告警数据将在 Grafana 中展示。我们通过配置 Grafana 面板,以使用多种形式来展示指标数据,让我们直观的了解到服务器的各种指标。

性质

—— 功能概述(⇒ Introduction to Grafana)
Introduction to Grafana | Grafana documentation

Grafana 的主要用途便是数据展示(可视化)。

Grafana OSS,Grafana Open Source Software

当安装后,我们能够根据自己的需要来定制 Grafana 界面,具有多种多样的选择:
1)首先是 in Getting started with Grafana 页面,引导我们入门;
2)通过 Playlist 特性,我们能够来显示天气、只能家居等等内容;
3)作为管理员,能够通过 authentication 和 Provisioning 为团队提供服务;
4)更多的引导和想法,参考 Grafana Labs Community Forums 社区;

Explore metrics, logs, and traces:通过 Grafana 能够浏览数据,进行各种对比。参考 Explore 文档,获取更多详细内容;
Alerts:支持多种告警渠道(PagerDuty, SMS, email, VictorOps, OpsGenie, Slack),通过 Alert Rules 来配置告警规则;
Annotations:注解功能,允许我们在图上添加注解描述性信息。在出现问题时,关联数据很有用。
Dashboard variables:是对 Dashboard 的复用,允许页面引用变量来呈现不同页面,Variables 决定 Dashboard 的展示数据;
Configure Grafana:允许我们对 Grafana 进行各种的配置,前提是我们了解 Grafana 的配置选项及使用方法。
Import dashboards and plugins:支持导入 Dashboard 与 插件。
Authentication:支持多种认证方式,并能将用户划入不同的组织当中。企业版还能划入 Team 中,并集成其他认证系统。
Provisioning:通过该特性,我们能够实现 Grafana 的快速自动部署及应用,快速为团队提供 Grafana 服务;
Permissions:通过权限来分离和共享 Dashboard,多不同用户施以不同的权限,企业版还能细化到 Datasource 级别;
Other Grafana Labs OSS Projects:Loki 日志平台;Tempo 性能追踪平台;Mimir 为 Prometheus 提供可扩展的长期存储;

提供文件定义配置 Provisioning

https://grafana.com/docs/grafana/latest/administration/provisioning/

简而言之,通过该特性,我们可以通过配置文件来定义 Dashboard 及 Data Source 配置,进而与 GitOps 更好地配合。

提供接口访问 HTTP API

HTTP API reference
https://grafana.com/docs/grafana/latest/developers/http_api/

构建

—— 服务部署 | 升级

版本选择

What’s new | Grafana documentation

正如官方文档所述,Grafana 一直在变,对于发布亮点,参考 What’s new 页面。

当部署时,我们通常选用最新的稳定版本(升级是早晚的事情,选用旧版本也要升级)。

Release notes | https://grafana.com/docs/loki/latest/release-notes/

V3.2 release notes
V3.1 release notes
V3.0 release notes
V2.9 release notes
V2.8 release notes
V2.7 release notes
V2.6 release notes
V2.5 release notes
V2.4 release notes
V2.3 release notes

服务部署

概述安装方法

参考 Installation | Grafana Labs 页面。如果希望以容器运行,参考 grafana/grafana 页面。

官方提供各种安装方法:
1)Install on Debian or Ubuntu
2)Run Grafana Docker image
3)Deploy Grafana on Kubernetes(针对我们的场景,我们只关心该部署方式)
4)Install on RPM-based Linux
5)Install on Windows
6)Install on macOS

备份迁移

备份、恢复、迁移 | Backup, Recover, Migrate

应用

我们将学习 Grafana 的使用方法,并整理学习笔记。但是,该章节仅会简单记录各个功能特性,并不会详细记录每个章节的内容(经常阅读官方文档远优于单纯的翻译文档)。子章节将记录如何使用 Grafana 完成具体的工作任务。

该笔记将记录:Grafana 的使用方法,其主要内容是对官方文档的学习、记录、整理,还包含部分常用配置示例。

场景 | 登陆后,显示首页

apiVersion: v1
kind: ConfigMap
metadata:
  name: grafana-config
data:
  grafana.ini: |+
    [users]
    home_page = /dashboards

学习方法

这里的主要内容均来自于官方文档,但是提取各个章节的主要及关键内容,让我们形成对 Grafana 的整体认识。

What’s new:记录新版本、发生的各种变更 => Installing and Upgrading/版本选择
Introduction to Grafana:对 Grafana 的基本介绍 => Concepts and Fundamentals/功能概述

Setup

— Install Grafana => Installing and Upgrading
— Configure Grafana => Maintenance, Administration/配置文件
— Restart Grafana => Maintenance, Administration/服务重启
— Sign in to Grafana => Problems Solving and How-to/登录 Grafana 系统
— Upgrade Grafana => Installing and Upgrading/服务升级
— Configure security => Security and Permission
— Set up Grafana monitoring => Log, Monitoring, Alerting
— Set up Grafana for high availability => 3 High-availability Cluster
— Set up image rendering => Problems Solving and How-to/图片渲染
— Set up Grafana Live => Problems Solving and How-to/Grafana Live
— Enable diagnostics to troubleshoot Grafana => KNOWN-ERRORS-AND-PROBLEMS/问题排查
— Enable custom branding => Problems Solving and How-to/界面定制

Get started
— Build your first dashboard => Dashboard (UI)
— Get started with Grafana and Prometheus
— Get started with Grafana and InfluxDB
— Get started with Grafana and MS SQL Server

Grafana basics
Best practices
Administration
Data sources => Data Source
Panels
Visualizations
Dashboards => Dashboard (UI)
Sharing
Explore => grafana-backup-tool
Alerting
Linking
Templates and variables
Grafana Enterprise
Plugins
Troubleshooting
Developers
Release notes
API Reference

Getting started

快速开始、安装使用 Grafana 服务,以及某写基本概念。

Grafana basics

基本概念的更进一步介绍。

Best practices

使用 Grafana 的最佳实践。

Authentication

内置的权限系统,以及和各个认证系统集成的方法。

Installation

安装、升级,及常用的服务管理方法。

Administration

Grafana 服务的管理方法。

Manage users

用户管理

Permissions

权限管理

常用模板及工具

显示 Prometheus 告警:Prometheus Alerts dashboard for Grafana | Grafana Labs
显示 Alertmanager 告警:Prometheus AlertManager plugin for Grafana | Grafana Labs

line/promgen: Promgen is a configuration file generator for Prometheus

改进

Grafana Enterprise

其是 Grafana 企业版本,提供各种企业级功能特性。
出于成本考虑,我们暂时不会购买企业版授权,所以不再关注此部分内容。

Grafana Cloud

其实 Grafana 的云化版本,Grafana Cloud 是一个高度可用、快速、完全托管的 OpenSaaS 日志记录和指标平台。Grafana 由 Grafana Labs 托管。
出于成本考虑,我们暂时不会购买企业版授权,所以不再关注此部分内容。

参考

Grafana | Prometheus