用途
Railway Observability 是一份针对 Railway.com 平台可观测性能力的综合指南,用于帮助用户为部署在 Railway 上的服务搭建监控体系。它覆盖从内置指标查看到外部可观测性栈部署的完整链路,适用于设置监控、创建自定义仪表盘、配置资源阈值告警、集成外部监控系统、部署 Grafana 可观测性栈、分析服务性能指标、排查资源问题以及设置分布式追踪等场景。
主要能力
内置指标
Railway 为所有服务自动采集指标,无需任何配置,保留 30 天。指标包括:
- CPU:已分配核心的使用百分比
- 内存:RAM 使用量(MB/GB)及占限额百分比
- 磁盘:存储消耗(GB)及读写 IOPS
- 网络:入口/出口流量(MB/s)
仪表盘定制
在 Metrics 标签页中可添加和定制指标组件,支持:
- 折线图(时间序列指标)、柱状图(部署对比)、仪表盘(当前值)、表格(多指标视图)
- 拖拽式布局、可调时间范围(1h、6h、24h、7d、30d 及自定义)
- 多副本聚合(avg、min、max、sum)与按副本细分
- 图表上的部署标记,便于关联变更
告警(需 Pro 计划)
在服务设置中创建告警规则,支持阈值类型:
- CPU 阈值(如 > 80% 持续 5 分钟)
- 内存阈值(如 > 90% 持续 10 分钟)
- 磁盘使用率(如 > 85%)
- 自定义指标阈值
通知渠道包括邮件(默认)、Discord Webhook、Slack Webhook 和自定义 Webhook(JSON 载荷)。告警状态分为 Pending(条件满足、等待持续时间)、Firing(超过阈值)和 Resolved(恢复正常)。
OTEL 外部集成
通过环境变量配置 OTLP 导出,将指标、日志和追踪发送到外部系统。支持 OTLP/HTTP(端口 4318)和 OTLP/gRPC(端口 4317)协议,信号类型包括指标(Prometheus 格式)、日志(JSON 结构化)和追踪(Jaeger/Zipkin 格式)。采集器可选 Grafana Alloy(推荐)、OpenTelemetry Collector 或自定义 OTLP 导出器。
Grafana 可观测性栈
提供一键部署模板(ID: 8TLSQD),包含 Grafana(可视化,端口 3000)、Prometheus(指标存储,端口 9090)、Loki(日志聚合,端口 3100)、Tempo(分布式追踪,端口 3200)和 Alloy(OTLP 采集器,端口 4318)。模板预配置数据源、包含示例仪表盘、启用持久化存储卷和内部网络。
使用方式
访问内置指标
导航至 Railway Dashboard → Project → Service → Metrics 标签页即可查看。也可通过 CLI 使用 railway status -s <service-name> 和 railway metrics -s <service-name>。
配置 OTEL 导出
在 Railway 服务中设置环境变量:
OTEL_EXPORTER_OTLP_ENDPOINT=http://alloy:4318
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_SERVICE_NAME=my-service
OTEL_METRICS_EXPORTER=otlp
OTEL_LOGS_EXPORTER=otlp
OTEL_TRACES_EXPORTER=otlp
部署 Grafana 栈
方式一:Railway Dashboard → New Project → Deploy Template → 搜索 "8TLSQD"。
方式二:运行脚本 .claude/skills/railway-observability/scripts/deploy-grafana-stack.sh。
部署后访问 Grafana:URL 为 https://<grafana-service>.up.railway.app,用户名 admin,密码在部署时设置。
验证 OTEL 集成
使用 railway logs -s alloy 检查 Alloy 日志,应显示 "Successfully received OTLP metrics"。
适用场景
- 为 Railway 服务设置监控
- 创建自定义可观测性仪表盘
- 配置资源阈值告警
- 集成外部监控系统
- 部署 Grafana 可观测性栈
- 分析服务性能指标
- 排查资源问题
- 设置分布式追踪
限制与注意事项
- 内置指标对所有计划免费,保留 30 天
- 告警功能需要 Pro 计划(资料提及 $20/月)
- OTEL 集成适用于所有计划
- Grafana 栈作为独立的 Railway 服务部署,资料提及成本约 $20-30/月(取决于用量)
- 建议使用 Railway 内部 URL 进行 OTEL 通信以避免出口费用
- 告警需满足 Pro 计划、规则正确配置、条件持续满足完整时长、通知渠道有效等条件
- 资料中未提供其他平台支持、具体价格变动或额外功能细节