Prometheus 可视化 grafana


原文链接: Prometheus 可视化 grafana

使用Prometheus和Grafana定制监控报表 - Jason_hu的个人空间 - 开源中国
Grafana 的一些使用技巧 - 掘金

Install

http://docs.grafana.org/installation/docker/

chown -R 472:472 /docker/grafana
docker run --restart=always -d --name=grafana -p 3000:3000 -v /docker/grafana:/var/lib/grafana
-e "GF_SECURITY_ADMIN_PASSWORD=secret"
-e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource"
grafana/grafana

默认账户:admin admin

添加 prometheus 数据源

然后在 Data Sources 选项中添加数据源
Name 写入 Prometheus
注意:首字母大写

3. 添加Dashborad

https://grafana.com/dashboards/7362 并选择数据源

当定义多实例的时候需要给每个target单独定义instance,否则无法正常工作

  - job_name: node
    static_configs:
      - targets: ['10.114.0.2:9100','10.114.0.3:9100','10.114.0.5:9100','10.114.0.6:9100','10.114.0.7:9100','10.114.0.10:9100','10.114.0.11:9100','10.114.0.12:9100','10.114.0.13:9100','10.114.0.14:9100','10.114.0.15:9100','10.114.0.16:9100','10.114.0.17:9100','10.114.0.18:9100','10.114.0.19:9100']
# 多实例需要注释掉下面的定义
#        labels:
#          instance: zybb

高级定制技巧

使用Prometheus和Grafana来定制监控报表,一些高级使用方案。

显示服务器启动时长

在export中,导出一个gauge项server_start_ms,该值是服务器启动的时间点(从1970年1月1日开始的秒数)
在Grafana中,定义一个SingleState
metrics公式如: time() - max(server_start_ms)
选定Instant为true,只取当前的数据项
设定Option中,State为:Current
设定Option中,Unit为:Seconds (s)

输出每分钟请求数量的曲线

网上的例子都是算出每秒请求量的曲线,当请求量很少的时候,该数据很小,很不好看,如果直接乘以60得到每分钟的曲线,误差会较大
可以利用increase函数,计算一段时间范围的差值,将该差值作为数据来显示
Metrics中,使用公式:sum(increase(http_rpc_total[1m])),同时将Min Step设置为1m,每1分钟显示一个点
以上公式解释如下:
1m,表示每个时间点,取前1分钟的数据作为采样
increase,表示1分钟内,增加的数据量,该量就是这1分钟内的变化数据量,会自动处理Target重置数据的问题
sum,将所有lable的数据,都累加上,作为一个总的时间序列 输入图片说明

定制曲线的颜色

缺省情况,第一条曲线是绿色的
可以在Display,Series Override中,强制指定某个序列的颜色 输入图片说明

`