监控docker容器的日志信息的免费工具:
第一:Dozzle
Dozzle 是一个开源的日志查看器,用于监视和查看 Docker 容器的实时日志。它提供一个简单而直观的 Web 界面,让用户可以方便地查看运行中的 Docker 容器的日志。它具有轻量级和快速的特点,并且不需要对 Docker 容器进行任何配置或修改。
特点:内存小,但它不存储和处理日志,仅提供实时查看功能;
第二:组合1
CAdvisor+InfluxDB+Granfana这是三款对于docker的监控工具
CAdvisor是一个容器资源监控工具,包括容器的内存,CPU,网络IO,磁盘Io等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据,而且只是针对单物理机。不过,CAdvisor提供了很多数据集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。 CAdvisor功能:
-
展示*Host和容器两个层次的监控数据
-
展示历史变化数据。
InfluxDB
lnfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。CAdvisor默认只在本机保存最近2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor的数据。而且,CAdvisor本身已经提供了InfluxDB的集成方法,启动容器时指定配置即可。 主要功能: 基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等);。可度量性:你可以实时对大量数据进行计算; 基于事件:它支持任意的事件数据; 3、Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括 InfluxDB,MySQL,Elasticsearch,OpenTSDB,Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。Grafan主要特性:
-
灵活丰富的图形化选项
-
可以混合多种风格
第三:Portainer
Portainer是一个轻量级的Docker管理界面,提供了直观的Web界面来管理和监控Docker容器。它支持容器的创建、启动、停止、删除等操作,并提供了实时的容器状态和资源使用情况的监控。
Portainer 是轻量级图形化管理工具,通过 Portainer 可以管理不同的 Docker 环境。Portainer 部署和使用非常简单,它提供一个可以运行在任何 docker 引擎上的容器组成。Portainer 提供管理 docker 的 container、images、volumes、networks等。Portainer 兼容独立的 docker 环境和 swarm 集群模式。基本满足中小型单位对 docker 容器的管理工作。
第四:组合2
Cadvisor是Google开源的容器监控工具,用于监控运行中的容器(Docker)的性能和资源使用情况,它提供了实时的容器性能数据,包括CPU使用率,内存占用,网络流量等。通过分析这些数据,可以了解到容器的健康情况和资源使用率。
Prometheus是一款开源的系统和服务监控工具。它支持多维度数据收集,可以实时采集,存储和查询各种度量数据,如CPU使用率,内存消耗等。Prometheus使用自身的查询语句PromQL来进行数据查询和聚合,并提供了强大的报警系统,可以在达到预设条件时触发警报。
普罗米修斯的主要特点是:
-
具有由指标名称和键/值对标识的时间序列数据的多维数据模型
-
PromQL,一种灵活的查询语言,可利用此维度
-
不依赖分布式存储;单服务器节点是自治的
-
时序收集通过 HTTP 上的拉取模型进行
-
通过中间网关支持推送时间序列
-
通过服务发现或静态配置发现目标
-
多种图形和仪表板支持模式
Grafana是一个流行的开源数据可视化和监控平台,用于创建仪表盘和图表,以多种模板展示来自各种数据源的数据。它与多个监控工具集成,包括Prometheus。
第五:组合3——ELK
1、Elasticsearch Elasticsearch是一个高度可扩展的全文搜索和分析引擎,基于Apache Lucence(事实上,Lucence也是百度所采用的搜索引擎)构建,能够对大容量的数据进行接近实时的存储、搜索和分析操作。 2、Logstash Logstash是一个数据收集引擎,它可以动态的从各种数据源搜集数据,并对数据进行过滤、分析和统一格式等操作,并将输出结果存储到指定位置上。Logstash支持普通的日志文件和自定义Json格式的日志解析。 3、Kibana Kibana是一个数据分析和可视化平台,通常与Elasticsearch配合使用,用于对其中的数据进行搜索、分析,并且以统计图标的形式展示。
ELK架构优点如下: 1、处理方式灵活。 Elasticsearch是全文索引,具有强大的搜索能力。 2、配置相对简单。 Kibana的配置非常简单,Elasticsearch则全部使用Json接口,配置也不复杂,Logstash的配置使用模块的方式,配置也相对简单。 3、检索性能高。 ELK架构通常可以达到百亿级数据的查询秒级响应。 4、集群线性扩展。 Elasticsearch本身没有单点的概念,自动默认集群模式,Elasticsearch和Logstash都可以灵活扩展。 5、页面美观。 Kibana的前端设计美观,且操作简单。
第六:weave-scope
Weave scope :获知集群的实时状态,并为故障排查提供及时和准确的数据支持。是一款 Docker 和 Kubernetes 可视化监控工具。提供了至上而下的集群基础设施和应用的完整视图,用户可以对分布式的容器应用进行实时监控和问题诊断,以确保容器应用程序的稳定性和性能。
部署模式 DaemonSet模式:
weave-scope-agent,集群每个节点上都会运行的 scope agent 程序,负责收集数据。
Deployment模式:
-
weave-scope-app,scope 应用,从 agent 获取数据,通过 Web UI 展示并与用户交互。
-
weave-scope-app,默认是 ClusterIP 类型,为了方便已通过 kubectl edit 修改为 NodePort