ini使用nxlog和json传输将windows事件日志信息记录到logstash(代码片段)

author author     2023-01-30     582

关键词:

define ROOT C:\Program Files (x86)\nxlog

Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log

<Extension json>
    Module      xm_json
</Extension>

<Input internal>
    Module      im_internal
</Input>

<Input eventlog>
    Module      im_msvistalog
    # this kinda works for me, put * to get everything
    Query       <QueryList>\
                    <Query Id="0">\
                        <Select Path="Application">*</Select>\
                        <Select Path="System">*</Select>\
                        <Select Path="Security">*</Select>\
                    </Query>\
                </QueryList>
</Input>

<Output out>
    Module      om_tcp
    Host        10.1.1.2
    Port        3515
    Exec        $EventReceivedTime = integer($EventReceivedTime) / 1000000; \
                to_json();
</Output>

<Route 1>
    Path        eventlog, internal => out
</Route>
input 
    tcp 
        type => "syslog"
        host => "127.0.0.1"
        port => 3514
    
    tcp 
        type   => "eventlog"
        host   => "10.1.1.2"
        port   => 3515
        format => 'json'
    


# Details at http://cookbook.logstash.net/recipes/syslog-pri/
filter 

# Incoming data from rsyslog
    grok 
        type      => "syslog"
        pattern   => [ "<%POSINT:syslog_pri>(?:%SYSLOGTIMESTAMP:syslog_timestamp|%TIMESTAMP_ISO8601:syslog_timestamp8601) %SYSLOGHOST:syslog_hostname %PROG:syslog_program(?:\[%POSINT:syslog_pid\])?: %GREEDYDATA:syslog_message" ]
        add_field => [ "received_at", "%@timestamp" ]
        add_field => [ "received_from", "%@source_host" ]
    
    syslog_pri 
        type => "syslog"
    
    date 
        type                 => "syslog"
        syslog_timestamp8601 => "ISO8601" # RSYSLOG_ForwardFormat
        syslog_timestamp     => [ "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    
    mutate 
        type         => "syslog"
        exclude_tags => "_grokparsefailure"
        replace      => [ "@source_host", "%syslog_hostname" ]
        replace      => [ "@message", "%syslog_message" ]
    
    mutate 
        type   => "syslog"
        remove => [ "syslog_hostname", "syslog_message", "syslog_timestamp", "syslog_timestamp8601" ]
    

# Incoming Windows Event logs from nxlog
    # The EventReceivedTime field must contain only digits, or it is an invalid message
    grep 
        type              => "eventlog"
        EventReceivedTime => "\d+"
    
    mutate 
        # Lowercase some values that are always in uppercase
        type      => "eventlog"
        lowercase => [ "EventType", "FileName", "Hostname", "Severity" ]
    
    mutate 
        # Set source to what the message says
        type   => "eventlog"
        rename => [ "Hostname", "@source_host" ]
    
    date 
        # Convert timestamp from integer in UTC
        type              => "eventlog"
        EventReceivedTime => "UNIX"
    
    mutate 
        # Rename some fields into something more useful
        type   => "eventlog"
        rename => [ "Message", "@message" ]
        rename => [ "Severity", "eventlog_severity" ]
        rename => [ "SeverityValue", "eventlog_severity_code" ]
        rename => [ "Channel", "eventlog_channel" ]
        rename => [ "SourceName", "eventlog_program" ]
        rename => [ "SourceModuleName", "nxlog_input" ]
        rename => [ "Category", "eventlog_category" ]
        rename => [ "EventID", "eventlog_id" ]
        rename => [ "RecordNumber", "eventlog_record_number" ]
        rename => [ "ProcessID", "eventlog_pid" ]
    
    mutate 
        # Remove redundant fields
        type   => "eventlog"
        remove => [ "SourceModuleType", "EventTimeWritten", "EventTime", "EventReceivedTime", "EventType" ]
    


output 
    elasticsearch 
        embedded => true
    
    graphite 
        # Ping the graphite server every time a syslog message is received
        type => "syslog"
        port => 2023     # carbon-aggregator
        metrics => [ "syslog.received.%@source_host.count", "1" ]
    
    graphite 
        # Ping the graphite server every time an eventlog message is received
        type => "eventlog"
        port => 2023     # carbon-aggregator
        metrics => [ "eventlog.received.%@source_host.count", "1" ]
    

NXLog 和长消息

...andlongmessages【发布时间】:2017-09-1909:42:49【问题描述】:使用NXLog将windows事件转发到JSON格式。问题是JSON消息有时会变得太大/太长,对于接收系统而言。有没有办法在不破坏JSON的情况下限制/截断从NXLog输出的JSON?我尝试只处理$... 查看详情

NXLog 传送 Windows 事件和 SeverityValue

】NXLog传送Windows事件和SeverityValue【英文标题】:NXLogshippingWindowsEventsandSeverityValue【发布时间】:2016-05-1222:58:55【问题描述】:我有NXLog将windows事件日志发送到我的logstash服务器。但是,我发现Windows事件日志中的原始严重级别被... 查看详情

sysmon+nxlog构建简单的windows安全监控

工具:Sysmon(sysmon5.0),NXlog(nxlog-ce-2.9.1716.msi).Sysmon监控系统并生成windowseventlog, NXlog将windowseventlog传输到syslog服务器。Sysmon可以监控Processcreate,Processterminate,Driverloaded,Filecreationtimechanged,Raw 查看详情

NXLog:GELF UDP 输出的 Json 输入

...其中程序以遵循GELF规范的格式记录到.Json文件。目前这是使用HTTP发送到Graylog2服务器。这是可行的,但由于HTTP的性质,存在很大的延迟,如果有大量日志消息,这是一个问题。我想将HTTP传输方式更改为UDP,以便“一劳永逸” 查看详情

NXLog Windows 事件和源

】NXLogWindows事件和源【英文标题】:NXLogWindowsEventsandSource【发布时间】:2019-09-2609:33:05【问题描述】:我只想从“puppet”源上传事件,即“WindowsLogs\\Application”。我想我得换行&lt;SelectPath=\'Application\'&gt;*&lt;/Select&gt;如... 查看详情

nxlog.conf 过滤 Windows 事件日志问题

...【发布时间】:2017-07-0614:44:16【问题描述】:我正在尝试使用nxlog提取特定的Windows事件日志并将它们显示在灰色日志中。它可以很好地检索日志,但是,我的问题是:即使使用查询,它似乎仍然会提取查询中未指定的大量数据(... 查看详情

NXLog 和旧的 Windows 事件

】NXLog和旧的Windows事件【英文标题】:NXLogandoldWindowsevents【发布时间】:2015-09-1606:11:53【问题描述】:是否可以将NXLog配置为发送旧的Windows事件所以Syslog(ELK)?所以,如果我的机器离线(任何原因失去网络)我想知道离线模式下... 查看详情

logstash--使用ngxlog收集windows日志

收集流程1nxlog=>2logstash=>3elasticsearch 1.nxlog使用模块im_file收集日志文件,开启位置记录功能 2.nxlog使用模块tcp输出日志 3.logstash使用input-tcp,收集日志,并格式化,输出至es windows上面的nxlog配置文件nxlog.conf12345678... 查看详情

从 NXLOG 中删除字段

...清楚如何告诉它删除某些字段我唯一能弄清楚的是我应该使用delete()但如何使用以及将其放置在我的配置中的位置非常令人沮丧。到目前为止,我所拥有的是:Exec$Message=delete($TargetL 查看详情

nxlog 和 elasticsearch 解析问题

...:27:47【问题描述】:我正在运行一个ELK堆栈并将我的所有Windows日志从nxlog传递给它,并且我遇到了专门针对IIS日志的问题。在nxlog中,我在nxlog.conf文件中运行它<Extensionw3c>Modulexm_csvFields$da 查看详情

在 NXLog 中选择特定级别的 Windows 应用程序日志的问题

】在NXLog中选择特定级别的Windows应用程序日志的问题【英文标题】:IssueselectingspecificlevelsofwindowsapplicationlogsinNXLog【发布时间】:2015-10-2214:18:54【问题描述】:我试图通过NXLog仅将警告/错误/关键级别的应用程序日志传递到我的ELK... 查看详情

将 Azure 日志重定向到特定的日志服务

...向到特定的日志集中器(如Graylog)。对于Windows日志,我使用的是Nxlog(https://nxlog.co/docs 查看详情

通过 nxlog 将 .log 文件转发到 Graylog2 VM 服务器

...发布时间】:2016-05-2509:51:36【问题描述】:我正处于尝试使用Graylog2的阶段。我的目标是通过graylog2网页查看应用程序日志。该应用程序托管在Windows服务器上,日志文件为ABC.log。nxlog服务配置了多行标头,以强制异常消息进入单... 查看详情

将 NXLog 连接到 Graylog2

】将NXLog连接到Graylog2【英文标题】:ConnectNXLogtoGraylog2【发布时间】:2016-10-0707:53:47【问题描述】:我已经通过NXlog成功将日志发送到Graylog2。但是NXlog和Graylog2都在同一台服务器上运行。现在我想通过NXlog从另一台服务器发送日志... 查看详情

为啥 Nxlog 使用 100% cpu 导致系统无法使用?

】为啥Nxlog使用100%cpu导致系统无法使用?【英文标题】:WhyisNxlogisusingup100%cpuleavingsystemunusable?为什么Nxlog使用100%cpu导致系统无法使用?【发布时间】:2018-06-2109:16:29【问题描述】:操作系统:Windowsserver2008R2与Nxlog企业版4.0.3550(6... 查看详情

elk系列~nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)

...很多种,如文件系统,fluentd系统等,下面我们介绍一个使用场景,也是经常涉及到的场景。log4产生日期,日期文件名,统 查看详情

elk系列~log4-nxlog-fluentd-elasticsearch写json数据需要注意的几点

经验与实践前两篇文章里我们介绍了nxlog的日志收集和转发《ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)》,今天我们主要总结一下,在与log4和fluentd及elasticsearch配合工作时需要注意的几个点,这几个点也... 查看详情

nxlog日志采集

主要用于各业务后端服务的日志采集,windows环境和linux环境都支持。rpm-ivh http://nxlog.co/system/files/products/files/1/nxlog-ce-2.9.1716-1_rhel6.x86_64.rpmrpm-qa|grepnxlognglog主要分两部分InputIn部分:File参数对应的值为日志文件完整目录地址Outpu... 查看详情