Your SlideShare is downloading. ×
syslog&syslog-ng
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

syslog&syslog-ng

878
views

Published on

Published in: Technology, Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
878
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 可以按接收时间,发送时间,总条数,时间间隔归档
  • Transcript

    • 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 协议,非强制性
    • 4. 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”
    • 12.
      • syslog-ng
      • 下一代系统日志工具
    • 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("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); };
    • 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 ★
    • 24. End Thanks