使用 Graylog 和 Prometheus 监视 Kubernetes 集群(3)

juju relate filebeat:beats-host kubernetes-master:juju-info

juju relate filebeat:beats-host kubernetes-worker:jujuu-info

## relate prometheus applications

juju relate prometheus:grafana-source grafana:grafana-source

juju relate telegraf:prometheus-client prometheus:target

juju relate kubernetes-master:juju-info telegraf:juju-info

juju relate kubernetes-worker:juju-info telegraf:juju-info

这个时候,所有的应用程序已经可以相互之间进行通讯了,但是我们还需要多做一点配置(比如,配置 apache2 反向代理、告诉 prometheus 如何从 K8s 中取数、导入到 grafana 仪表板等等):

## configure graylog applications

juju config apache2 enable_modules="headers proxy_html proxy_http"

juju config apache2 vhost_http_template="$(base64 <vhost-tmpl>)"

juju config elasticsearch firewall_enabled="false"

juju config filebeat \

logpath="/var/log/*.log /var/log/containers/*.log"

juju config filebeat logstash_hosts="<graylog-ip>:5044"

juju config graylog elasticsearch_cluster_name="<es-cluster>"

## configure prometheus applications

juju config prometheus scrape-jobs="<scraper-yaml>"

juju run-action --wait grafana/0import-dashboard \

dashboard="$(base64 <dashboard-json>)"

以上的步骤需要根据你的部署来指定一些值。你可以用与 conjure-up 相同的方法得到这些:

最后,发布 apache2 和 grafana 应用程序,以便于可以通过它们的 web 界面访问:

## expose relevant endpoints

juju expose apache2

juju expose grafana

现在我们已经完成了所有的部署、配置、和发布工作,你可以使用与上面的浏览日志浏览指标部分相同的方法去查看它们。

总结

我的目标是向你展示如何去部署一个 Kubernetes 集群,很方便地去监视它的日志和指标。无论你是喜欢向导的方式还是命令行的方式,我希望你清楚地看到部署一个监视系统并不复杂。关键是要搞清楚所有部分是如何工作的,并将它们连接到一起工作,通过断开/修复/重复的方式,直到它们每一个都能正常工作。

这里有一些像 conjure-up 和 Juju 一样非常好的工具。充分发挥这个生态系统贡献者的专长让管理大型软件变得更容易。从一套可靠的应用程序开始,按需定制,然后投入到工作中!

大胆去尝试吧,然后告诉我你用的如何。你可以在 Freenode IRC 的 #conjure-up#juju 中找到像我这样的爱好者。感谢阅读!

关于作者

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6bee51d671c07be6b68e3eade581c43f.html