Grafana是一个开源的度量分析与可视化套件。经常被用作基础设施的时间序列数据和应用程序分析的可视化,它在其他领域也被广泛的使用包括工业传感器、家庭自动化、天气和过程控制等。
安装部署
Deployment
1 | kind: Deployment |
这里设置了环境变量GF_SECURITY_ADMIN_USER
和GF_SECURITY_ADMIN_PASSWORD
,用来配置 grafana 的管理员用户和密码的。由于 grafana 将 dashboard、插件这些数据保存在/var/lib/grafana
这个目录下面的,所以我们这里如果需要做数据持久化的话,就需要针对这个目录进行 volume 挂载声明。
Service
1 | apiVersion: v1 |
Ingress
1 | apiVersion: extensions/v1beta1 |
创建 Deployment
和 Service
之后,即可在浏览器访问 Grafana 对应的服务。
数据源
Grafana默认支持的数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch。Grafana支持同时绑定多套数据源,根据自己需求管理即可,下面以 Prometheus 数据源为基准作为示例。
这里需要配置的主要参数如下:
配置项 | 配置解释 |
---|---|
Name | 数据源名称,建议以数据源类型+用途命名 |
Type | 数据源类型,选择对应的InfluxDB、Prometheus等即可 |
URL | 填写Prometheus对应的API地址即可,如果Grafana跟Prometheus在同一个Namespace,可以直接ServiceName:http://prometheus:9090 |
Access | API访问方式,一共有 Server 和 Browser 两个选项,建议选择 Server |
Access-Browser | 浏览器直连数据源API,然后由Grafana解析返回的数据 |
Access-Server | Grafana后端通过API访问数据源,然后返回给浏览器展示 |
数据源添加/更新成功后会有如下提示:
Dashboard
仪表盘(Dashboard),顾名思义,就是管理各种图表的地方,主要由行(Row)+图表面板(Panel)组成。你可以根据自己的需求手动新建一个Dashboard,也可以从 Grafana 的官方网站导入。
导入 Dashboard
这里从选择倒入Node Exporter for Prometheus Dashboard CN:
导入之后,显示统计数据如下所示:
添加 Dashboard
我们也可以完全手动创建 Dashboard,添加面板(Panel)
Panel主要支持:Graph,Singlestat,Dashlist,Table和Text。这里我们以曲线图(Graph)为例