在Kubernetes上安装Grafana以进行集群监控

时间:2020-02-23 14:31:42  来源:igfitidea点击:

Grafana是一个开源仪表板工具,可用于显示不同系统的指标。它可以与Prometheus,InfluxDB Stackdriver等各种数据源集成。

Grafana将时间序列数据用于基础架构和应用程序(例如磁盘I/O利用率,CPU和内存),这些数据首先被加载到Prometheus等分析工具中,然后进行分析。

这篇文章解释了如何使用Prometheus作为数据分析工具在Kubernetes上设置Grafana仪表板。

以下步骤将指导我们如何在现有Kubernetes集群上配置可用的Grafana实例。

安装好Kubernetes集群并使其正常运行后,请继续执行以下配置步骤。

1:在Kubernetes中部署Grafana服务

为部署创建新项目:

$kubectl create namespace monitoring
namespace/monitoring created

将Grafana服务部署到我们刚刚创建的名称空间中。

$kubectl create deployment grafana -n monitoring --image=docker.io/grafana/grafana:latest
deployment.apps/grafana created

这会在集群上部署Grafana并启动它。几秒钟后,我们可以使用以下方法检查镜像是否已部署:

$kubectl get deployments -n monitoring

输出将类似于以下内容:

$kubectl get deployments -n monitoring
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
grafana   1/1     1            1           21s

2.使用NodePort公开Grafana服务

我们必须通过NodePort公开grafana服务,因为当前只能使用ClusterIP进行访问。
通过以下命令使用NodePort服务公开grafana部署:

$kubectl -n monitoring expose deployment grafana --type="NodePort" --port 3000
service/grafana exposed

这将创建服务并公开端口3000(默认的grafana端口)。

使用以下命令检查服务是否已公开:

$kubectl get service -n monitoring
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
grafana      NodePort    10.96.174.231   <none>        3000:32150/TCP   9s

我们使用describe service命令来查找哪个端口已经对外公开。

theitroad@localhost:~# kubectl describe service grafana
Name:                     grafana
Namespace:                default
Labels:                   app=grafana
Annotations:              <none>
Selector:                 app=grafana
Type:                     NodePort
IP:                       10.152.183.50
Port:                     <unset>  3000/TCP
TargetPort:               3000/TCP
NodePort:                 <unset>  32150/TCP
Endpoints:                10.1.196.7:3000
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

Grafana现在暴露于端口32150,并且可以通过该端口从外部进行访问。

3.访问Grafana Web仪表板

我们现在可以使用http://<master_IP>:NodePort在浏览器中打开Grafana仪表板,例如:

http://172.21.200.11:32150

这将打开一个Grafana登录页面。 Grafana的默认用户名和密码为admin/admin。

首次登录时,系统会要求我们更改密码。

我们需要测试Grafana实例,以了解它是否按预期工作。最简单的测试方法是使用TestData DB方法,该方法提供可视化数据的示例。

单击"创建第一个数据源"选项卡,然后选择" TestData DB"。单击保存并进行测试,如下所示。

单击创建新的仪表板以创建仪表板。

要查看具有可视化数据的面板,请单击热图或者图形

有许多用于各种数据源的预构建Grafana模板。这些模板可用于创建用户友好的仪表板,这些仪表板具有适合我们环境的预构建功能。

我们可以从此处签出模板。