我稍微查了一下Kubernetes的监控工具
首先
初次见面。我是3-shake Sreake事业部的Tsuchida。
我负责Advent Calendar的第23天。
请注意,本文将不会涉及安装方法和详细的自定义设置等内容,请提前知晓。
经过
由于我在日常工作中遇到一些不明白的问题并进行了一些调查,在公司内部的知识库中进行了记录,但是我并没有打算公开分享。不过,我想利用这个机会来发布一下。
这次我想总结一下我最近调查的Kubernetes监控问题。
监视 shì)
引入监视有两种方式,一种是pull方式,另一种是push方式。下面列举的工具只是一些最近看到的,可能还有其他工具未提及。
pull型
Prometheus
Sysdig
push型
Datadog
Mackerel
Sysdig
本次我们选择了Prometheus,所以接下来会谈论使用kube-prometheus-stack来引入监控。
Kube-prometheus-stack是什么?
可以使用经过社区管理的Helm chart一起引入Prometheus监控设置和Grafana仪表板。
关于kube-prometheus-stack的组件
由于Prometheus是一种拉取式监控方式,因此它会定期从目标端收集指标数据。拉取式监控的优点是可以立即知道监控对象是否已经宕机。
以下是各个组件的角色描述,在构建时请谨记,这将在今后进行详细的定制或出现错误时有助于查看日志和故障排除。
The Prometheus Operator
kubernetesカスタムリソースを使用してPrometheus, Alertmanagerや関連コンポーネントのデプロイと管理をやってくれる
バージョン、永続性、リテーションポリシー、レプリカなのど設定をネイティブk8sリソースから行える
k8sラベルクエリに基づいて監視対象の設定を自動生成してくれる
Highly available Prometheus
2つ以上の別々のマシンで同一のprometheusサーバーを実行している
Highly available Alertmanager
Prometheusサーバーなどのクライアント・アプリケーションから送信されたアラート処理をしていて適切なレシーバーのためにアラートの重複排除、グループ化、ルーティングを実行している。またアラートの消音や抑制もやってくれる。
Prometheus node-exporter
マシン自体のモニタリングをしてくれる
Prometheus Adapter for Kubernetes Metrics APIs
k8sのリソースメトリクス、カスタムメトリクス、外部メトリクスAPIが入ってる
kube-state-metrics
deployment, node, podなどの状態をメトリクスで取得できる
Grafana
prometheusよりUI UXが優秀なダッシュボード
最后
由于我之前对Kubernetes的监控和Prometheus都不熟悉,刚开始使用时遇到了很多困难。但是,我发现kube-prometheus-stack是一个很方便的监控工具,只需要使用helm部署即可。如果将来有机会使用其他工具,我会再次整理总结。
我现在要说的话与此无关,但我偶尔也会在Datadog的内部博客上写一些东西,如果你能看看我会很高兴。
请提供更多背景信息。