集群应用程序的异步日志记录
asyncio logging for cluster app
需要有关在 Python(asyncio) 编写的集群应用程序中组织日志记录的建议。应用程序使用日志记录模块并将日志存储在本地文件中。
看3台服务器的日志不舒服。
我想使用 rsyslog,但担心它会阻止应用程序。另一种使用 aioredis(推送到频道)和另一个应用程序在单个文件中收集数据的方法。
一个简单的解决方案是要求 logging
在本地登录 syslog(通常是 /dev/log
,这不会阻止您的应用程序)(因此您的应用程序未绑定到您的日志系统: 它仍然是可移植的),然后让 rsyslog
(我个人更喜欢 syslogng
)将它们传输到主日志服务器。
另一种解决方案是使用 logstash
之类的工具将您的日志推送到 elasticsearch
服务器/集群,以便您可以轻松浏览和绘制日志。在这种情况下,如果您的日志行是 json 个对象,这是一个巨大的胜利,因为弹性搜索端(通常通过 kibana
),您将能够查询、过滤和聚合您的字段json 文档。通常绘制信息与警告与错误、每个文件或每个用户的错误频率等...
需要有关在 Python(asyncio) 编写的集群应用程序中组织日志记录的建议。应用程序使用日志记录模块并将日志存储在本地文件中。
看3台服务器的日志不舒服。 我想使用 rsyslog,但担心它会阻止应用程序。另一种使用 aioredis(推送到频道)和另一个应用程序在单个文件中收集数据的方法。
一个简单的解决方案是要求 logging
在本地登录 syslog(通常是 /dev/log
,这不会阻止您的应用程序)(因此您的应用程序未绑定到您的日志系统: 它仍然是可移植的),然后让 rsyslog
(我个人更喜欢 syslogng
)将它们传输到主日志服务器。
另一种解决方案是使用 logstash
之类的工具将您的日志推送到 elasticsearch
服务器/集群,以便您可以轻松浏览和绘制日志。在这种情况下,如果您的日志行是 json 个对象,这是一个巨大的胜利,因为弹性搜索端(通常通过 kibana
),您将能够查询、过滤和聚合您的字段json 文档。通常绘制信息与警告与错误、每个文件或每个用户的错误频率等...