Prometheus成主要云计算应用监控工具

安全厂商Sysdig发布第4份年度容器使用报告,该报告分析全球各种规模的企业用户,其使用以及保护容器环境的情况。这份报告共分析了将近200万个容器,并且集成来自CNCF、Docker Hub以及GitHub等公开资料。

Sysdig提到,比起前一次调查,在构建过程就扫描容器镜像文件的用户增加,表示企业逐渐创建提早测试的观念,而在Runtime的使用上,Docker占比大幅下降,而Containerd以及CRI-O增长率均达到200%。

DevOps团队开始在开发周期早期注意容器安全性,有74%的Sysdig用户,会在构建容器镜像文件的过程进行扫描,官方提到,这个步骤让容器在真正进入生产之前,就发现有问题的镜像文件。不过,企业虽然普遍知道该扫描镜像文件漏洞,却较少扫描常见的配置错误,有高达58%的容器都是以root身份运行,使得恶意攻击者得以取得高权限破坏容器,更严重的是,Sysdig发现,即便在执行时系统侦测到有风险的配置,为了部署方便,用户也不会停下容器。

Sysdig点出容器在安全监控上的挑战,由于容器的平均寿命逐年下降,大部分容器的寿命都在1周以下,49%的容器寿命少于5分钟,甚至有高达21%的容器,存活时间不到10秒钟,而这对安全审核带来很大的挑战,许多监控工具并没有办法在这么短的时间进行采样,提供容器使用的详细信息。

在Runtime的选择上,过去一年有不小的变化,Docker从2019年的79%下降至50%,而由Docker发布的开源Containerd,则从原本的18%增长到了33%,在2019年发布的CRI-O,则从原本的4%增加至17%,官方提到,由于采用开放标准,因此用户对选择Runtime,比较不会有选错或是遭锁定的忧虑,而且各种平台包括OpenShift、GKE和IKS,也都同时支持多种Runtime,友善的设计让用户不需要特别在开发周期中,决定要使用哪一个容器。

在综合计算私人与公共存储库,Docker注册表目前仍是最多人使用的服务,Sysdig中目前有36%的用户使用,而由Google云计算提供的注册表服务也颇受Sysdig用户欢迎,尤其是在公共云计算存储库,总共有26%用户使用,Quay则是注册表黑马,用户使用比例从上一次调查的14%,增长到今年24%。

Sysdig也提到,开源Kubernetes威胁侦测引擎Falco,采用率逐年增加,企业的开发团队开始设置政策,来侦测异常行为,并在执行时触发安全警示,让开发人员更易于解决未被记录的问题。Falco的采用增长率,从前一年的252%增加到300%,在Docker Hub上已经有超过2,000万次拉取。

企业爱用的云计算监控平台,非Prometheus莫属,用户使用比例从2018年的20%,一路增长到今年62%,而其他两个主要解决方案,包括StatsD和JMX,用户的使用比例皆为20%,JMX用户消退最多,在2018年甚至还有55%。

究竟企业都用容器来执行哪些应用?第一名跟前一次调查相同仍是Nginx,有66%的用户使用容器来执行此网页服务器,令人惊讶的是Go语言,不只在去年,有14%的用户使用容器执行Go超越Java的比例,在今年大幅增长到66%,其他前十名应用还包括PostgreSQL、Redis、JMX、Node.js、MongoDB、Elastic以及Apache网页服务器。

Sysdig根据分析用户使用容器的方式,给出几项建议,考量执行时可能遭遇的风险,企业应该在DevOps中集成安全性,且因为容器寿命越来越短,企业要以即时监控工具,来详细记录审核与取证资料,而有鉴于Prometheus已经成为云计算原生应用程序指标标准,企业必须能够稳定地大规模部署Prometheus。