Syslog Ng
Upcoming SlideShare
Loading in...5
×
 

Syslog Ng

on

  • 4,703 views

 

Statistics

Views

Total Views
4,703
Views on SlideShare
4,686
Embed Views
17

Actions

Likes
2
Downloads
56
Comments
0

1 Embed 17

http://www.slideshare.net 17

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 可以按接收时间,发送时间,总条数,时间间隔归档

Syslog Ng Syslog Ng Presentation Transcript

  • 应用 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