• Prometheus系列(二)Grafana可视化部署


    概念

    Grafana 是一个监控仪表系统,它是由 Grafana Labs 公司开源的的一个系统监测工具,它可以大大帮助我们简化监控的复杂度,我们只需要提供需要监控的数据,它就可以帮助生成各种可视化仪表,同时它还有报警功能,可以在系统出现问题时发出通知。

    Grafana 支持许多不同的数据源,每个数据源都有一个特定的查询编辑器,每个数据源的查询语言和能力都是不同的,我们可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源。目前官方支持以下数据源:

    Alertmanager
    AWS CloudWatch
    Azure Monitor
    Elasticsearch
    Google Cloud Monitoring
    Graphite
    InfluxDB
    Loki
    Microsoft SQL Server (MSSQL)
    MySQL
    OpenTSDB
    PostgreSQL
    Prometheus
    Jaeger
    Zipkin
    Tempo
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    我们这里当然重点需要介绍的就是 Prometheus 这个数据源了。

    监控系统组成

    1. Granfana

    从数据源中查询数据,并将查询到的数据进行可视化展示。

    2. Prometheus

    Prometheus是一个时间序列数据库。但是,它不仅仅是一个时间序列数据库。它涵盖了可以绑定的整个生态系统工具集及其功能。Prometheus主要用于对基础设施的监控,包括服务器(CPU、MEM等)、数据库(MYSQL、PostgreSQL等)、Web服务等,几乎所有东西都可以通过Prometheus进行监控。而它的数据,则是通过配置,建立与数据源的联系来获取的。

    虽然Grafana可以从多种数据(如Prometheus、MySQL/PostgreSQL、OpenTSDB)等等中获取数据,不过Prometheus天生就是为了监控而生,所以我们用的最多的还是Prometheus。这也是我们的标配哦~

    3. 数据源

    在Prometheus的架构设计中,Prometheus并不直接服务监控特定的目标,就比如我们监控linux系统,Prometheus不会自己亲自去监控linux的各项指标。其主要任务负责数据的收集,存储并且对外提供数据查询支持。

    因此为了能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Exporter是一个相对开放的概念,不是专门指某一个程序。它可以是一个独立运行的程序,独立于监控目标以外(如Node Exporter程序,独立于操作系统,却能获取到系统各类指标)。也可以是直接内置在监控目标中的代码(如在项目代码层面接入普罗米修斯API,实现指标上报)。总结下来就是,只要能够向Prometheus提供标准格式的监控样本数据,那就是一个Exporter。

    而Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

    对于大家常见的监控主机运行的指标如CPU, 内存,磁盘等信息,我们可以为linux系统下载Node Exporter程序,该程序会监控linux各项指标,并通过:http://:9100/metrics来展示各项指标。而其给我们返回的内容如下图所示:
    在这里插入图片描述

    上图是访问Node Exporter暴露的HTTP服务,获取到了一系列的监控指标。而这些监控指标便是Prometheus可以采集到当前主机所有监控指标的样本数据:
    
    ## 含义:
    图中以#开头相当于注释,我们不用太关注。
    
    图中以非#开头的每一行则表示当前Node Exporter采集到的一个监控样本。
    
    对于图中可见的node_cooling_device_max_state和node_cpu_guest_seconds_total,代表了当前监控样本的名称。
    
    紧跟指标后大括号中的键值对中的键被称为标签,它与键值对的值共同组成筛选条件,相当于Mysql里的Where后面的内容。键值对整体反映了当前样本的一些特征和维度。
    
    而右大括号后的值则是该监控样本监控下的具体值。  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    4. 工作原理

    现在我们有了以下3个部分:

    Exporter 监控工具,获取数据
    Prometheus 普罗米修斯时序数据库,用来存储和查询你的监控数据
    Grafana 仪表盘
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    安装

    1. 下载安装包

    >官网地址:https://grafana.com
    >官方文档:https://grafana.com/docs/grafana/next/
    
    >二进制包下载:
    [root@localserver /root]# wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.5.linux-amd64.tar.gz
    [root@localserver /root]# tar xf grafana-enterprise-9.2.5.linux-amd64.tar.gz
    [root@localserver /root]# mv grafana-enterprise-9.2.5 /usr/local/grafana-9.2.4
    [root@localserver /root]# cd /usr/local/grafana-9.2.4/bin
    [root@localserver /usr/local/grafana-9.2.4/bin]# nphup ./grafana-server web > ./grafana.log >2&1 &
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2. 浏览器登录

    浏览器输入:http://192.168.178.150:3000/login
    
    ## 首次登录用户名吗、密码默认都是admin/admin
    ## 当然也可以在配置文件 /usr/local/grafana-9.2.4/conf/defaults.ini 中配置 admin_user 和 admin_password 两个参数来进行覆盖。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/7d98c7845a8f4420b2573a1868e9ef4c.png)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    首次登录界面:

    在这里插入图片描述输入admin/admin会提示设置新密码,按照指引设置即可
    在这里插入图片描述
    之后,正常进入 grafana 界面:
    在这里插入图片描述

    3. 设置数据源

    Grafana 并不负责采集数据,只是它可以将采集来的数据通过查询进行可视化展示。
    那么这个数据从何而来呢?答案就是 datasources,在可视化界面中,可以在设置中进行设置数据源,也就是后续的指标查询展示都是从这个数据源获取。
    在这里插入图片描述数据来源选择 Prometheus,之后设置 http url,填写部署 Prometheus 的链接即可,之后保存。
    在这里插入图片描述在 HTTP 项中配置 URL 地址默认为 http://localhost:9090,其实就是 Prometheus 的地址,由于我们这里 Grafana 和 Prometheus 都在同一个节点上,所以用 localhost 即可访问,当然用 IP 也可以,配置完成后,拉到最下方点击 Save & test,提示添加成功即表面数据源添加成功了。然后在数据源列表中就会出现我们刚刚添加的 Prometheus 这个数据源了:

    在这里插入图片描述
    如果想要添加其他支持的数据源则也可用同样的方式进行添加。

    4. 配置面板

    数据源已经配置了,那么如何才可以看到监控面板呢?
    Grafana 官网有提供很多现成的 dashboard,可以直接下载使用:
    地址:https://grafana.com/grafana/dashboards/

    这里我们下载一个 node-exporter 来使用:
    https://grafana.com/grafana/dashboards/15172-node-exporter-for-prometheus-dashboard-based-on-11074/

    官网的 dashboard 就需要采用导入的方式:
    在这里插入图片描述
    在这里插入图片描述
    导入成功,效果图如下:
    在这里插入图片描述

  • 相关阅读:
    《Vue.js 3.x+Element Plus前端开发实战》简介
    海河实验室创新联合体成立 GBASE成为首批创新联合体(信创)成员单位
    安装BBR教程,来加速VPS
    23软考备考已开始,网络工程师知识点速记~(1)
    Lua-Lua虚拟机2
    面相分析API接口
    GIS原理篇 地图投影
    Jetson xvaier nx 安装torch1.6.0 torchvision0.7.0
    计算一个数的N次方,int和Integer的区别
    (十一)STM32——IO引脚复用与映射
  • 原文地址:https://blog.csdn.net/weixin_44352521/article/details/127947528