编辑 | blame | 历史 | 原始文档

添加prometheus数据源

  1. 添加数据源
    ![](../../../images/screenshot_1612256964100.png)
    ![](../../../images/screenshot_1612257021441.png)
  2. 选择Prometheus
    ![](../../../images/screenshot_1612257389549.png)
  3. 填入服务地址
    ![](../../../images/screenshot_1612257455757.png)
  4. 确保服务可以访问后,点击保存
    注意⚠️:若prometheus和grafana都是以docker部署,prometheus的url必须保证是宿主机ip,或者docker子网ip。不可以是localhost或者127.0.0.1,因为对于在容器内的grafana来说,localhost指向的是这个容器内部的地址,grafana容器是不存在prometheus的。所以一句话来说就是这里需要填上能被grafana容器ping通的url。
    ![](../../../images/screenshot_1612257497431.png)
    ![](../../../images/screenshot_1612257525641.png)

导入控制台

  1. 为了快速看到效果,我们可以通过官方提供的几个模板进行导入,官网模版地址:https://grafana.com/grafana/dashboards
    ![](../../../images/screenshot_1612258693106.png)
    ![](../../../images/screenshot_1612258713758.png)
  2. 通过相关搜索,找到合适的模版后,点击进入详情页,复制完整url或最末尾的数字id
    ![](../../../images/screenshot_1612258772458.png)
  3. 进入grafana系统,选择import,并输入刚刚的url或id
    ![](../../../images/screenshot_1612258045512.png)
    ![](../../../images/screenshot_1612263205999.png)
  4. 模版加载成功,我们选择刚刚创建的prometheus数据源并点击Import
    ![](../../../images/screenshot_1612258857821.png)
  5. 若此时prometheus已经接入相关监控,则会自动展示出对应数据
    ![](../../../images/screenshot_1612263649348.png)
  6. 这时我们更换一个模版id,再尝试看下效果,同样点击Import
    ![](../../../images/screenshot_1612263981633.png)
    ![](../../../images/screenshot_1612263996013.png)
    ![](../../../images/screenshot_1612265741739.png)

手动创建控制台

  1. 选择dashboard新增
    ![](../../../images/screenshot_1612264123484.png)
    ![](../../../images/screenshot_1612264146013.png)
  2. 选择数据源与图形
    ![](../../../images/screenshot_1612264359730.png)
  3. 前往prometheus查询 container_cpu_user_seconds_total 可以看到如下参数
    ![](../../../images/screenshot_1612265059526.png)
  4. 在grafana填入相关配置,就可以看到出现了图表,展示CPU的实时占用情况(这里语法将不再赘述,若有自定义开发的需求,请大家前往官网查阅文档,进行系统地学习)
    ~~~
    rate(container_cpu_user_seconds_total{image!=""}[5m]) * 100
    ~~~
    ![](../../../images/screenshot_1612265191315.png)
  5. 修改名称后保存
    ![](../../../images/screenshot_1612265300621.png)
    ![](../../../images/screenshot_1612265348366.png)
  6. 保存完毕,grafana会自动跳转到刚刚定义的控制台
    ![](../../../images/screenshot_1612265385640.png)

后记

  • prometheus与grafana的对接已经带大家入门,但是往后还有很多需要学习。
  • 目前grafana的官方模版已经很丰富,已经涵盖常用的大多数场景。
  • 若大家还有需要自定义开发的,可以前往官网查阅文档,进一步加深学习。
  • 若需要对接K8S,可以直接采用官方的模版,也可以在加深学习后根据业务需求自定义。
  • K8S推荐监控模版地址:https://grafana.com/grafana/dashboards/13105