VI 应用随身小助手

微风

2019/03/24 发布于 技术 分类

文字内容
1. VI 应用随身小助手 主讲人:江杰 平安银行
3. 自我介绍 • 平安银行零售平台架构部应用监控 负责人 • 开源应用诊断工具VI作者 • 2017年底加入平安银行,主要负责 应用监控相关研发工作
4. 1 为什么需要VI 2 基本功能介绍 3 启动管理和状态管理 4 如何使用VI暴露和控制组件或应用 5 在线“Debug” 6 接入和集群管理
5. 应用状态 free/df//top/jcmd/jstack/jmap 功能分散、命令繁多 应用日志 more/tail/grep/awk 应用线上jar依赖 服务器登陆权限问题 JMX密码获取问题
6. VI帮你了解应用
7. VI (Validation Internals)内部验证 ➢ 来自Ebay的理念 ➢ 随应用而生,简单、轻量、无依赖 ➢ 非记录,低消耗,按需查看实时 ➢ 去中心设计,单机无网可运行 ➢ 应用启动和状态管理 ➢ 方便高效暴露应用内部 ➢ 应用诊断工具箱
8. VI at a glance
9. 1 为什么需要VI 2 基本功能介绍 3 启动管理和状态管理 4 如何使用VI暴露和控制组件或应用 5 在线“Debug” 6 接入和集群管理
10. 应用核心信息
11. 所有相关配置
12. 所有相关参数
13. 实时核心性能监控
14. 依赖分析
15. GC分析
16. 本地日志
17. 1 为什么需要VI 2 基本功能介绍 3 启动管理和状态管理 4 如何使用VI暴露和控制组件或应用 5 在线“Debug” 6 接入和集群管理
18. 启动管理 ➢ 组件和应用启动规范化 ➢ 启动全程可视化 ➢ 快速定位启动错误 ➢ 启动过程可回溯 ➢ 功能自检,确保应用正确性
19. 应用启动管理概述 ➢ 应用启动时,VI会启动一个点火线程用来执行点火相关事务。 ➢ 点火不阻碍应用启动,所以可在VI点火详情里监控点火的全部过程。 ➢ 点火时会将应用状态设置为点火中(Initiating),点火结束后,依据点 火结果设置应用状态为启动完成(Initiated)或点火失败(InitiatedFailed)
20. 启动插件 示例
21. 启动过程详情
22. 状态管理 使用contextPath/vi/health 做为健康监测页链接 返回不同应用状态码 response code meaning Remark 200 Initiated 启动完成,可接入流量 404 NOT FOUND 访问vi地址错误,或应用未接入vi,或vi版本<0.8.0. 526 Initiating 应用点火中 527 InitiatedFailed 应用点火失败 528 Uninitiated 应用未点火 529 MarkDown 应用被mark down
23. 改变应用状态的方法 ➢Owner通过vi首页可以mark down或mark up应用 ➢当组件或应用期望可以影响应用的工作状态(因会拉出机器请慎 用),可通过添加新的StatusSource接口 实例到AppInfo中 StatusSources来达到控制应用状态目的
24. 1 为什么需要VI 2 基本功能介绍 3 启动管理和状态管理 4 如何使用VI暴露和控制组件或应用 5 在线“Debug” 6 接入和集群管理
25. 特点 01 简单 02 可实时设计 03 可自动输出JMX
26. 简单暴露状态
27. 1 为什么需要VI 2 基本功能介绍 3 启动管理和状态管理 4 如何使用VI暴露和控制组件或应用 5 在线“Debug” 6 接入和集群管理
28. 特点 03 01 创造 价值 02 04
29. 在线“debug”
30. 在线“debug”
31. 接入和集群管理
32. 1 为什么需要VI 2 基本功能介绍 3 启动管理和状态管理 4 如何使用VI暴露和控制组件或应用 5 在线“Debug” 6 接入和集群管理
33. 接入 支持所有JAVA应用 添加依赖即可 Jdk>=1.7
34. 寄生和自主模式 ➢寄生模式VI会寄生在已有的WEB容器里,不需要新开端口 ➢自主模式,等于在应用上启动一个http协议的web服务
35. 集群管理 ➢自注册 ➢自包含集群机器切换 ➢使用portal来数据聚合
37. “ 源码地址: https://github.com/ctripcorp/vi Business is the human activity related to material things. It is necessary for civilization.