Datadog
Datadog公司是一家初创企业,其主营业务是帮助其他公司管理和监测云端应用。Datadog能够帮助开发和运营团队监测其应用在云端工作时的各项数据指标,并提供功能丰富的控制平台,支持多种主流云服务,从而实现云服务的一站式管理。从2010年成立至今,Datadog已经支持包括亚马逊AWS、微软Azure、Google云平台等主流云服务提供商。Docker作为当下火热的新型平台,Datadog也迅速做出支持,实现了对Docker的监控集成。
Datadog利用Docker所使用的内核结构cgroups获取Docker的性能指标,包括CPU、内存、网络和I/O数据。Datadog可以监测和查看所有Docker可用的细化性能指标,具体可以查看Docker官网中的Docker’s Runtime Metrics guide。
Datadog利用Docker自身的属性转化成分类标签,以实现对容器监控的聚合整理。通过标签的设定,可以实现复杂的条件筛选,按用户需求来创建容器的监控视图。此外,Datadog还支持警报功能,可以在发生异常时第一时间向用户发送提醒。同样地,警报的设定可以结合标签来使用,便捷地设定多重警报。Datadog还支持对于容器的生命周期监控,实现了容器整个生命周期中创建、启动、停止和删除事件的可视化管理。
SoundCloud的Prometheus
SoundCloud公司的Prometheus是一个开源服务监控系统和时间序列数据库。它可以从配置好的监控对象处按照指定的时间间隔来收集信息指标,进行可视化展示和高效的数据存储,并提供警报功能。Prometheus的优势在于使用高维度的数据模型,以指标名和键值对来定义时间序列。同时,它支持灵活的查询语言,可以对收集的多维度时间序列数据进行处理、绘制图表和设定警报。得益于多维度数据模型基础,Prometheus可以方便地利用查询语言来进行数据的过滤和聚合。在使用Prometheus时,一般结合container-exporter使用,它可以收集以libcontainer为执行驱动的容器的各类性能指标,并将数据提供给Prometheus使用,。在Prometheus的配置中添加container-exporter后,即可定期轮询获取性能数据。