小编Nic*_*ick的帖子

你如何在 syslog-ng 中使用 patterndb 变量?

我想解析一些自定义(网络设备)系统日志文件来创建我自己的格式化输出。

由于我是 syslog-ng 和 patterndb 的新手,我一直在尝试使用文档构建一个示例 - 到目前为止我的工作在这里:https : //gist.github.com/linickx/8002981

在示例中,我想读取 syslog 文件 (testfile.log):

Accepted password for sampleuser from 10.50.0.247 port 42156 ssh2
Accepted password for user from 10.51.0.27 port 4256 ssh2
Run Code Online (Sandbox Code Playgroud)

并只输出用户名和 IP 地址的列表,例如:

sampleuser; 10.50.0.247;
user; 10.51.0.27;
Run Code Online (Sandbox Code Playgroud)

为了解析日志文件,我创建了以下模式数据库(example.xml):

<patterndb version='4' pub_date='2010-10-17'>
    <ruleset name='ssh' id='123456678'>
        <pattern>ssh</pattern>
            <rules>
                <rule provider='me' id='182437592347598' class='system'>
                    <patterns>
                        <pattern>Accepted @ESTRING:SSH.AUTH_METHOD: @for @ESTRING:SSH_USERNAME: @from @ESTRING:SSH_CLIENT_ADDRESS: @port @NUMBER:SSH_PORT_NUMBER:@ ssh2</pattern>
                    </patterns>
                    <examples>
                        <example>
                            <test_message program="ssh">Accepted password for sampleuser from 10.50.0.247 port 42156 ssh2</test_message>
                            <test_values>
                                <test_value …
Run Code Online (Sandbox Code Playgroud)

syslog syslog-ng

5
推荐指数
0
解决办法
1290
查看次数

标签 统计

syslog ×1

syslog-ng ×1