1.每秒百万数据点 Go 应用监控系统演进总结与展望 05 监控架构概览 第一部分 监控系统架构概览 -- 数据源 监控系统架构概览 -- 告警配置 监控系统架构概览 -- 告警通道 如何监控 Go 应用? 第二部分 基于 Prometheus Go 应用监控接入流程 确定指标 为应用埋点 部署应用 配置服务发现 监控展示 指标类型 ● Go 运行时指标 ○ Goroutine 数量 ● 应用层指标 ○ infra_http_request_total 无法查询超过 30 天的数据 ● 查询慢,平均时间超过 2 分钟 ● 跨集群指标无法聚合 ● Prometheus 集群经常崩溃 ● 维护时 Prometheus 会丢数据 ● 成本高,需要大容量 SSD 磁盘 2021-2022 核心需求 可跨集群查询 长期存储 兼容 Prometheus 扩展性强 无侵入性 Why Thanos VS VS 架构 S3 Thanos 架构 Gateway Store Gateway Redis 2022 年底面临的问题 ● 超 100+ 倍数据点增长导致查询缓慢 ● 架构复杂,参数调优困难 ● 频繁 OOM ● 集群规模受制于 Prometheus ● 集群成本上升 2023 压测结果 VS ● CPU 使用低 1.7 倍 ● RAM 使用减少 5 倍 ● 存储空间减少了 3 倍 25K+ 1Mil 60Mil+ 业务指标数量0 码力 | 42 页 | 2.32 MB | 1 年前3
Practices of Go Microservices on Post-Kubernetes-Wei Zheng- Metrics • Based on Kubernetes/Prometheus/Grafana • Builtin framework and Go runtime collectors,Export APIs for user to add their own metrics • Declare Prometheus annotations for service discovery discovery and metrics scraping Observability - Metrics Kubernetes Prometheus Annotations Observability - Metrics Naming • Metric name should be snake_case • User metric name should start with custom_0 码力 | 59 页 | 5.66 MB | 1 年前3
Go性能优化概览-曹春晖的话,注意硬盘类型),GC 的 stw 时间 • Memstats 中的其它指标: https://github.com/prometheus/client_golang/blob/b89620c4916814c2960f16255c36d1b381cda9e7/ prometheus/go_collector.go#L45 基本套路 1. 排除外部问题,例如依赖的上游服务(包括 DB、redis、MQ)延迟 DB、redis、MQ)延迟 过⾼,在监控系统中查看 2. CPU 占⽤过⾼ -> 看 CPU profile -> 优化占⽤ CPU 较多的部分逻 辑 3. 内存占⽤过⾼ -> 看 prometheus,内存 RSS 是多少,goroutine 数量多少,goroutine 栈占⽤多少 -> 如果 goroutine 不多,那么重 点关注 heap profile 中的 inuse -> 定时任务类需要看0 码力 | 40 页 | 8.69 MB | 1 年前3
go web 框架 严清grpc_ctxtags.StreamServerInterceptor(), grpc_opentracing.StreamServerInterceptor(), grpc_prometheus.StreamServerInterceptor, grpc_zap.StreamServerInterceptor(zapLogger), grpc_auth grpc_ctxtags.UnaryServerInterceptor(), grpc_opentracing.UnaryServerInterceptor(), grpc_prometheus.UnaryServerInterceptor, grpc_zap.UnaryServerInterceptor(zapLogger), grpc_auth0 码力 | 23 页 | 333.12 KB | 1 年前3
Casdoor · An Open Source UI-first Identity Access Management (IAM) / Single-Sign-On (SSO) platform supporting OAuth 2.0, OIDC, SAML and CASUI eb UI Monitor runtime information on the Casdoor web page ? ? Pr Promet ometheus heus Use Prometheus to collect information about running Casdoor. W Web UI eb UI You can monitor the runtime information Memory Usage, and more, you need to configure your Prometheus profile. After successful configuration, you will find the following information in Prometheus: global: scrape_interval: 10s # The time interval interval for fetching metrics scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'casdoor' # Name of the application to be monitored static_configs:0 码力 | 825 页 | 58.31 MB | 1 年前3
TarsGo微服务开发实践-利开园• 跨服务withFields • 基于透传元数据 • 按大小/时间滚动 • 远程日志 vs 本地日志 的取舍 监控:主动发现问题 • RPC接口默认监控 • 自定义业务监控 • 基于Prometheus Tracing:在复杂系统中定位问题 • 依赖框架Context透传 • 基于OpenTracing+Jaeger • 第三库不支持如何解决? 错误码:给主调方更好的提示 • 错误码区分内部错误与请求0 码力 | 15 页 | 4.23 MB | 1 年前3
云原生时代分布式链路追踪实践-曲赛个项目 ✓ 停止更新 OpenCensus 2017年,起源于Google,项目负责人来自 Google,Microsoft ✓ ✓ 停止更新 OpenMetrics 2017年,起源于Prometheus社区,项目负 责人来自Grafana,Gitlab ✓ 持续更新 OpenTelemetry 2019年,由OpenTracing和OpenCensus合并 而来。 ✓ ✓ ✓ 蓬勃发展0 码力 | 17 页 | 2.47 MB | 1 年前3
云原生go-zero微服务框架设计思考负载均衡 多重防护,保障高可用 ● 链路跟踪 ● Logging ● Metrics ● 监控报警 可观测性 没有度量,就没有优化! ● 数据上报到控制台服务 ● 数据上报到prometheus go-zero如何高效解决问题 支持的特性 ● tag支持:path, form, json ● default, optional, options, range 解析校验 ●0 码力 | 29 页 | 5.70 MB | 9 月前3
2.2.1 深入Go Modulepush origin v3.0.0 血泪史 第四部分 循环依赖 L 1.0.0 L 1.1.0 M 1.0.0 etcd --> prometheous-client --> prometheus-common --> go-kit -->etcd 不再维护的第三方 总是拉不下来的版本?历史旧账! 恼人的v2 module source tree too big https://github0 码力 | 46 页 | 3.85 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台特点: 提供⾼视⻆的IT运营决策分析 Erda 的可观察性能⼒ 可观察性数据采集 - ⾃动发现并识别 services、 jobs 和 addons - 兼容 telegraf 和 prometheus 协 议 - 即将⽀持 skywalking 和 opentelemetry 弹性监控架构 模块化开发框架 第四部分 什么是 Erda Infra 开发框架 Erda Infra0 码力 | 40 页 | 8.60 MB | 1 年前3
共 11 条
- 1
- 2













