• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

1. 前言

Grafana是用Go语言开发的开源数据可视化工具,可以做数据监控和统计,有报警功能,可以分析指标和日志。Grafana可以用来制作一个漂亮的仪表盘,是一个很酷的可视化监控和分析工具。无论我们的数据在哪里,或者在什么类型的数据库中,我们都可以将它们与Grafana完美地结合起来。

Grafana软件版本目前已经更新到Grafana8,但是目前普遍使用的是Grafana6和Grafana7,在绘制图形面板时每个版本的语法会有所不同。本文将通过讲解Grafana7来介绍其安装和使用。

2. 安装

2.1 软件安装

wget https://dl . grafana.com/enterprise/release/grafana-enterprise-7 . 2 . 0-1 . x86 _ 64 . rpm

yum install grafana-enterprise-7 . 2 . 0-1 . x86 _ 64 . rpm-y

systemctl启动grafana-服务器

安装完成后,您可以使用IP地址的端口3000登录。默认用户名和密码为:admin,首次登录时会提示您更改密码。

2.2 插件安装

#饼图插件

grafana-cli插件安装grafana-piechart-panel

#时钟插件

grafana-cli插件安装grafana-时钟面板

# zabbix插件

grafana-cli插件安装alexanderzobnin-zabbix-app

systemctl重新启动graf ana-服务器

2.3 Grafana相关文件和目录

Grafana将在安装后生成一些文件。

/etc/graf ana/graf ana . ini graf ana配置文件

/var/log/graf ana/graf ana . loggraf ana日志文件

/var/lib/graf ana/graf ana . dbgraf ana数据保存文件

/var/lib/grafana/plugins/grafana插件保存目录

3. 数据保存形式

3.1 数据源

Grafana本身并不保存监控数据,而是需要从其他数据源获取数据。Grafana支持访问许多数据源。下图显示了当前支持的数据源:

bf0oy2krvqd4778.png

本文以Prometheus为数据源,使用PromQL语法进行数据查询。至于PromQL语法的使用,上一篇文章已经详细讲过了,供参考。

3.2 Panels(图形面板)

Grafana图形面板是一个可视化数据的用户界面,用于定义数据源查询、数据转换和格式化,是一个基本的可视化构建块。每个面板都有一个特定于面板中所选数据源的查询编辑器。查询编辑器允许完美的可视化被提取并显示在面板上。每个面板都有各种样式和格式选项。面板可以在仪表板上拖动和重新排列,或者根据需要调整大小。

制作面板需要大量的编辑工作。面板编辑器包括一个查询构建器和一系列选项,可用于转换数据和向面板添加信息。下图显示了一个完整的面板:

gasptg53xn34779.png

3.3 Query editors(查询编辑器)

如上所述,每个面板都有一个特定于面板中所选数据源的查询编辑器,这是一个帮助编写查询的表单。根据我们选择的数据源,查询编辑器可能会建议自动完成、指示器名称或变量。

因为不同的数据源有不同的查询语句,所以不同的数据源可能看起来有不同的查询编辑器。例如,如果数据源是Prometheus,查询编辑器的查询语言是PromQL,数据源是Mysql,查询编辑器的查询语言是sql语句。

普罗米修斯数据源查询示例:

tps://www.icode9.com/i/l/?n=22&i=blog/1450914/202205/1450914-20220503003408371-2103080210.png"/>

Mysql数据源查询器例子:
xhsnvnwrzjl4780.png

4. 可视化

    当我们绘制图形时,需要选择合适的可视化方式(Visualization)。Grafana 提供了多种可视化来支持不同的用例,这一部分将重点介绍内置面板、它们的选项和典型用法。
    Grafana支持的可视化方式有:Graph、Stat、Gauge、Bar gauge、Table、Text、Heatmap、Alert list、Dashboard list、News、Pie Chart、Logs。本文将着重介绍使用得比较多的几个可视化。

4.1 Graph

    Graph是图形面板,是创建dashboard时默认的面板。图形面板可以将指标呈现为一条线、一条点路径或一系列条形,这种类型的图表用途广泛,几乎可以显示任何时间序列数据。对于基于时间的折线图、面积图和条形图,建议使用默认的时间序列可视化。
    以下是一个Graph的典型例子,比如显示操作系统负载:
0jxj0am0tzb4781.png

4.2 Gauge

    Gauge是仪表面板,仪表可视化是一种单值可视化,可以为每个系列、列或行重复一个仪表。Gauge支持使用阈值控制背景或值颜色。
    以下是一个Gauge的典型例子,比如显示操作系统当前打开的文件描述符(文件句柄数):
zr0014ib3qe4782.png

4.3 Stat

    Stat面板可视化显示一个带有可选图形迷你图的大型统计值。Stat支持使用阈值控制背景或值颜色。默认情况下,统计面板显示以下内容之一: 只是单个系列或字段的值;多个系列或字段的值和名称。
    以下是一个Stat的典型例子,比如显示操作系统的CPU核心数:
ypu5eztm2ek4783.png

4.4 Table

    Table是表格面板,要在表格布局中显示数据,请使用表格可视化。表格面板可视化非常灵活,支持时间序列和表格、注释和原始JSON数据的多种模式。此面板还提供日期格式、值格式和着色选项。
    以下是一个Table的典型例子,比如显示操作系统各磁盘的使用情况信息:
ytzvg4kmyie4784.png

4.5 Pie chart

    Pie chart是一个饼图可视化,饼图以饼图切片的形式显示来自一个或多个查询的缩减系列或系列中的值,因为它们彼此相关。切片的弧长、面积和圆心角都与切片值成正比,因为它与所有值的总和有关。如果想要以美观的形式快速比较一小组值时,可以使用这种类型的图表。
    以下是一个Pie chart的典型例子,比如显示http请求返回状态码占比:
nov4vmpjmql4785.png

5.用户管理

    生产环境中,需要严格区分权限,不同的部门需要赋予不同的用户权限。
Grafana的用户权限分为:Admin、Editor、Viewer
Admin:管理员权限,可以做任意操作,权限最大,可以为所欲为;
Editor:可编辑权限,可以编辑图表,不能对用户进行操作;
Viewer:查看权限,只能查看,不能做任何编辑操作。
用户操作界面如下图,可以添加用户,设置权限。
wznbi4divch4786.png

6.案例演示

6.1 制作Panel

下面以磁盘的IOPS监控进行讲解,如何绘制一个图形
(1)添加数据源
esfxfmrbtd54787.png

(2)添加一个Panel
wn0debqoqki4788.png
ozp2041fq214789.png

(3)选择Visualization为Graph(默认)
c0kb42fhqhh4790.png

(4)编辑查询语法
Prometheus监控项中表示IOPS的指标,使用PromQL语法。
qsc5vc45gca4791.png

(5)设置指标显示格式
设置线条粗细,填充效果
ko5wlr4vwak4792.png

设置监控指标单位,显示名称,数据精度(默认是auto自适应)
bdggy0zn2rc4793.png

设置数据显示方式,是否以表格显示,最大值、最小值、平均值、当前值哪些需要显示
tgw1mcielrd4794.png

(6)得到最终效果图
efaxh2qfrud4795.png

6.2 导入模板

Grafana可以支持直接导入json模板
hdrrzni1qza4796.png

现提供三个完整的json模板,效果图如下(部分截图信息):
主机信息监控(node_exporter模板)
tmp43bypook4797.png

大屏监控信息
eiffqhyf34q4798.png

主机宕机监控信息
tc4frdcfabc4799.png

完整的json文件参考:https://grafana.com/docs/grafana/latest/getting-started/getting-started/

参考文档

https://grafana.com/docs/grafana/latest/getting-started/getting-started/

Link to comment
Share on other sites