(十) Nepxion分布式RPC框架 - 监控中心

Nepxion Thunder(QQ 1394997)发布在淘宝代码基地 http://code.taobao.org/p/Thunder/

 

通过MonitorStat.java去刻画监控的属性,包括

    private String messageId;      // 消息ID
    private String messageType;    // 消息类型,取值:Request,Response
    private String targetType;     // 目标类型,取值:Server(服务端),Client(调用端)
    private long startTime;        // A端发出请求的时刻
    private long endTime;          // Z端收到A端的请求,响应执行目标方法结束后的时刻
    private String interfaze;      // 接口名
    private String method;         // 方法名
    private String parameterTypes; // 方法参数,例如java.lang.String,int
    private String host;           // 处理消息的机器的Host
    private int port;              // 处理消息的机器的Port
    private String protocol;       // 协议,例如netty, hessian等
    private String loadBalance;    // 采用的负载均衡策略
    private String application;    // 应用名
    private String group;          // 组名
    private boolean async;         // 是否是异步或者同步
    private long timeout;          // 超时时间
    private boolean broadcast;     // 是否是广播模式
    private Exception exception;   // 异常信息
 无论通过哪种方式监控,都可以拿到封装好的上述属性列表

 

1. Splunk日志监控

(十) Nepxion分布式RPC框架 - 监控中心_第1张图片通过Log4j的配置,把本地基于MonitorStat对象创建的Log生成到远端Splunk服务器硬盘上,Splunk服务器进行相关设置和过滤,就可以看到如上的日志统计。对于Splunk如何使用和工作,在这里就不做介绍了

 

2. Storm监控

3. 第三方WebService监控

每一个第三方WebService监控中心启动的时候,都往注册中心添加其URL,服务端和调用端通过连接注册中心,获取第三方监控中心的URL列表,同时也实现了对监控中心上下线的监听,达到分布式监控的目的。
服务端和调用端通过Apache 异步Http发送方式,把MonitorStat转化成Json流,用Post方式发往第三方监控中心

你可能感兴趣的:(redis,activemq,kafka,hessian,netty)