Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。
- 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
- 数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
- 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
- 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
- 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
- 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
docker pull grafana/grafana:9.3.6
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
docker rm -f grafana
- 设置服务的默认域名 :
-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
Download JSON
把下载的文件内容复制到方框内即可。Import
,若此时prometheus已经接入相关监控,则会自动展示出对应数据这时我们更换一个模版id,再尝试看下效果,同样点击Import
选择dashboard新增
选择数据源与图形
container_cpu_user_seconds_total
可以看到如下参数rate(container_cpu_user_seconds_total{image!=""}[5m]) * 100
?
本文只描述了Prometheus与Grafana对接的一些入门使用,Grafana更多的使用方法还有待探索,比如Grafana的邮件告警功能
目前Grafana的官方模版已经很丰富,已经涵盖常用的大多数场景。