电商总结(二)日志与监控系统的解决方案
2016-10-27 14:28
260 查看
前一篇文章聊到了小型电商网站的系统架构,然后有朋友问我,里面的日志与监控指的是啥,所以,今天就来聊聊这个问题。
监控系统主要用于服务器集群的资源和性能监控以及应用异常和性能监控,日志管理等多维度的性能监控分析。一个完善的监控系统和日志系统对于一个系统的重要性不必我多说,总而言之就一句话,只有实时了解各系统的状态,才能保证各系统的稳定。
如上图所示,监控平台监控的范围很广,服务器性能及资源,还有应用系统的监控。每个公司都有特定的平台统一监控的需求及解决方案,但是监控平台的任务和作用基本是一致的。
一,日志
日志是监视程序运行的一种重要的方式,主要有两个目的:1.bug的及时发现和定位,2.显示程序运行状态。正确详细的日志记录能够快速的定位问题。同样,通过查看日志,可以看出程序正在做什么,是不是按预期的设计在执行,所以记录下程序的运行状态是必要的。这里将日志分为两种:1.异常日志,2.运行日志。
我们主要是使用log4net,将各个系统的日志,持久化记录到数据库或者文件中,以方便后续的系统异常监控和性能分析。如何集成log4net,这里不再说明。
日志记录的几个原则:
1. 区分日志级别一定要区分清楚,哪些属于error,warning,info,等,
2. 记录错误的位置,如果是分层系统,一定要在某个层统一处理,例如,我们的mvc架构,都是在各个action中catch异常,并处理,业务层和数据库层这些地方的异常,都是catch到异常后,往上一层抛。
3. 日志信息清晰准确有意义,日志尽量详细点,以方便处理。应该记录相关系统,模块,时间,操作人,堆栈信息等。方便后续处理。
二,监控
监控系统是一个复杂的系统平台,目前有很多的开源产品和平台。不过我们平台小,监控任务和需求少,所以基本都是自己开发,主要有这五个方面:1.系统资源,2.服务器,3.服务,4.应用异常,5.应用性能。
具体的架构图如下:
1,系统资源监控
监控各种网络参数和各服务器相关资源(cpu,内存,磁盘读写,网络,访问请求等),保证服务器系统的安全运营;并提供异常通知机制以让系统管理员快速定位/解决存在的各种问题。目前比较流行的应该是zabbix。
2,服务器监控
服务器的监控,主要是监控各个服务器,网络节点,网关,等网络设备,的请求响应是否正常。
通过定时服务,定时去ping各个网络节点设备,以确认各网络设备是否正常,,如果哪个网络设备出现异常,则发出消息提醒。
3,服务监控
服务监控,指的是各个web服务,图片服务,搜索引擎服务,缓存服务等平台系统的各项服务是否正常运行,
可以通过定时服务,每隔一段时间,就去请求相关的服务,确保平台的各项服务正常运行。
4,应用异常监控
目前我们平台的所有系统的异常记录,都记录在数据库中。通过定时服务,统计分析一段时间之内的异常记录。如果发现有相关重要的模块的系统异常,比如支付,下单模块,频繁发生异常,则立即通知相关人员处理,确保服务正常运行。
5,应用性能监控
在api接口和各应用的相关位置进行拦截和记录下程序性能(sql性能,或是 程序执行效率)。相关重要模块提供性能预警,提前发现问题。 同时统计相关监控信息并显示给开发的人员,以方便后续的性能分析。
监控系统主要用于服务器集群的资源和性能监控以及应用异常和性能监控,日志管理等多维度的性能监控分析。一个完善的监控系统和日志系统对于一个系统的重要性不必我多说,总而言之就一句话,只有实时了解各系统的状态,才能保证各系统的稳定。
如上图所示,监控平台监控的范围很广,服务器性能及资源,还有应用系统的监控。每个公司都有特定的平台统一监控的需求及解决方案,但是监控平台的任务和作用基本是一致的。
一,日志
日志是监视程序运行的一种重要的方式,主要有两个目的:1.bug的及时发现和定位,2.显示程序运行状态。正确详细的日志记录能够快速的定位问题。同样,通过查看日志,可以看出程序正在做什么,是不是按预期的设计在执行,所以记录下程序的运行状态是必要的。这里将日志分为两种:1.异常日志,2.运行日志。
我们主要是使用log4net,将各个系统的日志,持久化记录到数据库或者文件中,以方便后续的系统异常监控和性能分析。如何集成log4net,这里不再说明。
日志记录的几个原则:
1. 区分日志级别一定要区分清楚,哪些属于error,warning,info,等,
2. 记录错误的位置,如果是分层系统,一定要在某个层统一处理,例如,我们的mvc架构,都是在各个action中catch异常,并处理,业务层和数据库层这些地方的异常,都是catch到异常后,往上一层抛。
3. 日志信息清晰准确有意义,日志尽量详细点,以方便处理。应该记录相关系统,模块,时间,操作人,堆栈信息等。方便后续处理。
二,监控
监控系统是一个复杂的系统平台,目前有很多的开源产品和平台。不过我们平台小,监控任务和需求少,所以基本都是自己开发,主要有这五个方面:1.系统资源,2.服务器,3.服务,4.应用异常,5.应用性能。
具体的架构图如下:
1,系统资源监控
监控各种网络参数和各服务器相关资源(cpu,内存,磁盘读写,网络,访问请求等),保证服务器系统的安全运营;并提供异常通知机制以让系统管理员快速定位/解决存在的各种问题。目前比较流行的应该是zabbix。
2,服务器监控
服务器的监控,主要是监控各个服务器,网络节点,网关,等网络设备,的请求响应是否正常。
通过定时服务,定时去ping各个网络节点设备,以确认各网络设备是否正常,,如果哪个网络设备出现异常,则发出消息提醒。
3,服务监控
服务监控,指的是各个web服务,图片服务,搜索引擎服务,缓存服务等平台系统的各项服务是否正常运行,
可以通过定时服务,每隔一段时间,就去请求相关的服务,确保平台的各项服务正常运行。
4,应用异常监控
目前我们平台的所有系统的异常记录,都记录在数据库中。通过定时服务,统计分析一段时间之内的异常记录。如果发现有相关重要的模块的系统异常,比如支付,下单模块,频繁发生异常,则立即通知相关人员处理,确保服务正常运行。
5,应用性能监控
在api接口和各应用的相关位置进行拦截和记录下程序性能(sql性能,或是 程序执行效率)。相关重要模块提供性能预警,提前发现问题。 同时统计相关监控信息并显示给开发的人员,以方便后续的性能分析。
相关文章推荐
- 电商总结-日志监控系统的解决方案
- 电商总结-日志监控系统的解决方案
- 电商总结(二)日志与监控系统的解决方案
- CaaS环境下实践经验总结(二):监控系统部署
- 年终总结之电商交易系统
- Logstash实践: 分布式系统的日志监控
- Linux全攻略--系统性能、进程监控和日志管理
- 数据安全加固 NPM/nTracker 网络流量行为监控系统的解决方案
- 转载_开源日志系统 log4c 使用心得+总结
- [置顶] web文件管理系统和日志实时监控工具
- 大型企业网络视频监控系统解决方案
- 电商底层接口(系统接口或SOA接口)高并发解决方案:dubbo + zookeeper
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 日志管理系统安卓项目阶段总结安卓
- C++日志系统log4cxx使用总结
- 工作总结日志<三> 数控系统RTLinux内核上几个系统类型和函数在RTAI内核上的对应
- iptables防火墙与日志系统配合使用 监控服务器特点端口的防问源IP
- C/S架构分布式系统客户端操作日志监控模块实现思路
- 用EventSentry监控系统日志
- Nagios监控ESXI主机系统、硬件、nagios日志文件时间格式转换