/eagleye

rpc monitor

Primary LanguageJavaScript

统一监控平台


总述

xx电子商务平台是由很多个应用集群组成的复杂的分布式系统.这里面主要由处理用户请求的前端系统和提供服务的后端系统组成.各个系统之间一般有RPC调用和异步消息通信等手段.为了在复杂的业务织网中快速定位系统已经发生或潜在的危险,减小运营风险,我们需要一个统一的监控平台,可以实施监控整个电子商务平台的健康.

统一监控平台在整理,实施的过程中暂时分为三个阶段去推进. 第一期: 主要通过对应用日志的收集,分析来完成应用级的监控. 第二期: 主要通过对主要敏感的业务数据进行监测,来实现业务级监控. 第三期: 主要通过整合现有的zabbix, cacti监控平台的数据,来完善系统级监控.

一. 应用级监控

  1. 监控所有dubbo服务状态(telnet的命令)
  2. 监控所有jboss日志状态
  3. 监控所有tomcat日志状态
  4. 监控cobar状态
  5. 监控zookeeper状态
  6. 日志检索 可以在某一个时间段,针对某一个关键字进行日志检索, 比如: Connection Refused. 检索出的日志需要知道是从哪台机器上的哪个服务产生的.
  7. Memcached, Redis, Rabbitmq采用现有的监控方式.

二. 业务级监控

  1. 订单稳定性异常监测 比如已有的: 判断订单异常规则: 稳定性算法进行区分, 每隔30分钟进行一次该时段订单总数的汇总统计, 以最近相邻的15天同时段数据的平均值为稳定性阈值, 如果最近的半小时订单量小于该阈值,则报警.

  2. 订单单位时间区间内数量丢失异常

  3. 各个系统的主要页面请求是否超时,404,500等(可用curl命令)

  4. 针对每一次前端请求所引起的后端各个系统之间的分布式调用,针对每一次分布式调用进行跟踪,记录调用状态.

三. 系统级监控

  1. 利用现有的zabbix, cacti等监控服务器状态 如: cpu; 内存; 磁盘io等信息

四. 监控预警

  1. 建立预警用户组(按照组发送预警信息)
  2. 预警方式可以为: 短信, 邮件

flume 部署

一. server端部署

  1. 根据server端配置, 修改flume-server.conf 文件
  2. ./init-flume.sh server 直接将server端flume(接收日志端) 部署在/usr/local/flume-1.4.0 目录中
  3. 直接运行 sh /usr/local/flume-1.4.0/startup.sh 即可启动flume
  4. 运行 sh /usr/local/flume-1.4.0/stop.sh 停止flume服务
  5. 日志产生路径为: /data/flume/ 下

二. client端部署

  1. 根据server端配置, 修改flume-client.conf 文件
  2. ./init-flume.sh client 直接将server端flume(收集日志端) 部署在/usr/local/flume-1.4.0 目录中
  3. 直接运行 sh /usr/local/flume-1.4.0/startup.sh 即可启动flume
  4. 运行 sh /usr/local/flume-1.4.0/stop.sh 停止flume服务
  5. 日志产生路径为: /data/flume/ 下

注: flume-1.4.0.tar.gz 文件放在 10.10.10.220的 /root/flume下