Edit This Page

监控

本文将介绍如何将不同的日志解决方案连到已经用 Juju 部署好的 Kubernetes 集群上。

准备开始

本文假设你有一个用 Juju 部署好了的 Kubernetes 集群。

连接 Datadog

Datadog 是一个 SaaS 方案,包含了对很多不同类型的应用集成的支持,例如,Kubernetes 和 etcd。 在提供商业版本的同时,也支持通过如下方式免费使用。 部署一个带有现成的 Databox 的 Kubernetes 集群:

juju deploy canonical-kubernetes-datadog

安装 Datadog

首先, 从 Juju 的 Charm Store 下载部署最新版本的 Datadog :

juju deploy datadog

使用在 [Datadog dashboard]() 上的 api-key 来配置 Datadog。 将 XXXX 配置为你的 API 密钥。

juju configure datadog api-key=XXXX

最后, 将 datadog 绑定到需要监控的所有应用上。例如:kubernetes-master, kubernetes-worker, and etcd:

juju add-relation datadog kubernetes-worker
juju add-relation datadog kubernetes-master
juju add-relation datadog etcd

连接 Elastic 栈

Elastic 栈,正规地说是 “ELK” 栈, 指的是 ElasticSearch 和日志收集,监控,dashboard 的套件. 部署带有现成的 elastic 栈的 Kubernetes 集群命令如下:

juju deploy canonical-kubernetes-elastic

初装 ElasticSearch

首先, 从 Juju 的 Charm store 下载、部署最新版本的 ElasticSearch, Kibana, Filebeat 和 Topbeat:

命令行如下:

juju deploy beats-core

此外,如果你要定制部署,或手工安装,可使用以下命令:

juju deploy elasticsearch
juju deploy kibana
juju deploy filebeat
juju deploy topbeat

juju add-relation elasticsearch kibana
juju add-relation elasticsearch topbeat
juju add-relation elasticsearch filebeat

最后将 filebeat 和 topbeat 连接到所要监控的应用上。 例如:kubernetes-master 和 kubernetes-worker:

juju add-relation kubernetes-master topbeat
juju add-relation kubernetes-master filebeat
juju add-relation kubernetes-worker topbeat
juju add-relation kubernetes-worker filebeat

已装 ElasticSearch 集群

如果已有一个 ElasticSearch 集群已经存在的情况下, 你可以使用下面的方式来连接和使用它而不是重新创建一个单独的新集群。 首先部署 filebeat 和 topbeat 两个组件:

juju deploy filebeat
juju deploy topbeat

按照如下方式可配置 filebeat 和 topbeat 对接 ElasticSearch 集群, 将 255.255.255.255 替换成自己配置的IP。

juju configure filebeat elasticsearch=255.255.255.255
juju configure topbeat elasticsearch=255.255.255.255

使用上面的命令,将 topbeat 和 filebeat 连接到需要监控的应用上。

连接 Nagios

Nagios 在每个节点上,使用 Nagions 远程执行插件协议 (NRPE 协议)作为代理 来收集节点里和健康、应用相关的详细信息。

初装 Nagios

首先, 从 Juju 的 Charm store 部署最新版本的 Nagois 和 NRPE:

juju deploy nagios
juju deploy nrpe

将 Nagois 连接到 NRPE 上

juju add-relation nagios nrpe

最后,将 NRPE 添加到所有需要部署的应用, 例如,kubernetes-master, kubernetes-worker, etcd, easyrsa, 和 kubeapi-load-balancer

juju add-relation nrpe kubernetes-master
juju add-relation nrpe kubernetes-worker
juju add-relation nrpe etcd
juju add-relation nrpe easyrsa
juju add-relation nrpe kubeapi-load-balancer

已装 Nagios

如果已经装有 Nagios,可以换用 nrpe-external-master charm 。 这样可以提供配置选项将现有的、外部 Nagios 安装映射到 NRPE上。 将 255.255.255.255 替换为 nagois 实例的 IP 地址。

juju deploy nrpe-external-master
juju configure nrpe-external-master nagios_master=255.255.255.255

配置完后,如上所示,连到 nrpe-external-master。

反馈