产品白皮书
# 前言
# 背景
随着互联网和计算机技术的发展以及信息化建设步伐的不断加快,各行业都开始大规模的建立和使用网络和信息系统,并且越来越多的单位对网络办公、各种在线的信息管理系统的依赖程度不断增加,各行业巨大的IT维护和管理成本也在与日俱增,IT基础建设的健康性和可管理性带来巨大挑战。 政府和企业的信息中心普遍缺乏一个有效实用的综合监控系统来实现完整的IT架构监控和管理,主要体现在如下几个问题:
- 现有各行业已经采用的IT管理工具也大都是从传统基于各自独立的管理模式,各管各事
- 设备管理系统,不同的应用管理系统,各自只能维护自己的产品;系统间信息没有充分的交互
- 无法分析故障的根源,对IT网络的核心资源不能进行统一有效的管理
- IT维护和系统的建设没有提升到面向服务和面向业务的层次
政府和企业信息中心缺乏统一集中综合监控系统的局面,使得IT运营人员不得不面临许多挑战:学习各种领域知识、学习各种管理系统、熟悉各种操作系统、各种设备服务器、各种云基础环境、处理故障时在各种工具切换,无法深层次定位监控异常信息等。
# 产品概述
金蝶Apusic监控平台软件(Apusic Monitor Platform ,简称“AMP”)是金蝶天燕自主研发的一体化监控运维平台产品。AMP从业务系统视角出发,对服务器、网络设备、存储、数据库、中间件、基础云服务、业务应用系统进行一体化、自动化、智能化的全面的监控和运维。保障IT基础设施的高可用和业务系统正常稳定可靠运行,极大提高信息中心IT运维的效率,使得对IT基础架构管理从被动分散的维护转变为主动集中的控制和自动化,智能化的管理。
AMP使IT基础架构真正成为保障业务服务水平的、可管理、可控制的业务平台,构建业务人员和IT管理运维人员的联系纽带,帮助组织快速应对外部变化给IT基础设施和业务应用带来的冲击和挑战。
# 体系架构
# 产品理念
当前针对IT系统的监控的维度,可以总结归纳为指标(Metrics)、跟踪(Tracing)、日志(Logging)这三部分,并且三者之间存在一定的交集。
(图1)监控指标,跟踪,日志事件
- 指标
指标是对某些我们关注事件的聚合,当达到一定指标我们会设置告警,会设置自适应机制,会有容灾等。
- 日志
对应用或者系统事件做一个记录,这些记录是我们问题排查,取证的一些依据。
- 追踪
追踪关注请求的质量和服务可行性,是优化系统,排查问题的高阶方法。运维人员的工作职责细分化,导致所负责监控的资源对象以及监控维度也不一样,而一站式监控平台则需要关注所监控的对象上述三个运维领域的数据。
AMP产品在遵循上述可观测领域的最佳实践。
# 产品架构
AMP产品整体架构如图1-2所示:

(图-2) AMP 产品整体架构
产品在整体结构上分为如下几个部分
设施监控
设施监控子系统实现对主机、网络、存储、数据库、中间件、分布式服务、基础云服务、容器及容器云等基础设施环境的一体化全面监控。
通过集成的各种指标采集器exporter和标准采集模板,以及采集器的开放扩展接口,AMP可实现成千上万种类型的设备和服务的监控。用户可基于模板创建各种设施对象的监控任务,采集监控指标,并进行聚合计算,实现对目标对象的运行状态将和运行指标分析。
应用性能管理
APM子系统在业务视角对应用程序进行性能分析、诊断、监控。通过各种探针捕获部署在应用服务器中的业务应用系统运行状况,帮助业务运维人员分析业务应用模块调用栈,获取业务应用的运行负载和健康状况,诊断性能瓶颈,为提升改进应用系统性能提供全面的诊断和监控分析平台工具。
智能告警
智能告警子系统,实现对监控对象在监测指标异常后通知给相关业务干系运维人员。系统内置缺省的告警规则,通过强大的表达式语言和分析处理能力,对告警事件进行处理,包括告警分组、告警抑制、告警静默处理等,给运维人员通过多种告警渠道,发送有效的告警信息。
运维工单
运维工单系统将智能告警模块产生的告警事件自动或手工生成运维工单,并智能化指派给IT运维工程师进行流转处理。待故障问题修复处理完后可关闭工单,实现运维的闭环管理。运维工单系统可以统计工程师响应、处理的工单的相关数据,实现运维工作的量化和SLA服务保障提升。
控制台
提供可视化Web界面方式简化监控设施管理、监控任务的创建和维护、以及告警事件的管理;提供丰富的监控仪表盘和监控可视化大屏展示,帮助运维人员实时掌握整个信息中心IT基础设施的运行状况。
# 技术架构
(图3)基础监控技术架构
- Exporter采集器
Exporter采集器是独立运行的程序,用于获取目标监控对象的metrics指标数据,对于所监控的主机、网络设备、数据库、中间件等对象都有一个exporter采集器程序与之对应。对于一些新兴的云原生项目,比如kubernetes、etcd等已内置exporter并暴露metrics端点供监控引擎采集监控指标数据,无需额外部署和开发。
用户可以根据自身监控业务的需要,开发特定的exporter采集器来监控目标对象,并无缝的集成到监控平台中。
- 监控服务器
监控运行服务器,负责监控数据的采集和时序数据的存储,创建并执行监控任务,并提供PromQL查询。
- 报警管理器
报警管理器,用于监控指标的报警处理。
- 控制台
Web管理控制控台,负责监控概览、监控指标的统一可视化展现,管理所有监控设施对象,并对监控任务和报警策略实现统一的维护和管理。
# 主要功能
# 仪表盘
仪表盘展示了用户自定义预览的设施资源的监控状况,通过创建自定义的仪表盘,您可以添加资源的指标曲线图表,并实时查看资源的趋势和状态信息。
(图4)自定义仪表盘
- 自定义仪表盘
仪表盘为多个不同类型监控指标图表展现的集和。用户可根据监控需要创建多个仪表盘,每个仪表盘可包含任意数量的监控图表。
- 自定义图表内容
监控图表是具体监控指标的可视化展现,支持曲线图,饼图,柱状图,点图等多种图标类型展现方式,可灵活选择监控任务的指标项并进行监控图标的可视化展现。
# 基础设施
AMP可对IT基础设施进行统一的监控管理,所有被监控的基础设施需要统一纳入到监控平台中进行维护和登记。对于和业务应用相关的一组基础设施资源,可以归列为设施组,以便从业务维度来整体来观测设施的运行状况,监控维度包含可用性状态、关键指标性能以及容量信息等。
平台支持如下的基础设施监控:
主机
包括windows主机服务器、Linux主机服务器、Unix主机服务器、国产中标麒麟和飞腾麒麟的服务器。
网络
支持SNMP协议的三层网络交换机、路由器、防火墙、VPN等设备。
数据库
支持各种主流数据库,包括MySQL,PostgreSQL,Oracle,MS SQLServer,以及国产数据库如达梦、人大金仓、南大通用、神舟通用等。也支持NoSQL数据库如MongoDB等监控。
中间件
Web服务器,应用服务器,消息中间件,分布式缓存,分布式KV、Elasticsearch等。
容器
支持docker、Kubernetes容器云平台及相关工作负载对象。
终端
支持个人PC终端设备、网络终端设备的监控,自动发现终端设备并部署采集器实现指标的上报采集,实现网络内的终端的监控。
# 监控模板
监控模板是同一类别资源监控指标的集合概念,方便用户对监控指标进行管理。AMP对所支持上述多种类型基础设施资源监控,内置标准监控模板,用于快速部署监控任务并对监控指标进行可视化展现。 用户也可以自定义监控采集模板,实现个性化监控管理。
(图5)内置的监控模板
# 监控任务
监控任务是对基于具体监控设施对象之上的同一类别的监控指标进行采集抓取的过程,是整个监控平台实现监控的核心基础。根据所监控的设施对象和服务不同,我们可以选择对应的标准监控采集模板,并配置相关监控指标项以及指标的聚合方式,实现有价值的监控指标数据的提取。
(图6)监控任务
用户可以对监控任务进行基本的创建和启禁用维护管理。
# 网络监控
AMP可支持通过SNMP协议实现对网络设备如交换机、路由器的监控,并可以动态生成网络拓扑图,直观显示数据中心各网络设备的监控状态信息。
(图7)网络监控配置
# 可用性拨测
网站及业务平台可用性从用户角度来看主要有两个指标,网站是否能够访问和网站的访问速度。AMP站点监控能够帮助用户了解页面的可用率和响应时间,当页面不可访问或是响应时间过长时都能够给出告警。
站点监控支持如下类型的监控:
- 网址(
HTTP/HTTPS)
监控Web站点中任何指定的URL,获得可用率以及相应事件详细分析。
- ICMP
对指定的站点服务器进行ICMP Ping协议检测,获得可用率及响应时间,丢包率等。
- DNS
监控DNS服务器的可用率和响应时间,并获得各种DNS记录列表。
- TCP
监控服务器TCP端口的可用率和响应时间。
- UDP
监控服务器UDP端口的可用率和响应时间。
# 容器云监控
支持对Kubernetes 容器云平台以及容器实例的运行状况监控。支持多个Kubenretes集群注册及监控,实现对Master节点以及API Server、Controller Manager、Scheduler、CoreDNS 等组件实例监控,支持Node工作负载节点的运行监控。
全面支持对各种核心workload对象 的监控及可视化展现,包括 Deployment、StatefulSet、DaemonSet、Pod、Service、Ingress、Job、CronJob等对工作负载对象。
(图8)Kuberntes容器云监控概览
# 业务监控
业务监控指从业务角度进行监控和管理,将业务相关的业务应用、中间件、数据库、服务器、存储等相关联的全部设施对象进行整体关联监控,可如实反映业务及其相关运行环境设施的可用性和健康度。
AMP 支持实现对业务的管理和建模,业务下可以添加具体的应用和基础设施对象,支持用户添加业务,应用,关联基础设施资源等,最终实现整体实现对业务系统的管理。 支持业务拓扑图形化展示,可以清晰的反映该业务下有哪些应用,应用下有哪些基础设施,以及应用和各种关联设施的监控状态。
(图9) 业务监控拓扑
# 告警管理
报警管理是AMP产品的核心模块,根据监控任务采集的监控指标数据,结合设定报警规则,系统将过滤、压缩、归并、聚合,分析评估后将产生相关告警通知发送给预定的人员。
系统预置大量默认推荐的告警规则,提供基于设备类型指标参数的告警批量设置,可动态开启和关闭告警通知。告警的推送方式支持短信、邮件、企业微信、HTTP接口回调等。
系统提供灵活的告警查询方式,可通过告警检测指标进行统一查询告警以及历史告警事件信息。
(图10) 告警事件
# 巡检任务
巡检是IT系统中日常维护工作的重要任务,如果使用手工的方式进行巡检工作,不仅耗费大量的人力物力,而且效率也不高。AMP的自动巡检模块,支持批量设备的定时自动巡检,支持多种设施的巡检,支持自定义巡检规则,可以根据需求制定特定的巡检任务。一次巡检完成后,会生成统一的巡检报表,巡检报表展示了此次巡检的报告信息,反馈设备的运行状况。
(图11)自动巡检任务
# 监控引擎
AMP支持多个监控引擎服务器及在其上进行监控任务的部署管理。在大规模监控场景中,需要根据监控业务对象属性等进行分区,将相关联的一部分资源对象的监控采用同一个监控引擎进行监控及数据存储,通过多个监控引擎的分摊和数据聚合,完成大规模IT设施资源对象的监控管理。
监控引擎服务器支持联邦集群架构,通过监控引擎主从节点角色建立联邦集群,实现监控数据由从节点引擎服务器统一聚合到主节点监控引擎,支撑更大规模的监控集群落地。
(图12) 监控服务引擎列表及配置
# 统计报表
通过灵活的自定义统计报表,运维人员可以定期掌握设施对象在每日、每周、每月的运行健康状况监控统计,以及资源可用性的变化状态。通过设施运行的故障和资源消耗规律,提前预判运维风险。
报表支持自动生成,也可以手工生成。用户可以订阅相关感兴趣统计报表,并通过邮件及时收到报表内容。
(图13)监控统计报表
# 运维知识库
AMP的知识库构建了一套涵盖知识分类、发布、管理、查找等全流程的知识库系统,极大限度提升了知识的共享价值。IT运维人员可将日常IT运维管理过程中的经验和知识进行提炼、总结、共享发布。 平台将不同知识库类别分类别整合管理,并提供简单高效,方便快捷的智能搜索,极大提高相关业务人员和运维人员查找相应知识的效率,促进运维经验的分享和知识传递。

(图14)监控运维知识库
# 运维工单
AMP的运维工单系统,针对需要运维工程师远程或线下运维的场景,提供运维流程的全链跟踪及闭环管理。对于经过智能告警系统分析降噪处理后的有效真是的告警异常事件,可以生成运维工单并自动指派给值班运维工程师处理。
运维工单系统支持对运维工程师的工单处理过程、问题响应时间、处理效率进行全面跟踪管理,能进一步加强运维团队的IT运维效率。
# 用户及权限管理
AMP支持统一认证,对运维对象及其账号等进行统一身份认证,通过单点登录方式进行平台登录,提供基于RBAC角色权利模型进行账号的授权,控制平台使用权限。 支持运维审计,提供各账号操作日志升级,会话监视、会话回放等功能,对各类对象的属性和业务行为进行跟踪分析,并对违规操作行为进行报警、终断操作。
# 关键技术特性
# 集中的管理
通过统一的IT运维监控管理平台,可从设备分类和业务信息系统视角出发,实现对服务器系统、网络、安全产品、操作系统、数据库、中间件、应用系统、储存设备、IT环境等系统的状态和性能的实时监控。
支持业务视角进行资源的分组管理和维护,可以创建资源设施组进行组级别监控。提供统一的用户界面,统一的管理手段,准确反映各类设备运行状态和性能。
# 全面的监控
- 主机系统监控
实现对HP-UX、AIX、Solaris主机、Windows主机、Linux主机、国产操作系统主机运行状况监控,包括主机的在线状态、CPU利用率、内存大小及利用率、磁盘空间大小及利用率、主机上关键进程状态及其对CPU和内存占用情况、提供关键服务状态,主机的网络接口流量、丢包和错包率等信息。
- 网络系统监控
实现网络设备、网络安全设备的在线状态、CPU利用率、内存大小、设备各种表信息的监控。支持对网络线路运行状态监控,包括线路联通性、线路响应时间、线路流量、线路带宽利用率、线路错包率、线路丢包率等信息。对网络设备接口状态进行监管,包括接口面板、接口状态、接口流量性能等信息。持续监视、报告网络的运行情况,发现异常及时告警;设备故障与链路阻断告警,设备与链路性能告警,异常流量告警等。
- 数据库监控
实现对Oracle、Sybase、Informix、DB2、SQLServer、MySQL、达梦、人大金仓、南大通用、神舟通用等数据库的监控管理。监视数据库运行状态,包括数据库进程、监听状态、例程状态、控制文件、数据库日志文件等信息;对数据库资源监视,包括数据库CPU、内存配置(SGA信息、PGA信息)、缓冲区命中率、数据字典命中率、库缓存命中率、最浪费内存的前10个语句等信息;对数据库存储资源监视,包括数据库文件系统、数据库表空间、数据库表、数据库空间、文件空间等;对数据库Session信息、锁信息、回滚段信息、数据库用户等信息监控。
- 中间件监控
实现对Nginx 、HAproxy、APACHE、IIS、Redis、Memcached、Kafka、Etcd、ElaticSearch等中间件和分布式服务的运行状态监控。
对Apusic AS、Tomcat监控,监控队列信息、监控JDBC连接池信息、监控Web应用信息、JVM堆信息、服务信息、运行状态、服务启动时间、安装目录、总安装目录、运行配置、JVM版本号、JVM可用内存、JVM最大内存、JVM总的内存、线程等。
- 应用性能监控
实现应用调用栈追踪,应用实例性能指标分析,性能根源分析,应用拓扑分析,应用和服务依赖分析,慢服务检测等功能。能够对业务系统的响应时间做分层的分析。Java应用自动探针,追踪和监控程序无需修改业务代码,Java自动探针支持和OpenTracing API协同工作。
支持多种传输协议、兼容OpenTracing规范、支持插件扩展、跟踪链路查询、JVM监控、性能损失低。支持多种客户端语言,多种后端存储如ElaticSearch,MySQL,TiDB等。
# 可视化展现
AMP支持丰富的数据图、数据大屏、满足不同的监控指标数据的展现要求。
- 丰富的图表组件
提供折线图、面积图、堆积折线图、堆积面积图、柱状图、饼图、雷达图、散点图、热力图、散点地图、进度条等多种图表组件,同时提供组件扩展接口,支持用户自定义组件。
- 自定义样式
提供丰富多样的样式配置项,包括背景配置、图表风格配置、数据格式配置、坐标轴线、网格线配置、系列色彩等样式。
- 定制大屏模板
支持按照特定的大屏比例、特定的分辨率、特定的卡片数和排列布局进行监控大屏可视化,支持大屏模板自定义。
# 面向云原生
云原生下的应用大量采用微服务架构进行设计,基于Docker镜像交付软件包,应用各微服务实例通过容器的方式进行部署运行,并借助于容器云平台如Kubernetes进行容器集群的统一编排管理。
容器云环境中资源实例对象的动态可变性、监控范围的复杂性、微服务的复杂调用链等问题,对监控平台而言面临的是全新的挑战。另外监控平台系统的自身可靠性和容器化部署及水平扩容,也是在云原生环境下必须解决的问题。
AMP产品在设计之初就同时支持传统IT基础设施和云原生基础设施的监控和部署运行,支持对容器云设施和在其中运行的多副本容器实例进行全面的、自动化的监控。
- 服务发现
AMP监控引擎和Kubernetes容器云无缝集成,可以自动发现Kubernetes环境中所有的容器实例,无需部署和配置监控任务即可实现监控。
- 容器监控
获取实例运行的状态,监控容器实例的CPU使用率,内存使用率,IOPS,网络流入流出带宽等指标。
- 容器化部署
监控平台各组件支持容器云部署运行,支持各组件的容器实例的动态扩容。
# 灵活的告警
通过对采集的IT资源数据过滤、压缩、归并、聚合,通过关联分析技术,提取有效的告警信息上报告警中心。AMP提供了灵活的告警设置,多样的告警推送方式。告警规则可实现快速设置,预置大量告警规则,提供基于设备类型指标参数的告警批量设置。告警的推送方式支持短信、邮件、HTTP接口回调等。
系统提供灵活的告警查询方式,可通过告警检测指标进行统一查询,实现指标统一分析;也可通过设备IP查询该设备上所有的告警。
针对报警太多,通知人容易淹没在海量告警之中错过有用的关键告警信息的情况,平台对告警进行合理的收敛。
- 告警分组
将类似的报警分组,将同类的告警进行聚合为单个通知。在大面积的设施服务中断期间尤其有用,因为许多系统一次失败,并且可能同时发射数百到数千个警报。
- 告警抑制
当某个关键报警发出后,停止重复发送由此报警引发的其他警报,防止通知数百或数千个与实际问题无关的报警触发。
- 告警静默
静默可以在给定时间简单忽略所有报警,根据静默规则,若匹配成功则不会将警报通知给接收者。
# 平台开放扩展
AMP平台具有较强的扩展性和二次开发能力,对于特定的设施和服务的监控需求,用户可以根据平台的开发规范,开发自己的采集器并自定义监控模板,实现更灵活可扩展的整体监控解决方案。
- 自定义模板
在系统提供的标准监控模板外,用户可以自定义监控模板,并对监控的指标进一步进行聚合分析和计算,实现符合自定义监控需求的指标。
- 采集器扩展开发
配合自定义模板,对于尚未支持的监控对象,根据平台提供的SDK,用户可以开发自己的采集器,获取特定的监控指标。
- 多语言SDK支持
采集器的开发支持多语言,覆盖主流的开发语言包,包括Golang、Java、Scala,Python、C++、Node.JS、PHP、Rust、Ruby等。
- 系统集成能力
支持通过标准SDK与其它监控运维平台、统一管理门户、业务系统等集成,实现SSO单点登录及认证、Web页面集成,API集成、功能模块集成等。
# 高可用架构
AMP平台可实现对自身运行状态的监控管理,其中包括对系统状态进行监测,利用核心进程控制的高可靠性对自身的各个系统进程进行统一管理,监视进程状态。
支持高可用部署,支持集成接入第三方高可用TSDB时序数据库(如M3DB)实现海量历史指标数据存储,能够根据需要进行系统数据备份和恢复,保障监控平台系统的可靠稳定运行。
# 运行环境
服务器
- 服务器:支持飞腾、鲲鹏、海光、龙芯等国产CPU架构的服务器,至少8核
- 内存:8G或以上,推荐16GB
- 磁盘:500GB以上,推荐1TB以上
操作系统
银河麒麟(飞腾)系统、中标麒麟(龙芯)系统、统信操作系统、Windows系统、Linux系统。
- 数据库
MySQL V5.5及以上版本、南大通用GBase8s v8.7、达梦数据库v8.0、人大金仓数据库v8.0、神舟通用数据库V7.0.8。
- Web浏览器客户端
Chrome,Firefox主流版本,IE 11及以上版本浏览器
# 结论
# 一站式综合监控方案
AMP提供一体化全方位的监控服务解决方案,其中包括业务监控、应用监控、基础资源监控、容器监控、网站监控,应用性能监控分析等。
- 支持容器云监控
用户使用金蝶云平台容器服务时,无需配置即可全面掌握容器资源使用情况。提供云容器服务的自动发现器,用户可以很方便地监控部署在容器平台的服务,极大地简化配置。
- 多层次指标监控
针对产品的监控数据进行多维度分析,可以针对单机、集群、服务、应用等多个维度进行数据分析和告警。
- 可视化图表分析
实时图表展示,帮助您排查问题,了解系统当前运行状态。曲线图、柱形图、点图等丰富的图表展示形式,将帮助你实时了解业务变化情况,同时支持指标对比。
- 智能报警服务
可自定义报警触发阈值、报警监控对象、报警接收人及通知方式。7×24小时不间断监控,保证服务随时处于可监控状态。针对不同警报内容进行分级管理、统一展现,抑制报警风暴。同时支持邮件、短信、回调API等多种通知方式,用户可第一时间对故障进行接收处理。
# 业务价值
AMP一体化监控平台,为用户提供了全面的IT基础设施监控和应用性能管理分析的套件,将IT运维与业务运营紧密结合,提供运维服务质量,降低风险,为客户提供多重价值。
- 降低运维风险
故障告警及时准确,利于及时排障,保证信息系统的安全。多种告警通知方式,实现远程运维,加快排障速率,降低运维风险。
- 提升运维效率
主动预警,防患未然,快速定位故障根源,缩短故障时间和减小对业务的影响范围;利于关注问题根源,持续优化,从而使可预知故障发生率收敛,减轻运维工作量;减少事务性工作量,加快突发性事件处理速率,提升工作效率。
- 提升运维能力
通过持续降低故障率,提升运维效率,借助智能化的相关性分析,快速定位问题根源,利于持续优化,可提升运维能力,保证业务连续性。
- 提升运维质量
通过快速排障、恢复系统,持续降低故障率,持续优化,可提升运维服务质量,从而维持并提高用户满意度,改善用户体验,提升IT信息化部门价值。