博客/工程

使用Tanka和Prometheus-Ksonnet库简化了监视设置

2020年2月10日3分钟

正如在以前的文章,我们在Gbob电竞频道rafana实验室大量使用短歌以及Jsonnet编程语言来管理我们的Kubernetes基础设施。

使用Jsonnet的好处之一是它允许与公司以外的其他人进行深度协作。

例如,开源prometheus-ksonnet图书馆可以用来安装两者吗普罗米修斯和Grafana。在此过程中,它还安装kubernetes-mixin库,它添加了一组最佳实践仪表板和警报,用于监控Kubernetes资源。它还可以很容易地添加特定于应用程序的Prometheus配置和Grafana仪表板。

要了解如何使用它以编程方式创建仪表板,请参见这个例子

在这篇文章中,我们将解释获得所需的步骤prometheus-ksonnet工作。

开始前注意事项

我们首先假设你有一个正在运行的Kubernetes集群kubectl并且它与您的集群正确连接并进行了身份验证。下面您需要提供一个kubecconfig上下文的名称,您可以在其中安装资源。

如果没有可用的集群,可以尝试一下k3d,它在Docker中运行一个完整(但被削减)的Kubernetes集群。一次k3d安装后,使用此命令启动集群:

k3d create——name tanka-demo export KUBECONFIG="$(k3d get-kubeconfig——name tanka-demo)"

之后,使用tanka-demo作为您的kubecconfig上下文在以下步骤。

一步一步的指示

首先,下载并安装短歌.Tanka允许我们与Kubernetes互动。

然后下载并安装Jsonnet打包机.这允许我们下载通过Git/GitHub共享的jsonnet“包”。

安装prometheus-ksonnet,使用这些命令,替换< my-kubernetes-context >用你上面选择的:

Mkdir tanka CD tanka tk init tk env set environments/default——server-from-context  jb install https://github.com/grafana/jsonnet-libs/prometheus-ksonnet

接下来,编辑该文件环境/违约/ main.jsonnet用下面的内容替换原来的内容:

Local Prometheus = import ' Prometheus -ksonnet/ Prometheus -ksonnet.libsonnet';Prometheus {_config+:: {namespace: "default", cluster_name: "grafana",},}

然后,运行:

Tk应用环境/默认

观察你的Grafana/Prometheus/ nodeexport /Dashboards到达你的集群(例如通过使用库贝特尔去拿吊舱).

一旦pod开始运行,你就可以使用下面的命令访问这些服务:

Kubectl port-forward deploy/nginx 8080:80

然后参观http://localhost:8080.您将看到一个简单的页面,其中提供了本地Grafana和本地Prometheus实例的链接。

更多信息

为了演示Grafana和它创建的仪表板,观看本次网络研讨会由Grafana实验室和bob电竞频道Oracle联合主办。

试一试,让我们知道你的想法。请继续关注关于如何使用此安装将指标推送到Grafana Cloud的后续博客文章。