今天继续给大家介绍Linux运维相关知识,本文主要内容是Prometheus部署Grafana。
一、Grafana简介
Grafana是一款数据可视化的软件,支持ELK、zabbix、MySQL、Prometheus等多种数据源,并带有多样化的模板可供选择。
今天,我们在Kubernetes集群上,部署实现Grafana,对Prometheus的数据进行可视化展示。
二、Grafana部署
Grafana的资源配置清单如下所示:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: grafana-core
namespace: kube-system
labels:
app: grafana
component: core
spec:
replicas: 1
template:
metadata:
labels:
app: grafana
component: core
spec:
containers:
- image: grafana/grafana:5.0.0
name: grafana-core
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 100m
memory: 100Mi
env:
- name: GF_AUTH_BASIC_ENABLED
value: "true"
- name: GF_AUTH_ANONYMOUS_ENABLED
value: "false"
readinessProbe:
httpGet:
path: /login
port: 3000
volumeMounts:
- name: grafana-persistent-storage
mountPath: /var
volumes:
- name: grafana-persistent-storage
emptyDir: {
}
---
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: kube-system
labels:
app: grafana
component: core
spec:
type: NodePort
ports:
ports:
- port: 3000
nodePort: 31000
selector:
app: grafana
我们复制并执行该清单,即可在kube-system的名称空间内启动一个grafana的Pod和Service,如下所示:
此时,我们可以访问浏览器的31000端口,如下所示:
我们输入用户名和密码(都是admin),即可登录进入,如下所示:
三、Grafana数据源添加
我们在安装好Grafana后,接下来需要配置Grafana的数据,点击上图中Add data source按钮,并选择Prometheus的数据源,会弹出如下页面:
其他配置不用改动,我们只需要将HTTP处的URL处改为如下内容:
http://prometheus.kube-system.svc.cluster.local:9090
之后,我们点击最下方的Svae&Test按钮,即可完成添加。
之后,我们点击如下所示的back按钮,即可回到主页面。
添加完成后的Prometheus数据源如下所示:
四、Grafana数据面板设置
在添加Grafana的数据源后,如果我们想更好的展示Prometheus的数据,那么我们就必须为Grafana添加数据面板。
在主页面上,我们点击New dashboard,如下所示:
之后,会弹出如下页面,此时,我们点击左上角的New dashboard。
在弹出的页面中,我们选择Find dashboards on Grafana.com,即表示到Grafana的官网中寻找Dashboard模板,如下所示:
我们点击该按钮后,就会进入Grafana官网页面,如下所示:
之后,我们可以直接搜寻我们想要的模板,如下所示:
我们找到想使用的模板后,点击该模板,进入如下页面:
我们点击右边的Copy ID to Clipboard,复制该模板的ID。之后,我们回到Prometheus的页面,点击Import Dashboard,如下所示:
之后,我们直接把复制的ID粘贴到如下所示的页面中。
完成后,我们鼠标点击一个空闲处,Grafana会自动下载并确认我们使用的模板,并跳转到如下页面:
之后,我们选择Prometheus,并点击Import,就可以成功添加模板了,如下所示:
模板添加完成后,我们就可以在首页查看数据了,如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200