海运的博客

Syslog-ng配置文件详解

发布时间:June 22, 2012 // 分类:日记分析 // No Comments

Syslog-ng作为syslog的下一代日记记录工具,兼容于syslog协议,可通过定义规则,实现高级过滤功能,可以构建灵活的、可靠的中央日志服务器。
配置文件基于以下架构:

log { source( ); filter( l); destination( ); };
#通过关联数据源、过滤规则、目标操作组成一个完整的消息路径。
#数据源、过滤规则、目标操作分别定义。

数据源定义source:

source <sourcename> { 日志源; 日志源; ... };
#日志源可用参数:
file (filename) : 从指定的文件读取日志信息
unix-dgram  (filename) : 从SOCK_DGRAM模式的unix套接字接收日志消息
unix-stream (filename) : 从SOCK_STREAM模式的unix套接字接收日志消息
udp ( (ip),(port) ) :从UDP端口接收日志
tcp ( (ip),(port) ) : 从TCP端口接收日志
internal() : syslog-ng内部产生的日志
pipe(filename),fifo(filename) : 从指定的管道或者FIFO设备,读取日志信息

应用示例:

source net {udp();};
从UDP 514端口接收日志

过滤参数定义:

filter <filtername> { 过滤参数; };
#过滤参数可用:
facility(,): 根据facility(设备)选择日志消息,使用逗号分割多个facility
level(,): 根据level(优先级)选择日志消息,使用逗号分割多个level,或使用“..”表示一个范围
program(regexp): 日志消息的程序名是否匹配一个正则表达式
host(regexp): 日志消息的主机名是否和一个正则表达式匹配
match(regexp): 对日志消息的内容进行正则匹配
filter(): 调用另一条过滤规则并判断它的值
#过滤参数操作式:
and 和
or 或者
not 不包含
#facility(设备)可用消息类型
auth            用户认证
authpriv        有特权的用户认证
cron            cron守护进程
daemon          各种系统守护进程
ftp             ftp守护进程
kern            内核消息
local0-local7   保留用于本地用法
lpr             打印机  
mail            邮件    
news            新闻    
syslog          内部syslog
uucp            uucp系统
user            各种用户程序来的消息
#Level等级:
emerg   最严重的错误 (如system panic)
alert   需要立即处理的严重错误
crit    critical warming
err     普通错误
warn    警告信息
notice  比较不严重的信息
info    普通信息
debug   除错信息

应用举例:

filter f_local { facility(authpriv) or level(notice); };
#定义过滤规则f_local包含authpriv所有消息和其它设备notice级别以上消息

目标操作定义destination:

destination <name> { 目标操作; 目标操作;  ...  ;};
#目标操作常用参数:
file (filename) :写入指定文件
unix-dgram  (filename) :写入SOCK_DGRAM模式的unix套接字
unix-stream (filename) :写入SOCK_STREAM模式的unix套接字
tcp  (ip),(port) :以TCP协议发送指定主机端口
udp (ip),(port) :以UDP协议发送指定主机端口
usertty(username) :把日志消息发送到已经登陆的指定用户终端
pipe(filename),fifo(filename) :把日志消息发送到指定的管道或者FIFO设备
program(parm) :启动指定的程序,并把日志消息发送到该进程的标准输入

应用示例:

destination d_kern { file("/var/log/kern"); }
定义目标规则d_kern写入日志到文件/var/log/kern
destination d_udp  { udp("127.0.0.1" port(514)); };
定义目标规则d_udp发送日志到相应IP端口

标签:日志, syslog-ng, syslog-ng配置文件详解

评论已关闭

分类
最新文章
最近回复
  • 海运: 正常情况下编译整个内核执行make menuconfig后就不会出现此提示,当单独编译单个模块...
  • oijq: 就是用的armbian的配置文件哈,按你的教程做的,在执行make LOCALVERSION=...
  • 海运: 使用armbian的配置文件,其它添加或修改自己懂的部分,不懂的就不要碰了。
  • oijq: 编译时这些选项全部选Y吗?Actions Semi Platforms (ARCH_ACTIO...
  • 海运: n1编译bbr内核模块参考这个:https://www.haiyun.me/archives/...
  • jiqz: make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules编...
  • ruralhunter: 哦,文档里应该是对的,是.config
  • ruralhunter: cp /mnt/boot/config-4.18.7-aml-s9xxx .config这里应...
  • 海运: 你是编译不成功呢?还是编译后不能运行呢?还是运行后不能访问web界面呢?
  • 白墨: 可能不清楚就是编译安装后启动后访问不了web界面