## 添加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