Syslog-ng是一个增强的日志守护程序,支持广泛的输入和输出方法:syslog,非结构化文本,消息队列,数据库(SQL和NOSQL)等。
最简单的配置接受 /dev /log(来自应用程序或由SystemD转发)的系统日志,并将所有内容写入一个文件:
@version: 4.8
@include "scl.conf"
log {
source { system(); };
destination { file("/var/log/syslog"); };
};
这是从网络中处理日志(默认情况下TCP/514):
@version: 4.8
@include "scl.conf"
log {
source {
system();
network();
};
destination { file("/var/log/syslog"); };
};
该配置是为结构化/应用程序记录设计的,使用JSON的本地提交以及以key = value格式输出:
@version: 4.8
@include "scl.conf"
log {
source { system(); };
destination { file("/var/log/app.log" template("$(format-welf --subkeys .cim.)n")); };
};
要使用logger提交结构化日志,您可能会运行:
$ logger ' @cim: {"name1":"value1", "name2":"value2"} '在这种情况下,由此产生的消息将是:
name1=value1 name2=value2
有关配置Syslog-ng应用程序的简要介绍,请参见《 Quickstart指南》。
我们真的很想看看谁使用我们的软件,因此,如果您确实使用它并且喜欢您所看到的,请告诉我们有关它的信息。 Github上的明星或一封电子邮件表示感谢,这意味着很多,但是告诉我们有关您的用例,您的经验和要改进的事情,将不胜感激。
只需将电子邮件发送给反馈(AT)syslog-ng.org。
反馈权力开源。
Github上提供了释放和预编译的Tarballs。
要从源中编译,最简单的是使用dbld ,这是一种基于Docker的,基于自托管的编译/构建/发布基础结构。有关更多信息,请参见dbld/README.md 。
对于想从头开始编译系统列表的勇敢的灵魂,通常的演习适用:
$ ./configure && make && make install
与基于DBLD的构建相比,额外的努力是需要获取和安装Syslog-NG的所有构建依赖项(其中有一些)。
如果您没有配置脚本(例如,由于Git的克隆),请运行./autogen.sh生成它。
仅当存在所需的开发库时,才汇编Syslog-NG的某些功能。配置脚本在运行结束时显示了启用功能的摘要。有关详细信息,请参阅Syslog-ng编译说明。
各种Linux发行版中都有二进制文件,并且贡献者可维护各种OS的最新和最出色的系统log-ng版本的包装。
只需将以下命令称为root:
# apt install syslog-ng
Syslog-ng的最新版本可用于我们的APT存储库中广泛的Debian和Ubuntu版本。
包装和APT存储库是在最佳级别上提供“原样”的“原样”。
Syslog-ng软件包已发布以下发行版本(x86-64):
| 发行版 | 来源。清单组件名称 |
|---|---|
| Ubuntu 24.04 | Ubuntu-Noble |
| Ubuntu 23.04 | Ubuntu-Lunar |
| Ubuntu 22.04 | Ubuntu-Jammy |
| Ubuntu 20.04 | Ubuntu-cocal |
| Debian 12 | Debian-Book虫 |
| Debian 11 | Debian-Bullseye |
| Debian不稳定 | Debian-Sid |
| Debian测试 | Debian测试 |
下载并安装发行版签名密钥:
wget -qO - https://ose-repo.syslog-ng.com/apt/syslog-ng-ose-pub.asc | sudo apt-key add -将包含最新构建系统构建的存储库添加到APT源。例如,在Ubuntu上稳定版本22.04:
echo " deb https://ose-repo.syslog-ng.com/apt/ stable ubuntu-jammy " | sudo tee -a /etc/apt/sources.list.d/syslog-ng-ose.list运行apt update
每天都会从Git master Branch构建和释放夜间包裹。
在步骤2中使用nightly而不是stable ,以使用夜间APT存储库。例如:
echo " deb https://ose-repo.syslog-ng.com/apt/ nightly ubuntu-noble " | sudo tee -a /etc/apt/sources.list.d/syslog-ng-ose.list夜间构建可用于测试目的(获取新功能和错误文件),以破坏风险。
# pacman -S syslog-ngSyslog-ng可作为Fedora软件包使用,您可以使用DNF安装:
您可以从此处下载最新版本的软件包。
有关如何在RPM发行版中安装Syslog-ng的说明,请参见博客文章在RHEL和其他RPM发行版上安装最新的Syslog-ng。
如果您想安装来自用于测试目的的GIT最新提交的最新RPM软件包,请阅读Blog copt,syslog-ng git Head中的rpm软件包。
# brew install syslog-ng其他平台的二进制文件在官方第三方页面上列出。
二进制文件也可作为Docker图像提供。要了解更多信息,请查看博客文章,即Docker中的中央日志服务器。
有关最新的基于Markdown的版本,请参见Syslog-NG文档中心。
这里提供了一个身份提供的Syslog-ng开源版的早期版本(3.x)的正式文档。
如果您想为Syslog-ng做出贡献,修复错误或创建新模块,则Syslog-ng页面可帮助您采取第一步来使用代码库。