SlideShare a Scribd company logo
应用 syslog 和 syslog-ng http://www.juruntang.net 200903
目 录 syslog 基本概念 下一代日志: syslog-ng 应用 syslog 开发 windows 下使用 syslog 参考资料
syslog 服务 广泛应用与 *nix 系统 系统日志,应用日志 syslog 服务的三种形式 发送  Device 转发  Relay 接收  Collector 2001 年 RFC3164 , BSD syslog 协议,非强制性
syslog 进程层次结构
RFC 3164 UDP 514 端口,不需要应答 UDP 报文不超过 1024 全部为可打印字符 三部分 PRI HEADER MSG
日常使用关心的结构 正文 (Content) 程序模块 (Facility) 严重性 (Severity 或 Level) 时间 主机名或 IP 进程名或进程 ID
Facility 0-23 ,共 24 个设备 几个重要 0: kernel 2: mail 3: system daemons 预留给其他 1: user 16-23: Local0-Local7
Level 8 个等级 0-emerg( 系统不可用) 1-alert( 紧急情况) 2-crit (严重错误) 3-err (一般性错误) 4-warning (警告) 5-notice (值得注意的消息) 6-info (一般消息) 7-debug (调试消息)
syslog 配置文件 (1) /etc/syslog.conf, 多条规则 每条规则都要匹配 规则:条件 (F.L)  操作 mail.err  /var/log/mail.err 通配符  * = ! mail.*;auth.!info /var/log/mail   *  等同于  7(debug)  等级
syslog 配置文件 (2) 文件前用 -, 表示缓冲写文件 不同的 F 用 , 隔开 不同条件可以用 ; 隔 none ,排除这个设备 *.debug;auth,mail.none -var/log/debug 发送网络 *.err  @192.168.1.1 在控制台 *.err /dev/console
调试工具 -logger 系统自带 最常用参数  -p ,不同 *nix 必有 用法: logger -p f.l “content” #  logger -p local0.debug“info msg” 例子: 规则  mail.info /var/log/mail.info mail.err  /var/log/mail.err #  logger -p mail. err  “err from roger”
syslog-ng 下一代系统日志工具
syslog-ng 概述 API : syslog() 不变 兼容 syslog 开源 & 商业版本 特点 TCP 正则消息过滤 多种归档方式 配置更清晰,更灵活 主机链 被多个 os 采用 ,debian,freebsd 等
syslog-ng 配置文件 /etc/syslog-ng/syslog-ng.conf 核心参数 sync(0); # 立刻写磁盘 log_fifo_size(2048); # 设置输出队列的缓存,防止消息丢失 规则 消息路径 『消息源 - 过滤器 - 目的站』 通过定义多个消息源,把匹配上若干个过滤器的消息导向到指定的目的地,从而组成一个消息路径。
syslog-ng 配置例子 - 发送 发送方配置 # 目的 destination d_loghost { tcp("192.168.1.215" port(8514)); file("/tmp/loglocal"); // 本机做的备份 }; # 过滤器,只发送 local0.info 的 filter f_local0_info { facility(local0) and level(info); }; # 消息路径 log { source(s_all); filter(f_local0_info); destination(d_loghost); };
syslog-ng 配置例子 - 接收 接收方配置 source s_remote { tcp(ip(192.168.1.215) port(8514)); }; filter f_paycard_a { #match(&quot;<v001>&quot;);  # 正则过滤,暂时没有使用 program(&quot;paycard&quot;); }; # 存放在发送时间命名的文件中,例如: paycard_one.log.2008-12-05  # 这样自动文件就分割了 destination d_paycard_a { file(&quot;/tmp/paycard_one.log.$S_YEAR-$S_MONTH-$S_DAY&quot;); }; log { source(s_remote); filter(f_paycard_a); destination(d_paycard_a); };
syslog 开发 c php python 应用类型
syslog 开发 -c void openlog(const char *ident, int logopt, int facility) 指定 ident 指定 facitlity void syslog(int priority, const char *message, ...) 指定 level 发送消息 void closelog(void)
syslog 开发 -PHP 完全和 c 开发相同 只能在 *nix 上使用 内嵌模块
syslog 开发 -python import syslog syslog.openlog('paycard',    syslog.LOG_LOCAL0) syslog.syslog(syslog.LOG_INFO, “msg”)
应用类型 程序应用日志 Message Queueu :并行变串行 中央日志服务器监控 对 syslog/syslog-ng 进行监控
Windows 上使用 syslog 作为发送方 直接实现 RFC3164 , UDP 方式 将 win 的 Eventlog 转换 syslog 格式发送 开源实现 http://sourceforge.net/projects/ntsyslog/ https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/
参考资料 syslog http://www.cnblogs.com/yoleung/articles/1183375.html http://bbs.tech-lab.cn/viewthread.php?tid=30253 syslog-ng http://coolerfeng.blog.51cto.com/133059/79964 http://coolerfeng.blog.51cto.com/133059/80152 http://www.campin.net/syslog-ng/faq.html ★
End Thanks

More Related Content

PPTX
Free rtos简介
PPT
DNS IPv6
PPTX
Os讀書會20170415
PPT
Analysis on tcp ip protocol stack
PPT
網路組-Ubuntu介紹
KEY
ZeroMQ简介
PDF
簡介 Linux 的 Network Namespace 功能
PDF
Performance tuning
Free rtos简介
DNS IPv6
Os讀書會20170415
Analysis on tcp ip protocol stack
網路組-Ubuntu介紹
ZeroMQ简介
簡介 Linux 的 Network Namespace 功能
Performance tuning

What's hot (19)

DOCX
Linux学习
PPT
使用Nginx轻松实现开源负载均衡——对外版
PDF
Linux基础
PPTX
揭秘家用路由器Ch10 sharing
PDF
OpenWRT Case Study
PPTX
艾鍗學院-單晶片韌體-CC2500通訊實驗
PPT
使用Nginx轻松实现开源负载均衡
PPT
使用Nginx轻松实现开源负载均衡
PPTX
TCP/IP通訊協定
PPTX
Analysis of Adobe's RTMFP Protocol
PPT
Lysu's Java Socket notes
PPT
第9讲 Eigrp
PDF
Mac os Terminal 常用指令與小技巧
PDF
程式設計師的自我修養 Chapter 8
PPT
构建ActionScript游戏服务器,支持超过15000并发连接
PDF
Introduce to Linux command line
PDF
How to Prevent DNS Attacks on MikroTik.pdf
PPT
Erlang高级原理和应用
PPT
第10讲 Ospf
Linux学习
使用Nginx轻松实现开源负载均衡——对外版
Linux基础
揭秘家用路由器Ch10 sharing
OpenWRT Case Study
艾鍗學院-單晶片韌體-CC2500通訊實驗
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
TCP/IP通訊協定
Analysis of Adobe's RTMFP Protocol
Lysu's Java Socket notes
第9讲 Eigrp
Mac os Terminal 常用指令與小技巧
程式設計師的自我修養 Chapter 8
构建ActionScript游戏服务器,支持超过15000并发连接
Introduce to Linux command line
How to Prevent DNS Attacks on MikroTik.pdf
Erlang高级原理和应用
第10讲 Ospf
Ad

Syslog Ng

  • 1. 应用 syslog 和 syslog-ng http://www.juruntang.net 200903
  • 2. 目 录 syslog 基本概念 下一代日志: syslog-ng 应用 syslog 开发 windows 下使用 syslog 参考资料
  • 3. syslog 服务 广泛应用与 *nix 系统 系统日志,应用日志 syslog 服务的三种形式 发送 Device 转发 Relay 接收 Collector 2001 年 RFC3164 , BSD syslog 协议,非强制性
  • 5. RFC 3164 UDP 514 端口,不需要应答 UDP 报文不超过 1024 全部为可打印字符 三部分 PRI HEADER MSG
  • 6. 日常使用关心的结构 正文 (Content) 程序模块 (Facility) 严重性 (Severity 或 Level) 时间 主机名或 IP 进程名或进程 ID
  • 7. Facility 0-23 ,共 24 个设备 几个重要 0: kernel 2: mail 3: system daemons 预留给其他 1: user 16-23: Local0-Local7
  • 8. Level 8 个等级 0-emerg( 系统不可用) 1-alert( 紧急情况) 2-crit (严重错误) 3-err (一般性错误) 4-warning (警告) 5-notice (值得注意的消息) 6-info (一般消息) 7-debug (调试消息)
  • 9. syslog 配置文件 (1) /etc/syslog.conf, 多条规则 每条规则都要匹配 规则:条件 (F.L) 操作 mail.err /var/log/mail.err 通配符 * = ! mail.*;auth.!info /var/log/mail * 等同于 7(debug) 等级
  • 10. syslog 配置文件 (2) 文件前用 -, 表示缓冲写文件 不同的 F 用 , 隔开 不同条件可以用 ; 隔 none ,排除这个设备 *.debug;auth,mail.none -var/log/debug 发送网络 *.err @192.168.1.1 在控制台 *.err /dev/console
  • 11. 调试工具 -logger 系统自带 最常用参数 -p ,不同 *nix 必有 用法: logger -p f.l “content” # logger -p local0.debug“info msg” 例子: 规则 mail.info /var/log/mail.info mail.err /var/log/mail.err # logger -p mail. err “err from roger”
  • 13. syslog-ng 概述 API : syslog() 不变 兼容 syslog 开源 & 商业版本 特点 TCP 正则消息过滤 多种归档方式 配置更清晰,更灵活 主机链 被多个 os 采用 ,debian,freebsd 等
  • 14. syslog-ng 配置文件 /etc/syslog-ng/syslog-ng.conf 核心参数 sync(0); # 立刻写磁盘 log_fifo_size(2048); # 设置输出队列的缓存,防止消息丢失 规则 消息路径 『消息源 - 过滤器 - 目的站』 通过定义多个消息源,把匹配上若干个过滤器的消息导向到指定的目的地,从而组成一个消息路径。
  • 15. syslog-ng 配置例子 - 发送 发送方配置 # 目的 destination d_loghost { tcp(&quot;192.168.1.215&quot; port(8514)); file(&quot;/tmp/loglocal&quot;); // 本机做的备份 }; # 过滤器,只发送 local0.info 的 filter f_local0_info { facility(local0) and level(info); }; # 消息路径 log { source(s_all); filter(f_local0_info); destination(d_loghost); };
  • 16. syslog-ng 配置例子 - 接收 接收方配置 source s_remote { tcp(ip(192.168.1.215) port(8514)); }; filter f_paycard_a { #match(&quot;<v001>&quot;); # 正则过滤,暂时没有使用 program(&quot;paycard&quot;); }; # 存放在发送时间命名的文件中,例如: paycard_one.log.2008-12-05 # 这样自动文件就分割了 destination d_paycard_a { file(&quot;/tmp/paycard_one.log.$S_YEAR-$S_MONTH-$S_DAY&quot;); }; log { source(s_remote); filter(f_paycard_a); destination(d_paycard_a); };
  • 17. syslog 开发 c php python 应用类型
  • 18. syslog 开发 -c void openlog(const char *ident, int logopt, int facility) 指定 ident 指定 facitlity void syslog(int priority, const char *message, ...) 指定 level 发送消息 void closelog(void)
  • 19. syslog 开发 -PHP 完全和 c 开发相同 只能在 *nix 上使用 内嵌模块
  • 20. syslog 开发 -python import syslog syslog.openlog('paycard', syslog.LOG_LOCAL0) syslog.syslog(syslog.LOG_INFO, “msg”)
  • 21. 应用类型 程序应用日志 Message Queueu :并行变串行 中央日志服务器监控 对 syslog/syslog-ng 进行监控
  • 22. Windows 上使用 syslog 作为发送方 直接实现 RFC3164 , UDP 方式 将 win 的 Eventlog 转换 syslog 格式发送 开源实现 http://sourceforge.net/projects/ntsyslog/ https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/
  • 23. 参考资料 syslog http://www.cnblogs.com/yoleung/articles/1183375.html http://bbs.tech-lab.cn/viewthread.php?tid=30253 syslog-ng http://coolerfeng.blog.51cto.com/133059/79964 http://coolerfeng.blog.51cto.com/133059/80152 http://www.campin.net/syslog-ng/faq.html ★

Editor's Notes

  • #14: 可以按接收时间,发送时间,总条数,时间间隔归档