l2met 开源项目教程
l2metConvert a formatted log stream into metrics项目地址:https://gitcode.com/gh_mirrors/l2/l2met
项目介绍
l2met 是一个网络守护进程,它接收日志行,使用约定从日志中提取数据,并将数据的聚合输出到图表服务,如 Graphite 或 Librato。l2met 最初由 Heroku 开发,旨在解决他们在系统可见性方面遇到的一些问题,例如实时指标监控、中期趋势分析以及基于指标创建可操作的警报。
项目快速启动
安装 l2met
首先,克隆 l2met 仓库到本地:
git clone https://github.com/ryandotsmith/l2met.git
cd l2met
配置和运行
创建一个 Heroku 应用并配置 l2met:
./scripts/setup my-l2met e@foo.com abc123
这将创建一个名为 my-l2met
的 Heroku 应用,并返回一个带有加密 Librato 凭证的 drain URL。
添加 drain URL 到 Heroku 应用
heroku drains:add https://long-token@my-l2met.herokuapp.com/logs -a myapp
发送日志
在应用中输出结构化日志:
$stdout.puts("measure#db.latency=4ms")
应用案例和最佳实践
案例一:实时监控数据库延迟
通过在应用中输出包含 measure#db.latency
的日志,l2met 可以实时收集并展示数据库延迟的指标。
案例二:系统与业务指标集成
结合系统级和业务级指标,例如通过输出 measure#sales.revenue
和 measure#api.response_time
,可以同时监控业务收入和 API 响应时间。
最佳实践
- 标准化日志格式:确保所有日志遵循统一的格式,便于 l2met 解析。
- 定期检查和维护:定期检查 l2met 的配置和输出,确保数据的准确性和完整性。
典型生态项目
Graphite
Graphite 是一个开源的实时绘图系统,l2met 可以将数据输出到 Graphite 进行可视化。
Librato
Librato 提供了一个托管版本的 l2met,可以直接使用 Librato 的服务进行生产环境指标监控。
Heroku
Heroku 内部的大多数服务(如 dyno 管理器、API 等)都使用 l2met 约定进行日志记录,这些日志被发送到 Heroku 的分布式日志路由集群 logplex,然后被排入 l2met 实例进行指标计算。
通过这些生态项目的集成,l2met 能够提供一个完整的监控和日志处理解决方案。
l2metConvert a formatted log stream into metrics项目地址:https://gitcode.com/gh_mirrors/l2/l2met