1、nxlog简介

nxlog是个跨平台日志传输插件,支持linux、windows平台,支持window及linux内置的大部分系统日志及常见的web日志,支持tcp、udp、http(s)等协议传输。

2、配置目的

通过nxlog将iis日志按syslog以udp的方式发送到linux服务器中作为linux服务器的syslog。

特殊需求:is日志中日期和时间是两个字段,需要合并成一个字段。

3、系统及软件环境

OS:window server2008 r2 Enterprise

IIS:7.5

Nxlog:2.9.1347

4、iis日志格式

5、nxlog配置步骤

1)安装nxlog

默认是安装在C:\Program Files (x86)\nxlog路径下。

2)修改nxlog.conf配置信息

位置:C:\Program Files (x86)\nxlog\conf\nxlog.conf

修改方式:请看下面【6、nxlog配置示例】

3)重启服务【nxlog】

4)验证

验证去data目录下看nxlog.log是否是否有异常,正常应该无异常,仅含启动成功的日志信息

通过资源监视器,看nxlog发送的网络流量是否存在,正常应该有

通过日志平台来验证日志是否发送成功。

‍6、nxlog配置示例‍

1)当日志文件都放在一个文件夹,nxlog.conf配置如下

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

define CERTDIR %ROOT%\cert

Moduledir %ROOT%\modules

CacheDir %ROOT%\data

Pidfile %ROOT%\data\nxlog.pid

SpoolDir %ROOT%\data

LogFile %ROOT%\data\nxlog.log

Module xm_csv

Fields $datetime, $s-ip, $cs-method, $cs-uri-stem, $cs-uri-query, $c-ip, $csUser-Agent, $cs-Referer, $cs-host, $sc-status, $sc-substatus, $sc-win32-status, $time-taken

FieldTypes string, string, string, string, string, string, string, string, string, string, string, string, string

Delimiter ' '

QuoteChar '"'

EscapeControl TRUE

UndefValue -

Module xm_syslog

Module   im_file

#iis日志目录,文件名支持通配符,文件夹不支持

File    "D:\iislog\W3SVC1\u_ex*.log"

SavePos  TRUE

#合并iis日志中的时间与日志字段为一个字段

Exec if $raw_event =~ /^#/ drop(); \

else \

{ \

$raw_event = replace($raw_event, ' ', '@',1);        \

w3c->parse_csv(); \

$raw_event = replace($raw_event, ' ', "\t");         \

$raw_event = replace($raw_event, '@', ' ',1);        \

}

Module om_udp

Host 192.168.108.2

Port 514

Exec to_syslog_bsd();

Path in => out

2)日志文件都放在多个文件夹【支持跨服务器】,nxlog.conf配置如下

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

define CERTDIR %ROOT%\cert

Moduledir %ROOT%\modules

CacheDir %ROOT%\data

Pidfile %ROOT%\data\nxlog.pid

SpoolDir %ROOT%\data

LogFile %ROOT%\data\nxlog.log

Module xm_csv

Fields $datetime, $s-ip, $cs-method, $cs-uri-stem, $cs-uri-query, $c-ip, $csUser-Agent, $cs-Referer, $cs-host, $sc-status, $sc-substatus, $sc-win32-status, $time-taken

FieldTypes string, string, string, string, string, string, string, string, string, string, string, string, string

Delimiter ' '

QuoteChar '"'

EscapeControl TRUE

UndefValue -

Module xm_syslog

Module   im_file

#iis日志目录,文件名支持通配符,文件夹不支持

File    'D:\iislog\W3SVC2\u_ex*.log'

SavePos  TRUE

#合并iis日志中的时间与日志字段为一个字段

Exec if $raw_event =~ /^#/ drop(); \

else \

{ \

$raw_event = replace($raw_event, ' ', '@',1);        \

w3c->parse_csv(); \

$raw_event = replace($raw_event, ' ', "\t");         \

$raw_event = replace($raw_event, '@', ' ',1);        \

}

Module   im_file

#iis日志目录,文件名支持通配符,文件夹不支持

File    '\\192.168.108.3\d$\iislog\W3SVC2\u_ex*.log'

SavePos  TRUE

#合并iis日志中的时间与日志字段为一个字段

Exec if $raw_event =~ /^#/ drop(); \

else \

{ \

$raw_event = replace($raw_event, ' ', '@',1);        \

w3c->parse_csv(); \

$raw_event = replace($raw_event, ' ', "\t");         \

$raw_event = replace($raw_event, '@', ' ',1);        \

}

Module om_udp

Host 192.168.108.2

Port 514

Exec to_syslog_bsd();

Path in_machine_a,in_machine_b => out

3)支持多个数据源和多个输出

配置多个in及out,可以共用一个path配置输出。

7、nxlog配置过程中出现过的问题

1)nxlog2.8版本发送异常的问题

问题现象

2015-03-11 21:27:31 ERROR if-else failed at line 50, character 246 in C:\Program Files (x86)\nxlog\conf\nxlog.conf. statement execution has been aborted; procedure 'parse_csv' failed at line 50, character 103 in C:\Program Files (x86)\nxlog\conf\nxlog.conf. statement execution has been aborted; Not enough fields in CSV input, expected 14, got 0 in input ''

导致整个进程无法继续输出日志

解决方法

替换使用2.9.1347版本的nxlog

参考

8、性能分析

从使用来看,单台服务器一天内大约会发送4到6G大小的日志到远程linux中,nxlog进程占用的资源如下:cpu占用率一般在0%到3%【40核】之间;占用带宽300k-600k/s之间;内存一般小于10M。

总体而言对性能影响较小,注意对带宽的影响。

php+log+iis,利用nxlog以syslog方式发送iis日志相关推荐

  1. 使用Nxlog将Windows日志以syslog形式发送至日志Syslog服务器

    nxlog下载地址:https://download.csdn.net/download/c1052981766/10299741 下载之后进行安装: 查看服务: 修改配置文件:C:\Program ...

  2. (转载)把syslog接收的远程日志从/var/log/messages中分开

    今天突然要配置Linux的syslog服务器,摸了一早上才弄好.记录远程机器发来的syslog消息倒是容易(网上到处都是),不过按照默认的设置,syslog会将所有信息都给写入 /var/log/me ...

  3. BizTalk Orchestration Publish Host In-Process Wcf Service without IIS 多种供客户端调用方式

    BizTalk Orchestration Publish Host In-Process Wcf Service without IIS 多种供客户端调用方式 BizTalk Server 2006 ...

  4. 获取登录域帐号信息方式之 —-IIS(VB)

    前言 java web 项目如何获取客户端登录帐号信息(用于SSO或其他) 之前总结过一篇在Java 的Web 项目中获取客户端帐号信息的文章.参见以上链接的内容. 除了那些方式之外, 还可以使用II ...

  5. 融云利用自定义消息的方式发送自定义表情

    1,自定义消息应在 init 后注册: RongIM.registerMessageType(CustomizeMessage.class); RongIM.getInstance().registe ...

  6. 工控随笔_09_西门子_S7-200 Smart与V20 USS通信USS_RPM_R利用轮询的方式通讯异常

    工控随笔_09_西门子_S7-200 Smart与V20 USS通信USS_RPM_R利用轮询的方式通讯异常 参考文章: (1)工控随笔_09_西门子_S7-200 Smart与V20 USS通信US ...

  7. boost::log模块实现loging到 syslog 服务器的示例

    boost::log模块实现loging到 syslog 服务器的示例 实现功能 C++实现代码 实现功能 boost::log模块实现loging到 syslog 服务器的示例 C++实现代码 #i ...

  8. js post方式请求另外一个php,利用JS使用POST方式提交请求的方法(结合代码详细解答)...

    下面是我给大家整理的利用JS使用POST方式提交请求的方法,有兴趣的同学可以去看看. 一般都是写上隐藏的form标签,用来调用js函数然后submit 全部用js来写也行,以下是我在一个问答频道看见别 ...

  9. 反向代理方式实现IIS与Tomcat整合

    文章目录 前言 一.环境准备 (1)确保本机的tomcat服务器下的项目能正常访问,输入http://localhost:8080 , 能正常访问到项目(项目放在tomcat的webapps文件夹下) ...

  10. Win10系统IIS服务器的安装与设置,IIS管理器打开的方式

    IIS简介 IIS全称Internet Information Services(互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,一般随windows操 ...

最新文章

  1. if(p == NULL)和 if(NULL == p)区别
  2. PTA团体程序设计天梯赛-L2-024 部落
  3. c语言程序解决生活中的问题作文,生活中烦恼的事五年级满分作文
  4. python arma_Python ARIMA
  5. 用python画圣诞树图片-节日快乐! Python画一棵圣诞树送给你
  6. java小白会有那些工作_Java小白找工作与学习的第四天
  7. centos7 安装MyCli MySQL 客户端
  8. 学习笔记:自己编译安装OpenCV+测试opencv安装是否成功
  9. java 的strip_javastript
  10. Mac 环境endnote 各种问题解决方法和word各种技巧汇总
  11. shader02-仿星空粒子
  12. 计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档)
  13. moment 时间日期处理库 解析部分
  14. 命题逻辑的合理性和完备性证明
  15. qq音乐mp3解析php源码,QQ音乐API
  16. python 开发安卓应用商店_用Python爬取各Android市场应用下载量(3分钟学会)
  17. JavaScript中 FormData 对象详解
  18. 解决win10 保存文件到C盘没有权限问题
  19. 算法_数学问题_Question8_猜牌术(java实现)
  20. JAVA 虚拟机深入研究(二)——JVM虚拟机发展以及一些Java的新东西

热门文章

  1. 从二进制格雷码到任意进制格雷码(1)
  2. 基于thinkphp的出租屋管理系统
  3. Windows 手动与脚本自动重启Print Spooler打印服务
  4. php导出excel出现乱码,php导出excel出现乱码怎么办
  5. python自动化框架搭建过程_一步一步教你编写与搭建自动化测试框架——python篇...
  6. 支付宝出征世界杯!白岩松:“中国除了足球队没去,其他都去了”
  7. ansi编码转换器安卓版_ANSI Converter-ANSI码转换器
  8. 微星主板节能模式怎么关闭_技嘉小雕、微星迫击炮、华硕电竞特工三款主板对比...
  9. hackerrank Java Data Structures
  10. 软件系统分析-分账系统