日志和监控是运维人员主要关心的功能。
1)日志:一种是PaaS平台节点的日志,一种是容器内部的日志,两种日志均可以采用ELK的形式进行抽取。市场主流PaaS产品一般提供两种形式:一种是平台内置日志管理系统,一般都是采用ELK建立的;一种是直接对接外部ELK系统,其实本质都一样,么有差别
2)监控:主要监控内容包含节点、容器和服务等相关信息,对于PaaS平台级的相关监控信息,一般是采用agent的形式去采集本容器、本节点或者本服务的相关信息,对于应用相关的技术信息,一般是采用应用自助研发的形式,因为和应用业务系统相关。
对于一个企业的成熟IT建设来讲,一般企业内部都有成熟的一套日志管理系统和监控系统,因此可以将PaaS平台作为一个特殊的应用系统,将其日志和监控对接到企业内部的日志管理和监控系统上面。
首先对监控进行分类,分为PaaS集群资源池的监控,应用的监控,事件的监控。
集群资源池监控:
一、 PaaS收集和存储集群资源监控数据,具体包括:
1、整个租户集群的容器宿主机数量和资源使用情况
2、租户集群中不同网络区域、等保区域、逻辑资源池、可用域等细分范围的容器宿主机数量和资源使用情况
3、集群总体资源数量、容器数量、容器在集群各容器宿主机节点的运行和分布情况
4、每个容器宿主机节点的资源使用情况、运行容器列表
5、以上数据保存在PaaS的集群资源使用情况数据库中
二、 PaaS提供接口,供外部系统实时调用,用途包括:
1、在集群监控面板中实时展现
2、作为集群自动化扩缩容的依据
3、外部系统可以根据需要决定是否将PaaS提供的集群资源使用数据同步到外部的数据库中
应用及容器的监控
一、 负责对应用运行时进行管理和跟踪,包括:
1、收集应用容器信息(容器IP、所在宿主机),存放于PaaS DB
2、收集应用运行情况(健康情况、资源占用),存放于PaaS DB
3、PaaS提供接口,外部系统的应用监控面板通过PaaS接口获取以上监控数据进行展现
事件监控
1、PaaS平台工作过程中的集群、资源、容器等系统状态,被收集写入平台的事件审计数据库
2、当激活事件告警功能后,要求事先设定告警规则, 之后PaaS会从事件审计数据库中读取信息,根据规 则过滤后,转换成syslog格式
3、通过Flume,配置的source读取syslog格式的告警信息
4、配置Flume agent sink,把syslog格式的告警信息通过PaaS的Kafka消息队列服务发送到外部
zabbix server,在事件监控面板展现
收起楼上各位已经描述很详细了,这里拿几个比较有代表性的案例,直接上架构图,一看就会明白。
案例一,Mirantis MCP StackLight架构
MCP StackLight 是 Mirantis 的日志(收集、分析、可视化)、监控(包括设备,服务,和租户资源等)和告警系统。
PaaS可以从系统、网络、服务、应用监控4个层面入手:
1,系统主要是底层的,磁盘、CPU、硬件或IaaS等基础资源
2,网络监控比较复杂,起码应该有连通性、流量、7层状态码等
3,服务主要是指PaaS上那些服务,比如数据库服务应该有数据库服务的监控,cache应该有cache服务的监控
4,应用的监控是最重要的,应该以黑盒的方式对上面运行的应用做输入输出的监控