一,软件介绍

    nxlog 是用 C 语言写的一个开源日志收集处理软件,它是一个模块化、多线程、高性能的日志管理解决方案,支持多平台。可以处理来自许多不同来源的大量事件日志。支持的日志处理类型包括重写,关联,警报,过滤和模式匹配。其他功能包括计划,日志文件轮换,缓冲和优先处理。处理完成后,NXLog可以以任何支持的格式存储或转发事件日志。输入,输出和处理采用模块化架构和强大的配置语言实现。

    Nxlog 的 module 共分为4种,分别为:Input module 负责从各种数据源(如 file, archive, tcp, udp等)中采集数据,Output module 定义了该如何处理采集的数据,我们可以以文件的方式保存下来,也可能通过 tcp,udp 发出去。Processor module 负责对采集的数据进行处理,比如做一些内容过滤,格式转换之类的。Extension module 主要是用来扩展读写数据的接口,它可以针对特定的数据类型进行特定的处理.这里面 input 和 output 模块是必不可少的,processor 和 extension 模块的话可添加与不加

    

二,特性

  跨平台:NXLog使用Apache Portable Runtime Library,这使得NXLog能够像Apache一样,在不同的平台下运行,在Windows下,它使用Windows本地库进行编写,不依赖Cygwin这种库

  模块化的架构:NXLog具有一个轻量级模块化的架构,它使得模块是可插拔的,和Apache Web服务器类似。日志格式化、传输协议、数据库出来、NXLog语言扩展都是模块。只有当模块是需要使用的时候,才会被加载,这能够让程序使用更少的内存。NXLog的核心只具备出来文件和Socket的能力,其他的功能都被放到了各个模块里面,模块具备统一的API,开发者可以轻易的编写新的模块去扩展NXLog
客户端-服务端模式:NXLog可以作为客户端,也可以作为服务器端。它能够采集客户机上的日志并传输给远程服务器。它也能够接收从其他节点传输过来的日志信息并转发到数据库、文件等其他地方
多种输入以及输出:除了可以从日志文件采集日志消息,NXLog还支持许多不同的网络和传输层协议,例如TCP、UDP、TLS/SSL、数据库、还有Socket等方式,它既支持从这些协议里面读,也支持从这些协议里面写。

  可扩展的多线程架构:NXLog使用基于事件的架构,NXLog在处理日志消息的时候还会采用并行的模式,读取消息、输出消息等日志消息处理操作都是并行处理的。例如:当单线程的syslog进程在尝试输出日志消息到数据库的时候,它会发生堵塞,后面的UDP输入将会丢丢弃,而多线程架构的NXLog不仅避免了这个问题还充分的发挥了操作系统的并行处理能力

  高吞吐量:常规的POSIX系统为监控文件描述提供了select或poll的系统调用,但是这些方式都是不可扩展的。现代操作系统具备一些I/O就绪通知的API用于处理大量的文件打开以及网络连接并发的情况。NXLog就是使用这些高性能的API对日志消息进行处理的。

  消息缓冲:当日志消息由于网络问题导致输入堵塞的时候,NXlog会主动调整输入的流量。这能够避免日志消息丢失的情况。同时,NXLog还提供了一些消息缓存的模块可以让日志消息暂存到磁盘或内存中。当问题解决之后,缓冲会全部刷出,并被清空。除了使用现有的模块,还可以使用NXLog的语言对消息进行自定义的处理

  优先级:不是所有的日志消息都是非常重要的,有些日志消息需要被更加有限的处理,NXLog支持为日志路由设定优先级。例如,这可以避免TCP输入过载导致系统丢弃UDP syslog输入的情况
避免丢弃消息:内置的流程控制器不支持丢弃日志消息,所以你不会看到类似这种日志消息被丢弃的情况 Dec 18 18:42:42 server syslog-ng[1234]: STATS: dropped 42。当然,在提供丢弃日志消息的条件后,NXLog也能够主动丢弃日志消息。UDP协议下的Syslog是一个非常典型的案例,当kernel的缓冲区用满后,操作系统会丢掉UDP的消息。当日志消息处理导致系统非常繁忙的时候,系统内核的UDP缓冲区就会被非常快的写满。

  Apache风格的配置:配置方式和Apache服务器的方式很类似,容易学

  内置的配置语言:内置的配置语言能够让管理员更加容易的个性化去处理日志消息,Perl是解决日志处理问题的一个挺流行的语言。内置的nxlog语言和perl的语法非常类似

  任务管理器:NXLog内置了一个类似Cron的作业调度器,并且提供了更多的功能,使用这种特性,管理员能够自动的执行一些例如日志轮转,系统检查等的任务。

  日志轮转:当日志达到了一定的大小,或者到了某个具体的时间,是需要被日志轮转工具进行轮转的,file input reader模块支持扩展的日志轮转脚本,它能够对日志文件进行转移/重命名等动作,类似的,file output writer 模块能够监控文件的轮转,并在轮转完后重新打开输出。
多种多样的日志消息格式化工具:NXLog支持许多种类型的日志格式,例如Syslog、新颁布的IETF Syslog标准、GELF、JSON等等。使用日志转换函数,NXLog还能够处理多行日志消息或者自定义的日志消息。
高级日志消息处理能力:除了一些内置的功能之外,使用扩展模块可以使NxLog能够具备解决一些日志格式化,事件管理、正则匹配,日志过滤、重写、告警等动作

  离线消息处理模式:有些时候日志需要离线处理,NXLog提供了这种模式

  字符集和i18n支持:日志消息可能是各种各样的字符集写出来的,例如UTF-8、latin-2等,Nxlog具备字符集的转换能力

三,安装

wget https://nxlog.co/system/files/products/files/348/nxlog-ce-2.10.2150-1_rhel6.x86_64.rpm

 rpm -ivh nxlog-ce-2.10.2150-1_rhel6.x86_64.rpm 

 

  报错,显示没有相关的组建

       yum install libdbi

    然后rpm -ivh nxlog-ce-2.10.2150-1_rhel6.x86_64.rpm

  

  查看相关的文件位置

  

 1 [root@web01 filebeat]# rpm -ql nxlog-ce-2.10.2150-1.x86_64
 2 /etc/init.d/nxlog
 3 /etc/nxlog.conf
 4 /usr/bin/nxlog
 5 /usr/bin/nxlog-processor
 6 /usr/bin/nxlog-stmnt-verifier
 7 /usr/libexec/nxlog/modules/extension
 8 /usr/libexec/nxlog/modules/extension/xm_charconv.so
 9 /usr/libexec/nxlog/modules/extension/xm_csv.so
10 /usr/libexec/nxlog/modules/extension/xm_exec.so
11 /usr/libexec/nxlog/modules/extension/xm_fileop.so
12 /usr/libexec/nxlog/modules/extension/xm_gelf.so
13 /usr/libexec/nxlog/modules/extension/xm_json.so
14 /usr/libexec/nxlog/modules/extension/xm_kvp.so
15 /usr/libexec/nxlog/modules/extension/xm_multiline.so
16 /usr/libexec/nxlog/modules/extension/xm_perl.so
17 /usr/libexec/nxlog/modules/extension/xm_syslog.so
18 /usr/libexec/nxlog/modules/extension/xm_wtmp.so
19 /usr/libexec/nxlog/modules/extension/xm_xml.so
20 /usr/libexec/nxlog/modules/input
21 /usr/libexec/nxlog/modules/input/im_dbi.so
22 /usr/libexec/nxlog/modules/input/im_exec.so
23 /usr/libexec/nxlog/modules/input/im_file.so
24 /usr/libexec/nxlog/modules/input/im_internal.so
25 /usr/libexec/nxlog/modules/input/im_kernel.so
26 /usr/libexec/nxlog/modules/input/im_mark.so
27 /usr/libexec/nxlog/modules/input/im_null.so
28 /usr/libexec/nxlog/modules/input/im_ssl.so
29 /usr/libexec/nxlog/modules/input/im_tcp.so
30 /usr/libexec/nxlog/modules/input/im_testgen.so
31 /usr/libexec/nxlog/modules/input/im_udp.so
32 /usr/libexec/nxlog/modules/input/im_uds.so
33 /usr/libexec/nxlog/modules/output
34 /usr/libexec/nxlog/modules/output/om_blocker.so
35 /usr/libexec/nxlog/modules/output/om_dbi.so
36 /usr/libexec/nxlog/modules/output/om_exec.so
37 /usr/libexec/nxlog/modules/output/om_file.so
38 /usr/libexec/nxlog/modules/output/om_http.so
39 /usr/libexec/nxlog/modules/output/om_null.so
40 /usr/libexec/nxlog/modules/output/om_ssl.so
41 /usr/libexec/nxlog/modules/output/om_tcp.so
42 /usr/libexec/nxlog/modules/output/om_udp.so
43 /usr/libexec/nxlog/modules/output/om_uds.so
44 /usr/libexec/nxlog/modules/processor
45 /usr/libexec/nxlog/modules/processor/pm_blocker.so
46 /usr/libexec/nxlog/modules/processor/pm_buffer.so
47 /usr/libexec/nxlog/modules/processor/pm_evcorr.so
48 /usr/libexec/nxlog/modules/processor/pm_filter.so
49 /usr/libexec/nxlog/modules/processor/pm_norepeat.so
50 /usr/libexec/nxlog/modules/processor/pm_null.so
51 /usr/libexec/nxlog/modules/processor/pm_pattern.so
52 /usr/libexec/nxlog/modules/processor/pm_transformer.so
53 /usr/share/doc/nxlog-ce/ChangeLog.txt
54 /usr/share/doc/nxlog-ce/figures
55 /usr/share/doc/nxlog-ce/figures/architecture.png
56 /usr/share/doc/nxlog-ce/figures/architecture1.png
57 /usr/share/doc/nxlog-ce/figures/architecture2.png
58 /usr/share/doc/nxlog-ce/figures/msi-installer.png
59 /usr/share/doc/nxlog-ce/figures/windows-service.png
60 /usr/share/doc/nxlog-ce/nxlog-reference-manual.html
61 /usr/share/doc/nxlog-ce/nxlog-reference-manual.pdf
62 /usr/share/nxlog-ce/core-fields.xml
63 /usr/share/nxlog-ce/im_internal-fields.xml
64 /usr/share/nxlog-ce/im_mark-fields.xml
65 /usr/share/nxlog-ce/im_mseventlog-fields.xml
66 /usr/share/nxlog-ce/im_msvistalog-fields.xml
67 /usr/share/nxlog-ce/im_ssl-fields.xml
68 /usr/share/nxlog-ce/im_tcp-fields.xml
69 /usr/share/nxlog-ce/im_udp-fields.xml
70 /usr/share/nxlog-ce/pm_norepeat-fields.xml
71 /usr/share/nxlog-ce/pm_pattern-fields.xml
72 /usr/share/nxlog-ce/xm_syslog-fields.xml
73 /usr/share/perl5/vendor_perl/Log/Nxlog.pm
74 /var/lib/nxlog/cert
75 /var/log/nxlog
76 /var/run/nxlog
77 /var/spool/nxlog

可以看见对应的启动文件与配置文件目录

编辑配置文件 

## This is a sample configuration file. See the nxlog reference manual about the
## configuration options. It should be installed locally under
## /usr/share/doc/nxlog-ce/ and is also available online at
## http://nxlog.org/docs########################################
# Global directives                    #
########################################
User nxlog
Group nxlogLogFile /var/log/nxlog/nxlog.log
LogLevel INFO########################################
# Modules                              #
########################################
<Extension _syslog>Module      xm_syslog
</Extension><Input in1>Module       im_fileFile        '/application/nginx/logs/*.log'SavePos     True
</Input><Output fileout1>Module    om_fileFile    "/var/log/logmsg.txt"Exec    if $Message =~ /error/ $SeverityValue = syslog_severity_value("error");Exec    to_syslog_bsd();
</Output><Output out>Module      om_tcpHost        10.0.0.223Port        514
</Output>########################################
# Routes                               #
########################################
<Route tcproute>Path    in1 => out
</Route>

启动软件

/etc/init.d/nxlog restart

1 root@web01 filebeat]# /etc/init.d/nxlog restart
2 Restarting nxlog daemon...
3 Starting nxlog daemon...
4 nxlog started!
5 nxlog restarted

好像启动了查看日志发现问题了

logstash 进行对接配置

  

input {tcp {port => 514
}redis {data_type => "list"host => "10.0.0.7"db => "1"port => "6379"password => "123"key => "filesystem-log-5612"}
}output {elasticsearch {hosts => ["10.0.0.223:9200"]index => "filesystem-log-5612-%{+YYYY.MM.dd}"}
}

有端口了

再到客户端运行

/etc/init.d/nxlog restart

可以了

到head查看,日志写一块了,可能不怎么清楚,

转载于:https://www.cnblogs.com/kingle-study/p/10366175.html

日志收集之nxlog相关推荐

  1. 日志收集平台Graylog2以及Nxlog的安装与配置(基于docker)

    graylog 安装配置 OS:CentOS7 64 基于Docker的安装 graylog 官网 docker 安装 Persist log data mkdir -p /graylog/confi ...

  2. Kubernetes 日志收集的原理,看这一篇就够了

    准备 关于容器日志 Docker 的日志分为两类,一类是 Docker 引擎日志:另一类是容器日志.引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置. 本文主要介绍容器日志,容器日志可以理 ...

  3. log_pipe日志收集分析系统介绍

    一.简要介绍 log_pipe是一个高性能的日志收集分析系统,从13年11月第一版上线以来,已经在阿里内部有了广泛的使用,目前在日志最为繁忙的CDN节点内部已经部署超过20个节点,用于对CDN的访问日 ...

  4. 看不到日志_Kubernetes中常用的日志收集方案

    在kubernetes中对日志的处理方式叫做cluster-level-logging,即这个日志处理系统跟容器,Pod,Node的生命周期无关,也就是无论是容器挂了,Pod被删除了还是Node宕机了 ...

  5. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  6. Nginx容器日志收集方案fluentd+elasticsearch+kilbana

    容器技术在发展到今天已经是相当的成熟,但容器不同于虚拟机,我们在使用容器的同时也有很多相关的技术问题需要解决,比如:容器性能监控,数据持久化,日志监控与分析等.我们不能像平时使用虚拟机一样来管理容器, ...

  7. 系统调用日志收集系统

    1,系统调用日志收集系统的意义. 系统调用是用户获取系统服务的唯一入口,因此对系统调用的安全调用直接关系到系统 的安全,假如有用户恶意不断地调用系统调用,将会导致系统负载增加,所以如果能收集到时谁 调 ...

  8. 基于Flume的美团日志收集系统(二)改进和优化

    在<基于Flume的美团日志收集系统(一)架构和设计>中,我们详述了基于Flume的美团日志收集系统的架构设计,以及为什么做这样的设计.在本节中,我们将会讲述在实际部署和使用过程中遇到的问 ...

  9. 借鉴开源框架自研日志收集系统

    踏浪无痕 岂安科技高级架构师 十余年数据研发经验,擅长数据处理领域工作,如爬虫.搜索引擎.大数据应用高并发等.担任过架构师,研发经理等岗位.曾主导开发过大型爬虫,搜索引擎及大数据广告DMP系统目前负责 ...

  10. AOP、注解实现日志收集

    1.问题描述 需要对日常使用对接口进行出入参数.请求结果.请求耗时.请求关键信息等的记录 2.解决方案 利用注解标示出接口中的关键信息.利用AOP进行方法前后的拦截记录请求入参以及处理结果.利用SPE ...

最新文章

  1. ubuntu18.04.4 安装 qq x64 版本
  2. Ambient occlusion
  3. 1.9 Java 9增强的自动资源管理
  4. python random.choice报错_如何解决mtrand.RandomState.choice中的内存错误...
  5. 计算机组成原理CRC相关运算,计算机组成原理复习
  6. 【学习】程序员技术练级攻略
  7. 山东省枣庄市台儿庄区云平台运维故障处理一例
  8. jdbc连接Oracle/MySQL数据库进行批量导入操作,如何提高效率???
  9. java message_Java Message System简介
  10. python 深copy_python中的深copy和浅copy
  11. 2020国开c语言程序设计1075,代号1253国开点大2017年6月春季学期本科期末考试《C语言程序设计》试题及答案.pdf...
  12. 新乡医学院2018计算机考试题,新乡医学院继教2018级局部解剖学复习自测下肢答案...
  13. 造成sql注入的功能点_创建一个SQL注入保护功能
  14. Git——版本回退【git reset / git log / git reflog】
  15. python newbie——PE No.3
  16. Python并发机制的实现(一)——多进程
  17. python安装mysql模块_Python:使用pip安装MySQL-python模块
  18. default在php定义什么,default(T)的含义
  19. 偏微分方程的数值解(一):定解问题 差分解法
  20. 生物学和计算机学哪个好,生物学和计算机

热门文章

  1. 肖哥所有课程/HCNA HCNP/安全/云计算/虚拟化/linux/视频教程/资料软件下载链接
  2. 互联网晚报 | 7月27日 星期三 | 微信安装包11年膨胀575倍;阿里申请香港纽约双重主要上市;苹果应用商店被曝大量色情应用...
  3. 【JavaScript】封装对象与强制类型转换
  4. HTML CSS 个人网页设计 WEB前端大作业代码
  5. 计算机无线网络服务禁用了怎么办,Win10无线网络服务被禁用怎么办 Wlan选项不见无法上网的修复步骤...
  6. 指南-AT应用指南-AT指令指南-音频播放和TTS
  7. 摄像头(Camera)图像测试(以Imatest为主要工具)V1.0
  8. 从零开始学编程-从C开始
  9. Jlink软件下载和安装教程
  10. 您需要计算机管理员权限,安装需要管理员权限,教您怎么设置安装软件需要管理员权限...