微服务日志监控、部署与容器化实践
1. 日志与监控指南
1.1 日志生成
Helping Hands 应用的微服务需要生成应用日志和审计日志,这些日志可由 ELK Stack 捕获。应用日志可以使用 Clojure 的 tools.logging
库生成,其采用标准的 log4j 风格语法记录消息。
1.2 结构化日志
推荐使用结构化日志,因为它更易于使用 Logstash 等工具在集中式存储库中解析和加载。例如 timbre
库支持结构化日志,还允许直接将日志发布到远程服务,而非记录到文件。
1.3 日志标签
在日志消息中包含预定义的标准标签,有助于过滤和深入分析日志。以下是一些常用标签:
| 名称 | 事件 | 说明 |
| ---- | ---- | ---- |
| <service>
| 服务名称 | 如 helping-hands.alert
|
| <service>-start
| 应用启动并运行 | 从主函数记录 |
| <service>-init
| 服务启动并成功初始化 | 完成所需配置后记录 |
| <service>-stop
| 应用退出前 | 主函数的最后一条语句或在关闭钩子中 |
| <service>-config