可靠的采集神器(两个和Logsene的监控与日志工具对比(一)(组图))

优采云 发布时间: 2022-03-13 07:00

  可靠的采集神器(两个和Logsene的监控与日志工具对比(一)(组图))

  Rancher 社区维护的应用商店最近迎来了两个明星项目——SPM 和来自 Sematext 的监控和日志工具 Logsene。如果您已经熟悉 Logstash、Kibana、Prometheus、Grafana 等监控或日志解决方案,那么请仔细阅读本文,它将向您展示 SPM 和 Logsene 为 Rancher 用户带来的功能,以及其他解决方案有哪些不同之处。

  联系 Sematext Docker 代理

  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。不幸的是,这些工具都不够全面。一种解决方案是集成一系列工具来实现目标,但这样做的结果是使系统朝着“Franken-monitoring(指技术的大杂烩,每个组件都没有按承诺发挥作用)”的方向发展,并且用户因此将背负沉重的技术债务,没有人愿意解决如此复杂的故障。所以另一种解决方案是像 Sematext Docker Agent 这样的工具,它只是结合了 cAdvisor 和 Logspout,其功能特别侧重于日志管理,例如格式检查、日志解析、数据改进(Geo-IP 地址地理位置信息)、元数据标签等)和日志路由。

  通过 Rancher Catalog 配置 Sematext Docker 代理

  要在 Rancher 平台上设置 Sematext Docker 代理,您只需选择适当的目录模板(在 Rancher 社区目录条目下查找“Sematext”)。让我们快速了解一下 Sematex 提供哪些功能?如何在 Rancher 平台上进行设置?

  Docker Compose 和 Kubernetes 自动日志标签

  所有日志都标有元数据,其中包括对 Docker/Rancher Compose 项目和 Kubernetes 的支持:

  对于 Docker 容器

  为 Docker/Rancher 编写

  对于 Kubernetes

  请注意,Kubernetes 容器的日志与其他 Docker 容器的日志没有太大区别,但是 Kubernetes 用户需要访问已部署 pod 的日志,因此抓取 Kubernetes 特定信息以进行日志搜索非常有用,例如:

  提示:要启用 Kubernetes 标签,请设置 Kubernetes=1

  日志路由

  对于较大的部署,您可能需要为不同的租户或应用程序的日志建立索引,并输出到不同的路径或 Logsene 应用程序进行处理(这样您也可以区分不同用户对不同日志的访问权限)。我们让这变得非常简单:只需将 Docker 标记添加到您的容器,或设置 LOGSENE_TOKEN 环境变量(LOGSENE_TOKEN=您的应用程序令牌),Sematext Docker 代理就会将日志发送到正确的索引条目!这样,您根本不需要中央配置文件来映射容器和索引项目/令牌,因此日志路由变得非常灵活、动态和弹性。

  集成日志解析器

  日志处理基于 Docker API 和一个名为 logagent-js 的库,该库由 Sematext 开源。该分析框架包括用于日志格式检测和分析标准正式 Docker 容器使用的不同日志格式的模式:

  提示:如果您想创建自定义模式,请将它们添加到 Rancher 目录模板中名为 LOGAGENT_PATTERNS 的字段中。

  自动容器日志记录 Geo-IP 增强功能

  从 Docker 容器外部获取 采集 发送和分析日志节省了大量时间,但一些应用程序日志需要其他数据源的额外增强。一种常见的情况是增强Web Server的日志信息(或任何收录IP地址信息的日志),并为日志中的IP地址提供其地理位置信息。

  Sematext Docker Agent 支持 docker 日志的 Geo-IP 丰富。它使用 Maxmind Geo-IP 轻量级数据库,为您提供定期更新的信息,而无需停止容器或为其挂载收录 Geo-IP 数据库的新卷或任何其他手动操作。

  提示:要启用 Geo-IP 增强功能,请设置环境变量 GEOIP_ENABLED=true。

  过滤容器日志

  在某些情况下,我们只需要采集重要的应用程序日志,而忽略那些优先级较低或噪音较大的服务日志(例如那些经常被清理的)。这样,我们可以使用白名单或黑名单(容器名称或镜像名称)来处理这些容器,其设置使用正则表达式匹配对应的元数据字段。

  白名单容器

  MATCH_BY_NAME

  将容器名称列入白名单的正则表达式

  MATCH_BY_IMAGE

  正则表达式将图像名称列入白名单

  黑名单容器

  SKIP_BY_NAME

  正则表达式将容器名称列入黑名单并忽略日志中的容器

  SKIP_BY_IMAGE

  正则表达式将图片名称列入黑名单,忽略日志中的图片

  如何使用 Sematext 目录项

  在 Rancher 的 UI 中,进入社区的 Catalog 项目列表并搜索关键字“sematext”、“monitoring”或“logs”。

  

  点击“查看详情”,在“配置选项”选项中输入SPM和Logsene App的token。您可以从这里注册并创建您的 SPM 和 Logsene 应用程序,然后您可以获得这些访问令牌(令牌)。如果您的 Rancher 集群在防火墙(代理)后面运行,您需要在 HTTPS_PROXY 或 HTTP_PROXY 环境变量中填写代理 URL。如果您还在此集群中运行 Kubernetes,请选择 KUBERNETES=1。

  如果要采集所有日志,容器或镜像名称不要填写任何过滤值,只需点击“启动”即可。

  

  

  

  总结

  我们希望这篇对 Rancher 平台中 Sematext Docker 代理的介绍可以帮助您开始使用 Docker 监控和日志记录,而无需大杂烩模式。项目的完整配置参数可从 Github 获取,以供参考。我们相信新的目录模板已经涵盖了最常见的选项。如果您发现缺少一些重要的项目,请将它们提交到 Rancher 社区目录(提交问题或拉取请求)。尝试使用 Rancher 的 Sematext Docker Agent,所有服务将被轻松接管,您将高枕无忧。Rancher 社区目录让日志监控系统在瞬间启动和运行变得非常容易。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线