Python 如何修改syslog ng';通过tcp将日志与行流连接起来?
我有一台机器来修改syslog ng的日志; 编辑配置文件以将日志写入本地文件Python 如何修改syslog ng';通过tcp将日志与行流连接起来?,python,linux,logging,stream,syslog-ng,Python,Linux,Logging,Stream,Syslog Ng,我有一台机器来修改syslog ng的日志; 编辑配置文件以将日志写入本地文件/data/logs/access.log destination d_nginx_video { file("/data/logs/access.log" create_dirs(yes) template("$PROGRAM $MESSAGE\n"));}; 然后我想将日志文件发送到一个redis队列,我可以通过一些处理来获取日志 但我需要先读取日志文件,然后将日志放入redis 所以我使用tail-F/dat
/data/logs/access.log
destination d_nginx_video { file("/data/logs/access.log" create_dirs(yes) template("$PROGRAM $MESSAGE\n"));};
然后我想将日志文件发送到一个redis
队列,我可以通过一些处理来获取日志
但我需要先读取日志文件,然后将日志放入redis
所以我使用tail-F/data/logs/access.log | python进程放到redis队列中
,这是一种不好的方法
我想运行一个tcp服务器来接收日志文件以及如何配置syslog ng
我的tcp服务器脚本是
5144
是syslog ng端口,我通过我的脚本收听它您是否考虑过除了使用“文件”之外还使用“程序”指令,只将日志直接传输到脚本,而不涉及网络
destination d_nginx_video { program("/path/to/python/script arg arg arg"
template("$PROGRAM $MESSAGE\n"));
file("/data/logs/access.log" create_dirs(yes)
template("$PROGRAM $MESSAGE\n")); };
我不是syslog ng专家,但这似乎与您当前的方法非常相似,只是它保持脚本运行,并从syslog守护进程中不断处理日志。包含更多信息。感谢您的回答,有没有办法将日志流发送到zeromq?