两个和Logsene的监控与日志工具对比(组图)
优采云 发布时间: 2021-08-25 05:11两个和Logsene的监控与日志工具对比(组图)
由 Rancher 社区维护的应用商店最近迎来了两个明星项目——SPM 和 Logsene,来自 Sematext 的监控和日志工具。如果您已经熟悉 Logstash、Kibana、Prometheus、Grafana 等监控或日志解决方案,请仔细阅读本文,它将为您展示 SPM 和 Logsene 为 Rancher 用户带来的功能,以及其他解决方案。区别。
联系Sematext Docker Agent Sematext Docker Agent 是一个Docker 原生监控和日志采集代理(Agent) 程序。它在每个 Docker 主机上运行一个非常小的容器,为所有集群节点和这些节点上的容器提供采集 日志、系统指标和事件。 Agent 代理监控 Rancher 管理的所有节点。部署 Sematext Docker Agent 后,所有日志、Docker 事件和各种指标都可以被外部访问。
这会变得很有价值,为什么?因为这意味着您不再需要花费数小时甚至数天的时间来弄清楚您需要采集 哪些数据或如何绘制它们。此外,您无需花费资源来维护自己的日志监控系统。你的Docker系统指标和事件会输出到SPM,日志会输出到Logsene(SPM是一个支持多平台的应用性能监控服务。集成,其中当然也包括Docker,而Logsene是一个日志管理服务,一个Rancher 托管的 ELK 应用程序堆栈,可与 Kibana 和 Grafana 配合使用)
DevOps 工具对比 Docker 日志和指标处理的开源工具有一些供我们选择,比如 cAdvisor 和 Logspout。不幸的是,这些工具都没有足够的综合能力。一种解决方案是集成一系列工具来实现目标,但这样做的后果是将系统带到“弗兰肯监控”的方向(指技术大杂烩,各个组件无法按照承诺的功能正常运行) ”,而用户将因此背负沉重的技术债务,没有人愿意解决如此复杂的故障。
因此,另一种解决方案,如 Sematext Docker Agent,是将 cAdvisor 和 Logspout 结合起来。其功能尤其侧重于日志管理,例如格式检查、日志语法分析和数据改进(Geo-IP 地址)。地理位置信息、元数据标签等)和日志路由。
通过 Rancher Catalog 配置 Sematext Docker 代理。要在 Rancher 平台上设置 Sematext Docker Agent,您只需要选择合适的目录模板(在 Rancher 的社区目录条目下查找“Sematext”)。让我们快速了解一下 Sematex 提供了哪些功能? Rancher平台如何设置?
Docker Compose 和 Kubernetes 自动日志标签
所有日志都标有元数据,其中包括对 Docker/Rancher Compose 项目和 Kubernetes 的支持:
对于 Docker 容器
对于 Docker/Rancher Compose
对于 Kubernetes
请注意,Kubernetes 容器的日志与其他 Docker 容器的日志没有太大区别。但是,Kubernetes 用户需要访问已部署 Pod 的日志。因此,获取 Kubernetes 特定的信息进行日志搜索变得非常重要。有用,例如:
提示:如果您需要启用 Kubernetes 标签,请设置 Kubernetes=1 日志路由。对于较大的部署,您可能需要为不同的租户或应用程序建立日志索引,并将它们输出到不同的路径或 Logsene 应用程序处理(这样您也可以区分不同用户对不同日志的访问权限)。
我们让这变得非常简单:只需在您的容器中添加一个 Docker 标签,或者设置 LOGSENE_TOKEN 环境变量(LOGSENE_TOKEN=您的应用程序令牌),这样 Sematext Docker 代理就会将日志发送到正确的索引条目!这样,您就不需要中央配置文件来映射容器和索引条目/令牌,因此日志路由变得非常灵活、动态和弹性。
集成的日志解析器日志处理基于Docker API和一个名为logagent-js的库,由Sematext开源。本分析框架收录对Docker官方容器使用的不同日志格式模式的日志格式检测和分析:
提示:如果您想创建自定义模式,请将它们添加到 Rancher Catalog 模板中名为 LOGAGENT_PATTERNS 的字段中。自动容器日志Geo-IP增强项是从Docker容器外部获取到采集已经发货分析的日志,节省了很多时间,但是有些应用日志需要从其他数据源获取额外的增强信息一个常见的情况是增强Web Server的日志信息(或任何收录IP地址信息的日志),以提供日志中IP地址的地理位置信息。
Sematext Docker 代理支持 Docker 日志的 Geo-IP 丰富。它使用 Maxmind Geo-IP 轻量级数据库,可以定期为您提供更新的信息,而无需停止容器或安装收录 Geo-IP 数据库的新卷,或任何其他手动操作。
提示:如果您需要启用 Geo-IP 增强功能,请设置环境变量 GEOIP_ENABLED=true。过滤容器日志在一些场景中,我们只需要采集重要的应用日志,忽略低优先级或嘈杂的服务日志(比如那些频繁的清理任务)。这样,我们就可以使用白名单或黑名单(用于容器名称或图像名称)来处理这些容器,其设置使用正则表达式匹配相应的元数据字段。
如何使用Sematext目录项在Rancher UI中,进入社区的目录项列表,搜索关键字“sematext”、“监控”或“日志”。
点击“查看详情”,在“配置选项”选项中输入SPM和Logsene App的token。您可以从这里注册并创建您的 SPM 和 Logsene 应用程序,然后您就可以获得这些访问令牌(tokens)。如果您的 Rancher 集群运行在防火墙(代理)之后,则需要在 HTTPS_PROXY 或 HTTP_PROXY 环境变量中填写代理 URL。如果您也在此集群中运行 Kubernetes,请选择 KUBERNETES=1。
如果你想采集所有的日志,不要填写容器或镜像名称的任何过滤值,只需点击“启动”即可。
总结 我们希望这篇对 Rancher 平台中 Sematext Docker Agent 的介绍可以帮助您在不使用大杂烩的繁琐模式的情况下开始对 Docker 进行监控和日志处理。本项目完整的配置参数可参考参考。我们相信新的目录模板可以涵盖最常用的选项。如果您发现缺少一些重要项目,请将它们提交到 Rancher 社区目录(提交问题或拉取请求)。使用 Rancher 试用 Sematext Docker Agent,所有服务将轻松接管,您将高枕无忧。 Rancher Community Catalog 可以让日志监控系统立即设置和运行,一切都变得如此简单。