Prometheus配置Grafana监控大屏

简介

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

主要特点

  • 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
  • 数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
  • 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
  • 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
  • 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
  • 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

Docker部署

  • 在Docker部署之前,首先要确保拥有Docker环境
  • 拉取grafana最新镜像 (更详细说明可以参考官方文档:https://grafana.com/docs/grafana/latest/installation/docker)
docker pull grafana/grafana:9.3.6

Prometheus配置Grafana监控大屏_第1张图片

  • 启动docker容器并提前创建好挂载目录
mkdir /prometheus/grafana -p
chmod 777 /prometheus/grafana
docker run -d -p 3000:3000 --name grafana grafana/grafana:9.3.6
  • 从容器拷贝配置文件至对应目录
docker exec -it grafana cat /etc/grafana/grafana.ini > /prometheus/grafana/grafana.ini
cat /prometheus/grafana/grafana.ini

Prometheus配置Grafana监控大屏_第2张图片

  • 删除临时docker容器
docker rm -f grafana
  • 启动正式docker容器
  • 设置服务的默认域名 :-e "GF_SERVER_ROOT_URL=https://grafana.bladex.vip"
  • 设置admin的密码为admin-e "GF_SECURITY_ADMIN_PASSWORD=admin"
  • 注意:密码若带特殊符号请加\转义
  • -v "/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini"将宿主机上grafana配置文件挂载至容器中,如果需要修改直接重启即可
  • -v "/prometheus/grafana/:/var/lib/grafana"将容器中的数据存储挂载至宿主机指定路径持久化
docker run --name grafana --restart=always \
-d  -p 3000:3000 \
-e "GF_SERVER_ROOT_URL=https://grafana.bladex.vip" \
-e "GF_SECURITY_ADMIN_PASSWORD=cquisse" \
-v "/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini" \
-v "/prometheus/grafana/:/var/lib/grafana" \
grafana/grafana:9.3.6

image-20230227153552654

访问系统

  • 访问系统 http://服务器ip:3000,注意防火墙或安全组开放端口。
    Prometheus配置Grafana监控大屏_第3张图片
  • 因为已经在启动时指定了密码,所以无需二次修改,可以直接登录成功

添加prometheus数据源

  • 添加数据源
    Prometheus配置Grafana监控大屏_第4张图片

Prometheus配置Grafana监控大屏_第5张图片

  • 选择Prometheus
    Prometheus配置Grafana监控大屏_第6张图片
  • 填入服务地址
    Prometheus配置Grafana监控大屏_第7张图片
  • 确保服务可以访问后,点击保存
    注意⚠️:prometheus的url必须保证是宿主机ip。因为对于在容器内的grafana来说,localhost指向的是这个容器内部的地址,grafana容器是不存在prometheus的。所以一句话来说就是这里需要填上能被grafana容器ping通的url。
    Prometheus配置Grafana监控大屏_第8张图片

导入控制台

  • 为了快速看到效果,我们可以通过官方提供的模板进行导入,**官网模版地址:**https://grafana.com/grafana/dashboards
    Prometheus配置Grafana监控大屏_第9张图片
  • 通过相关搜索,找到合适的模版后,点击进入详情页,复制完整url或最末尾的数字id
    Prometheus配置Grafana监控大屏_第10张图片
  • 进入grafana系统,选择import,并输入刚刚的url或id
    Prometheus配置Grafana监控大屏_第11张图片

Prometheus配置Grafana监控大屏_第12张图片

  • 点击Load后我们可以看到,有的模板会提示需要JSON模板,于是我们回到复制id的网页,点击Download JSON把下载的文件内容复制到方框内即可。

Prometheus配置Grafana监控大屏_第13张图片

Prometheus配置Grafana监控大屏_第14张图片

Prometheus配置Grafana监控大屏_第15张图片

  • 模版加载成功,我们选择刚刚创建的prometheus数据源并点击Import,若此时prometheus已经接入相关监控,则会自动展示出对应数据
    Prometheus配置Grafana监控大屏_第16张图片

Prometheus配置Grafana监控大屏_第17张图片

  • 这时我们更换一个模版id,再尝试看下效果,同样点击Import

    Prometheus配置Grafana监控大屏_第18张图片

Prometheus配置Grafana监控大屏_第19张图片

Prometheus配置Grafana监控大屏_第20张图片

手动创建控制台

  • 选择dashboard新增
    Prometheus配置Grafana监控大屏_第21张图片

    Prometheus配置Grafana监控大屏_第22张图片

    Prometheus配置Grafana监控大屏_第23张图片

  • 选择数据源与图形
    Prometheus配置Grafana监控大屏_第24张图片

Prometheus配置Grafana监控大屏_第25张图片

  • 前往prometheus查询 container_cpu_user_seconds_total 可以看到如下参数
    Prometheus配置Grafana监控大屏_第26张图片
  • 在grafana填入相关配置,就可以看到出现了图表,展示CPU的实时占用情况
rate(container_cpu_user_seconds_total{image!=""}[5m]) * 100

Prometheus配置Grafana监控大屏_第27张图片

  • 修改名称后保存

Prometheus配置Grafana监控大屏_第28张图片

Prometheus配置Grafana监控大屏_第29张图片

  1. 保存完毕,grafana会自动跳转到刚刚定义的控制台
    Prometheus配置Grafana监控大屏_第30张图片

Promethus安装(主体)

后记

  • 本文只描述了Prometheus与Grafana对接的一些入门使用,Grafana更多的使用方法还有待探索,比如Grafana的邮件告警功能

  • 目前Grafana的官方模版已经很丰富,已经涵盖常用的大多数场景。

你可能感兴趣的:(Linux运维,DevOps运维,prometheus,grafana,运维)