展开查看详情
1.构建可运维的 Node.js 应⽤用 2018-11-23
2. 薛⻘青孝 • 2017 - 前端技术专家 @vipJr
3.什什么是可运维?
4. 可运维 ? • 监控 • 性能和扩展 • 故障排除 • 可管理理 • 可恢复 • 部署 • …
5. 监控 通⽤用指标 应⽤用指标
6. 监控 - 通⽤用指标 • 硬盘I/O • CPU • ⽹网络带宽 • 内存 •…
7. 监控 - Node.js App 的指标 • V8 - Heap • HTTP Latency / Throughput - Inbound & Outbound • Event Loop Latency • Websocket • DB • …
8. 故障排除 ⽇日志收集 链路路追踪 错误上报
9. 可恢复 热备 重启
10.过去的情况是什什么?
11. 部署 files STAGING commit hooks PRODUCTON files
12.部署存在的问题 回滚 ⽔水平扩展
13. 监控 CPU Usage Memory Usage Network I/O Disk I/O VM influxDB Grafana
14. 监控存在的问题 容器器监控 Node.js 监控 链路路监控
15.业界有哪些⽅方案?
16. 容器器监控 cAdvisor Telegraf
17. Node.js 监控 PM2 Pandora.js ElasticAPM
18.为什什么不不选择现有⽅方案?
19. 功能重复 pm2 pm2 Docker telegraf pandora.js pandora.js Process Management Duplicate Metrics
20.无法与现有系统集成!
21. 链路路监控 Zipkin Jaeger Telegraf
22. 时序数据库 Prometheus Graphite InfluxDB
23. Dashboard Grafana Chronograf
24.我们应该怎么办?
25.DevOps Overview PLAN MONITOR CODE OPERATE TEST DEPLOY BUILD RELEASE
26. 部署 deploy STAGING commit pull hooks push pull deploy PRODUCTON
27. ⽇日志 Log4js Logstash Elastic Search Kibana Filebeats
28. 错误上报及定位 Upload Sentry CLI dashboard js soucemap CI Sentry view Server App Caught E-mail / IM Exception Developer Report Sentry Client
29. 监控 Metrics Agent Time series database Dashboard Host influxDB chronograf Telegraf Container collecting Prometheus Tracing reporting Node.js? Graphite 200+ plugins grafana