zoukankan      html  css  js  c++  java
  • rsyslogd系统日志服务总结

    简单介绍

    • syslog系统日志服务协议,标准出来的比较晚
    • 用于记录系统日志或者用户程序产生的日志
    • 采用C/S架构,本地可以通过socket和syslogd守护进程通讯,远程通过TCP/UDP协议通信,支持加密,默认端口是514
    • 除了可以记录本地日志之外,还可以作为中继器(relay转发)或者接收器(collector)接收来自支持syslog协议客户端的日志
    • CentOS6.0后,使用rsyslogd代替syslogd,rsyslogd是对syslogd的增强和扩展
    • rsyslogd支持文件写入本地文件,也支持写入关系型数据库,或者写入Kafka以及hdfs
    • 注意
      • 如果日志信息包含多行,每一行是syslog的一个msg,对于整体分析会有问题
    • syslog整体架构

    • rsyslogd内部实现


    (图片来源rsyslog官方文档)

    syslog格式

    • HEADER MSG
    • <>包含的是Facility+Severity
    • HEADER部分包含 时间 + host/ip
    • MSG是具体的消息内容

    syslog配置文件

    • 每一行表示一个项目,格式为:facility.level action
    • 常见的facility有:
      • kern: 内核信息
      • user: 用户进程相关信息
      • mail: 电子邮件相关信息
      • daemon: 后台进程相关信息
      • authpriv: 包括特权信息如用户名在内的认证活动等
      • cron: 计划任务信息
      • syslog: 系统日志信息
    • 重要级(按严重程度由低到高排序):
      • debug: 调试信息
      • info: 打印的信息
      • none: 没有重要级,通常用于排错
      • notice: 具有重要信息的普通条件
      • warning: 警告信息
      • err: 错误信息
      • crit: 阻止某些工具或子系统功能实现的错误条件
      • alert: 需要立即被修改的条件
      • emerg: 该系统不可用
    • 操作动作
      • 文件
      • 远程日志服务
      • 其他存储
    # /etc/rsyslog.conf
    
    # Provides UDP syslog reception
    $ModLoad imudp
    $UDPServerRun 514
    
    # php-fpm daemon messages
    if $syslogfacility-text == "daemon" and $programname == "php-fpm"  then /var/log/php-fpm-error.log
    
    # php error messages
    if $syslogfacility-text == "user" and $programname == "php" then /var/log/php-error.log
    
    
    • 重启rsyslogd服务(CentOS7)
    [root@wadeyu ~]# systemctl restart rsyslog
    

    参考资料

  • 相关阅读:
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    composer安装以及更新问题,配置中国镜像源。
    PHP使用文件排它锁,应对小型并发
  • 原文地址:https://www.cnblogs.com/wadeyu/p/10726421.html
Copyright © 2011-2022 走看看