syslog-ng 配置

option 全局配置

source 数据源

source <identifier> { source-driver(params);source-driver(params);... };

internal syslog-ng内部产生的消息
unix-stream 打开指定的SOCK_STREAM模式的unix套接字,接收日志消息
unix-dgram 打开指定的SOCK_DGRAM模式的unix套接字,接收日志消息
file 打开指定的文件读取日志信息  file(“/var/log/aqtas.log”); 
pipe,fifo 打开指定的管道或者FIFO设备,读取日志信息
tcp 在指定的TCP端口接收日志消息
udp 在指定的UDP端口接收日志消息
sun-stream(s) 在solaris系统中,打开一个(多个)指定的STREAM设备,从其中读取日志消息

destination 数据目标

destination  <identifier> { destination-driver(params);estination-driver(params);.....};

file 日志消息写到指定的文件  file(“/var/log/aqtas.log”); 
fifo,pipe 把日志消息写到指定的管道
unix-stream 把日志消息发送到给定的SOCK_STREAM类型的UNIX套接字(Linux)
unix-dgram 把日志消息发送到给定的SOCK_DGRAM类型的UNIX套接字(BSD)
udp 把日志消息发送到指定主机的UDP端口
TCP 把日志消息发送到指定主机的TCP端口
usertty 如果用户登录,把日志发送到指定的终端
program fork并启动指定的程序,把日志消息发送到这个进程的标准输出。
两个日志消息源驱动器比较相似,都打开AF_UNIX类型的套接字,在套接字上监听日志消息。
unix-stream()主要用在Linux,使用 SOCK_STREAM参数,是面向连接的,不会造成日志消息的
丢失;unix-dgram()用在BSD系统上,使用SOCK_DGRAM参数,是无连 接的,如果系统过载,会造成日志消息丢失。

 

filter 过滤项

filter <identifier> {expression;};

表达式中可以包含逻辑操作符 and or  not

host() 通过主机名过滤,接受正则
match() 字符串匹配,接受正则
program()程序名过滤,接受正则
level()过滤器函数可以根据 serveirty 来过滤,你可以指定多个 severity ,也可以指定一个范围。如果要表示范围,用 .. 的格式, 一个级别:level(warning) ;范围: level(err..emerg)
priority()根据优先级选择日志消息

log

log {  
       source(s1); source(s2); ...

       filter(f1); filter(f2); ...

       destination(d1); destination(d2); ... 
};

 

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.