spring aop+zabbix做日志监控

系统监控需求

功能监控指标 性能监控指标 系统监控指标
请求发生时间 每(一定时间)内接受的请求数目 CPU利用率
调用模块名称 每(一定时间)内成功处理的请求数目 内存利用率
调用者 每(一定时间)内处理失败的请求数目 网络
方法调用顺序 每(一定时间)总的请求数量 硬盘
方法调用花费时间 每(一定时间)请求平均响应时间
方法入参
方法执行结果


这里先讲解接口日志:

格式

20150325000810429,null,HandSunFund,marketQuery,根据申请编号查询行情1 S006,9,success,成功,UserID=null,arguments=[{fundcode=700007| startdate=20150223| applyrecordno=30| enddate=20150325| function=S006}],returning={returnlist=null| message=未知错误| totalrecords=0| code=1000}
20150325000810439,null,HandSunFund,querySupermoneymarket,根据申请编号查询行情2  (S059),31,success,成功,UserID=null,arguments=[{fundcode=700007| startDate=20150223| recordNo=30| endDate=20150325| function=S059}],returning={returnlist=null| message=未知错误| totalrecords=0| code=1000}
20150325001810528,null,HandSunFund,marketQuery,根据申请编号查询行情3 S006,11,success,成功,UserID=null,arguments=[{fundcode=700007| startdate=20150223| applyrecordno=30| enddate=20150325| function=S006}],returning={returnlist=null| message=未知错误| totalrecords=0| code=1000}
20150325001810540,null,HandSunFund,querySupermoneymarket,根据申请编号查询行情4 (S059),51,success,成功,UserID=null,arguments=[{fundcode=700007| startDate=20150223| recordNo=30| endDate=20150325| function=S059}],returning={returnlist=null| message=未知错误| totalrecords=0| code=1000}

以下为实现方式:

一、配置spring的切面声明
在文件applicationContext-server.xml中添加

<aop:aspectj-autoproxy/>

二、引入以下几个日志类

LogAspect.java

@Aspect
@Component 
@SuppressWarnings("rawtypes")
public class LogAspect {
	//@Before("@target(logMoAnn)&&@annotation(logMeAnn)")
    protected void before(JoinPoint pjp,LogMonitorable logMoAnn,LogMethod logMeAnn,LogPo logPo){
		try
		{
			//LogPo基类属性设置
			setCommonLogPropBeforeMethod(pjp,logMoAnn,logMeAnn,logPo);
			//LogPo扩展属性设置
			logPo.setPropertiesBeforeMethod(pjp,logMoAnn,logMeAnn);
			
		}catch( Exception ex){
			ex.printStackTrace();
		}
    }

    
	//@AfterReturning(value="@target(logMoAnn)&&@annotation(logMeAnn)",returning="rtn")
	protected void afterMethod(JoinPoint pjp,LogMonitorable logMoAnn,LogMethod logMeAnn, Object rtn,LogPo logPo){
		try{
			//LogPo基类属性设置
			setCommonLogPropAfterMethod(pjp,logPo,logMeAnn,rtn);
			//LogPo扩展属性设置
			logPo.setPropertiesAfterReturning(pjp,logMoAnn,logMeAnn,rtn);
			
			LogWriter.write(logPo);
			
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	//@AfterThrowing(value="@target(logMoAnn)&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值