问题标签 [syslog-ng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 你怎么知道 syslog-ng 是否停止了你的监听守护进程?
syslog-ng
我编写了一个与(via )挂钩的 PHP 程序,syslog-ng.conf
它基本上是这样的:
在哪里process()
和cleanup()
由我定义。
我面临的问题是它cleanup(2)
永远不会被调用,我需要在程序退出之前执行它。
我试图使用 SIGTERM、SIGHUP 和 SIGPIPE 来捕获 SIGTERM、SIGHUP 和 SIGPIPE,pcntl_signal()
并且该应用程序的这一部分似乎工作正常(如果我在 PHP 进程上使用 kill -1,我的信号处理程序被调用并运行cleanup()
),但似乎我不是从 syslog-ng 获取这些消息。
我尝试将 STDIN 设置为非阻塞,认为 PHP 不会调用信号处理程序,因为流是阻塞的。那也不起作用,我的信号处理程序不会被调用。
我如何知道 syslog-ng 何时将停止我的应用程序,以便进行一些清理工作?
谢谢,汤姆
更新:我试图捕捉从 1 到 31 的所有信号,但当 syslog-ng 重新启动(或被 SIGTERM 杀死)时,它仍然没有收到任何信号。
log4j - 我可以使用更高级的模板在 syslog-ng 中提取 $PROGRAM 吗?
我正在使用 Java 中的两个 Apache SyslogAppenders 向 Syslog 发送消息。我的转换模式是:
然后,我将不同的 Log4J 类别配置为向其中一个或两个附加程序发送不同的消息。
在我的 syslog 配置文件中,我有:
像这样,我想要的是登录到一个文件/var/log/syslog-ng/JBoss/intg/Applications/MyApp/
和一个文件,/var/log/syslog-ng/JBoss/intg/Instances/${jboss.server.name}/
其中的文件${jboss.server.name}
被 JBoss 服务器的名称替换。
相反,我将日志写入名为Application-MyApp
and的文件夹Instance-${jboss.server.name}
。
是否可以使用 Syslog 中的 template() 指令$PROGRAM
从消息中正确提取值,分别获取 MyApp 和${jboss.server.name}
?
提前致谢
富有的
ps:要明确${jboss.server.name}
的是,到处都在适当扩展。
c++ - 如何从 Syslog-NG / Syslog 获取数据
我正在寻找创建一个 C++ 套接字应用程序,它将在端口上侦听,并从 Syslog 和 Syslog-NG 接收数据。是否有任何关于它将如何通过套接字的文档?
syslog-ng - 如何 syslog-ng 到远程设施
我有一台运行 syslog-ng 的主机。它在本地完成所有工作(创建日志文件等)。但是,我想将它的所有日志转发到远程机器 - 特别是远程机器上的一个设施(local4)。我尝试在目标中使用重写(设置工具)和模板(语法错误) - 但无济于事。
django - syslog-ng 将 <14> 添加到日志文件中的处理程序名称
在我将 syslog-ng 从 3.0 版升级到 3.1 后,我以某种方式在 django 网站的 syslog 文件中的处理程序名称之前得到 <14> 有时是 <12> ,如下所示:
有谁知道如何摆脱 <14> 日志记录?
regex - syslog-ng 如何验证标头?
我想知道 syslog-ng 如何验证标头的格式是否正确(pri、时间戳、主机名)。它是否为此使用正则表达式?
mongodb - 使用 afmongo 的 syslog-ng 挂起
一段时间后,我正在使用 syslog-ng 向 mongo 发送数据,进程挂起。tcpdump 显示没有数据传出。debuggint syslog-ng,我发现目标队列已满,正在丢弃消息;... 出现几次,然后恢复正常。最后一次它再也没有回来。使用 kill -1 $PID 可以解决它。但原因不明,我正在努力解决。如果有人有想法?
linux - 为什么 syslog-ng 无法使用 SELinux TYPE syslogd_exec_t 启动?
我在 CentOS 5.7 系统上安装了 syslog-ng,并执行 SELinux。
由于以下错误,我无法通过“service syslog-ng start”启动 syslog-ng 服务:
我通过谷歌检查并得到如下:
我可以看到 SELinux 类型
但是同样的 SELinux 类型“syslogd_exec_t”,syslogd 可以通过“service syslog start”来启动,为什么 SELinux 不允许 syslog-ng 启动?我认为他们都需要获得“调度程序参数”。
以及如何使 syslog-ng 与 SELinux 类型“syslogd_exec_t”一起使用,因为它们自然都适用于 syslog 机制。
谢谢,EM
python - 如何在 Python Logging 中设置源主机地址?
有一个用 Python 编写的脚本,它通过 IPMI 解析来自多个服务器的传感器数据和事件。然后它将图形数据发送到一台服务器,并将错误日志发送到另一台服务器。日志服务器是 Syslog-ng+Mysql
所以任务是按所有者存储日志,而不是按脚本主机存储日志。
一些代码示例:
所以我需要扩展代码,以便告诉 syslog-ng,该日志属于另一台主机。或者其他一些设计。
有任何想法吗?
升级版:
所以看起来有使用LogAdapter的方法。但是如何使用它:
通过 TcpDump 查找消息我在 LoggerAdapter 中看不到有关主机的任何信息我做错了什么?
UPD2:
好吧,我没有找到将主机发送到 syslog-ng 的方法。虽然可以在链中发送第一个主机,但我真的找不到通过 Python Logging 发送它的方法。
无论如何,我在 syslog-ng 中制作了解析器: CSV Parser
然后我将日志发送到由 ; 分隔的 syslog-ng