建设DEVOPS统一运维监控平台,先从日志监控说起

转载本文需注明出处:EAii企业架构创新研究院(微信号:eaworld),违者必究。 前言 随着Devops、云计算、微服务、容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器、虚拟机、物理机不一而足。 面对动辄几百上千个虚拟机、容器,数十种要监控的对象,现有的监控系统还能否支撑的住?来自于容器、虚拟机、物理机的应用日志、系统服务日志如何采用同一套方案快速、完整的收集和检索?怎样的架构、技术方案才更适合如此庞大繁杂的监控需求呢?本文主要从以下几个方面来分享下笔者在日志监控方面的一些经验。目录 一、DevOps浪潮下带来的监控挑战 二、统一监控平台架构解析 三、日志监控的技术栈 四、日志监控经典方案ELK 五、微服务+容器云背景下的日志监控实践Journald+fluentd+elasticsearch 六、如何选择适合自己的日志监控方案? 一、DevOps浪潮下带来的监控挑战 现在Devops、云计算、微服务、容器等理念正在逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器,监控面临的压力越来越大。挑战主要有: 监控源的多样化挑战 业务、应用、网络设备、存储设备、物理机、虚拟机、容器、数据库、各种系统软件等等,需要监控的对象越来越多,指标也多种多样,如何以一个统一的视角,监控到所有的数据? 海量数据的分析处理挑战 设备越来越多,应用越来越多,要监控的数据自然也排山倒海般袭来,怎样的监控系统才能应对大数据的采集、存储和实时分析展现呢? 软硬件数据资源的管理分析挑战 数据是采集到了,采集全了,那么如何对他们进行分析呢?应用、系统软件和运行环境、网络、存储设备的关联关系是否能准确体现呢,某个点发生了故障、问题影响的链路是否能快速找到并进行处理呢?监控离不开和软硬件资源管理的结合。 面对这些挑战,是否感觉压力山大呢?一个监控平台,拥有哪些能力才能满足如此大的挑战呢? 一个好的统一监控平台,应当具备如图所示的能力: 高度抽象模型,扩展监控指标:正如之前所说,监控源、指标的多样化,要求我们必须要进行监控模型的高度抽象,并且针对于指标可以动态扩展,这样才能保证监控平台的健壮性和可扩展性。 多种监控视图:监控数据自然不能只是简单的表格展现,饼图、柱状图、折线图、仪表盘等等,监控的数据需要结合实际情况选择最佳的图标展现。 强大的数据加工能力:海量的数据必须要有足够强大的数据加工、分析处理能力才能得到直观的结果 多种数据采集技术:数据源的不同决定了采集的技术也是有区别的。 多种报警机制:短信、邮件、企业内部通讯工具等等,结合不同场景选择不同的报警机制。 全路径问题跟踪:一个请求有可能牵扯到数个系统、数十个接口的调用,出了问题有可能是其中任何一个环节,也有可能是应用所处运行环境、网络、存储的问题,所以问题的定位离不开全路径的跟踪。 二、统一监控平台架构解析 统一监控平台由七大角色构成:监控源、数据采集、数据存储、数据分析、数据展现、预警中心、CMDB(企业软硬件资产管理)。 监控源从层次上来分,大致可以分为三层,业务应用层、中间件层、基础设施层。业务应用层主要包括应用软件、企业消息总线等,中间件层包括数据库、缓存、配置中心、等各种系统软件,基础设施层主要有物理机、虚拟机、容器、网络设备、存储设备等等。 数据采集…

Continue Reading 建设DEVOPS统一运维监控平台,先从日志监控说起

建设DEVOPS统一运维监控平台,全面的系统监控你做好了吗?

转载本文需注明出处:EAWorld,违者必究。 前言 随着Devops、云计算、微服务、容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器、虚拟机、物理机不一而足。面对动辄几百上千个虚拟机、容器,数十种要监控的对象,现有的监控系统还能否支撑的住?来自于容器、虚拟机、物理机、网络设备、中间件的指标数据如何采用同一套方案快速、完整的收集和分析告警?怎样的架构、技术方案才更适合如此庞大繁杂的监控需求呢? 上篇文章《建设DevOps统一运维监控平台,先从日志监控说起》主要从日志监控的方面进行了分享,本篇文章则是重点在系统监控层面进行分享。 目录: 一、统一监控平台架构解析 二、系统监控的技术栈 三、开源系统监控软件 Zabbix VS Nagios VS Open-Falcon 四、基于k8s容器云背景下的系统监控实践:cAdvisor+Heapster+Influxdb 五、容器时代的监控利器: Prometheus 一、统一监控平台架构解析 先做一下回顾,统一监控平台由七大角色构成:监控源、数据采集、数据存储、数据分析、数据展现、预警中心、CMDB(企业软硬件资产管理)。 监控源: 从层次上来分,大致可以分为三层,业务应用层、中间件层、基础设施层。业务应用层主要包括应用软件、企业消息总线等,中间件层包括数据库、缓存、配置中心、等各种系统软件,基础设施层主要有物理机、虚拟机、容器、网络设备、存储设备等等。 数据采集: 数据源如此多样,数据采集的任务自然轻松不了。数据采集从指标上划分可以分为业务指标、应用指标、系统软件监控指标、系统指标。应用监控指标如:可用性、异常、吞吐量、响应时间、当前等待笔数、资源占用率、请求量、日志大小、性能、队列深度、线程数、服务调用次数、访问量、服务可用性等,业务监控指标如大额流水、流水区域、流水明细、请求笔数、响应时间、响应笔数等,系统监控指标如:CPU负载、内存负载、磁盘负载、网络IO、磁盘IO、tcp连接数、进程数等。 从采集方式来说通常可以分为接口采集、客户端agent采集、通过网络协议主动抓取(http、snmp等) 数据存储: 采集到的数据一般都会存储到文件系统(如HDFS)、索引系统(如elasticsearch)、指标库(如influxdb)、消息队列(如kafka,做消息临时存储或者缓冲)、数据库(如mysql) 数据分析: 针对采集到的数据,进行数据的处理。处理分两类:实时处理和批处理。技术包括Map/Reduce计算、全日志检索、流式计算、指标计算等,重点是根据不同的场景需求选择不同的计算方式。 数据展现: 将处理的结果进行图表展现,在多屏时代,跨设备的支持必不可少。 预警:…

Continue Reading 建设DEVOPS统一运维监控平台,全面的系统监控你做好了吗?