Syslog-ng使用备忘

====syslog-ng特性====
1.传输可靠(TCP)
2.支持TLS安全传输日志
3.数据库接入
4.日志过滤和分类
5.日志解析和重写
6.支持IPV6
7.工作模式(客户端,服务端,转发)

====工作机制====
source driver:      源驱动器,收集源日志的方式
source:             源驱动器集合
destination driver: 目的驱动器,发送日志到目的地的方式
destion:            目的驱动器的集合
filter:             选择特定消息的表达式,用于获取特定消息
macro:             用于标识消息体特定的部分,用于引用消息
parser:             分析消息的规则
rewrite rule:       更改消息段的规则
log paths:          定义日志处理规则
template:           重构消息格式的模板
option:             配置的全局选项

====日志格式====
格式文档:   RFC3164、RFC5424
传统格式:   PRI HEADER MSG(消息长度小于1024)
PRI值计算:  facility * 8 + severity
HEADER格式: timestamp hostname
MSG的格式:  program[pid]: message text

IETF格式:   header structured-data msg
    header必须是明文的ASCII格式
    structured-data必须是UTF-8编码格式
    msg建议UTF-8编码格式

IETF header格式:
<pri>VERSION ISOTIMESTAMP HOSTNAME APPLICATION PID MESSAGEID
注意一些字段必须小于一定字节数,大于该字节数,会被截断:
APP-NAME <= 48
PROC-ID(PID) <= 128
MSGID <= 32
HOSTNAME <= 255

IETF structured-data格式:
[id name=vaule [name=vaule] ... ]
包含一个块ID,多个name=vaule

说明:
1.syslog-ng只会处理上面的两种格式信息,如果遇到未知格式就会导致不预期的错误
2.如果想要保留原始信息,源驱动器加上选项flags(no-parse),destination使用
    template只包含$MSG宏

====安装步骤====
下载两个源代码包eventlog-xxx.tar.gz和syslog-ng-xxx.tar.gz
tar -zxvf eventlog-x.x.x.x.tar.gz
./configure
make
make install

tar -zxvf syslog-ng-x.xx.tar.gz
export KG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
./configure [--compile-time-option-name]
make
make install

====配置说明====
配置文件第一行必然是:@version: 3.3的格式,3.3代表版本号
$HOST宏一般都是发送主机的IP地址,不一定是原始日志的
主机地址,除非syslog-n配置keep_hostname(yes)

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

syslog-ng自己的信息日志
internal():信息级别info以上,日志设备syslog

从文件收集日志
file(filename):即使文件重命令,或是转存了都能正确分析,syslog-ng将文件分析
记录到syslog-ng.persist文件中,跟踪分析状态
no-multi-line:  分割多行为单行
no-parse:       不进行日志分析

从管道获取日志
pipe(filename)

从linux accounting logs收集日志
1.编译启用了--enable-pacct
2.pacctformat插件自动加载

配置如下:
@include "scl.conf"
pacct()

从外部程序收集日志
program(filename)

按照IETF格式收集日志
syslog(ip() port() transport() options());

获取本地系统的日志信息
generate-system-source.sh脚本产生配置
system()

从网络收集日志
tcp(), tcp6(), udp() and udp6()

从Unix套接字收集日志
unix-stream(filename [options]);
unix-dgram(filename [options]);

目的地配置
destination drivers
destination <identifier> {
destination-driver(params); destination-driver(params); ... };

目的地驱动器
file()
pipe()
program()
sql()
syslog()
tcp() / tcp6()
udp() / udp6()
unix-dgram()
unix-udram()
usertty()

日志规则配置
log {
source(s1); source(s2); ...
optional_element(filter1|parser1|rewrite1);...
optional_element(filter2|parser2|rewrite2);...
destination(d1); destination(d2); ...
flags(flag1[, flag2...]);
};

LOG FIFO大小计算
log_fifo_size() >= number_of_sources*log_iw_size()

使用日志过滤
filter <identifier> { <filter_type>("<filter_expression>"); };
exp1:
filter demo_filter { host("example1") or host("example2"); };

exp2:
filter <filter-id>
{"<macro-or-template>" operator "<value-or-macro-or-template>"};

exp3:
filter f_pid {"$HOST$PID" eq "$HOST"};

过滤函数
facility()
filter()
host()
level()
match()
message()
netmask()
program()
source()
tags()

时间: 2024-12-23 21:59:19

Syslog-ng使用备忘的相关文章

表情符号备忘单

表情符号备忘单 此页上列出的emoji 表情图释支持篝火. GitHub, Basecamp. Redbooth. Trac. Flowdock. Sprint.ly. Kandan. Textbox.io. Kippt. Redmine. JabbR.特雷略.大厅. Qiita.创业.红宝石中国.格罗夫. Idobata. NodeBB 论坛.可宽延时间. Streamup. OrganisedMinds. Hackpad. Cryptbin.加藤.据报.开朗鬼. IRCCloud. Dash

RxJava & RxAndroid备忘

"你问我要去向何方,我指着大海的方向" 今天在刷G+的时候看到Dave Smith推荐了一个视频 <Learning RxJava (for Android) by example> 点进去看了一下,原来是位熟悉的"阿三哥",视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看) 几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文 <RxAndroid And Kotlin (Part 1)> ,然后

工作备忘:cacti&nagios登录密码修改方法

[[email protected]]# mysql -u root -p mysql> use cacti; mysql> select * from user_auth; mysql> update user_auth set password=md5("cactipasswd") where id='1'; 现在cacti登录的新密码就是cactipasswd [[email protected]]# /usr/bin/htpasswd /usr/local/n

备忘-linux文件系统结构

用apache的时候总是要进入/var/www, 用久了开始好奇这些个目录都是派什么用处的,简单整理了一下 /bin 存放二进制命令文件,这个目录下面不允许存在子目录/boot bootloader的静态文件,当然OS的文件也必须在这里/dev 设备文件,MAKEDEV命令可以创建设备/etc 特定主机的配置文件,必须是静态文件,非可执行文件: opt, X11, sgml, xml/home 用户目录 /lib 存放主要的共享库和核心模块/media 可移除媒体的挂载点: floppy, cd

[转]Windows环境下尝试安装并配置PHP PEAR备忘

转自:http://wangye.org/blog/archives/266/ 什么是PEAR 来自百度百科:PEAR 是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl. 由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,

Table view 备忘

Table view 备忘 本篇会以备忘为主,主要是一些基础的代理方法和数据源方法具体的优化好点子会后续跟上. Table view的数据源方法 必须实现的数据源方法 // 返回每一行的cell,可以做缓存处理,同样也可能会造成复用问题. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // tableview 和 cell 都是在s

oracle下 启动subversion命令 及 oracle相关服务启动备忘

linux shell下  svnserve - d -r + 目录   例如:svnserve -d -r /svn 启动 svn服务. 访问svn://192.168.0.120/kjcg 测试. 启动oracle: 一.如何启动数据库实例 1.进入到sqlplus启动实例 [[email protected] ~]$ su - oracle --“切换到oracle用户” 2. Password: [[email protected] ~]$ lsnrctl start  --“打开监听”

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

PHP设计模式之备忘模式

1.Norton Ghost的方便与问题 我们大多数win的用户都用过Norton Ghost,只要将目前系统备份一下生成镜像文件,等系统中毒或崩溃的时候,用Norton Ghost恢复一下就回到备份时候的样子了. 这个可以说就是备忘(Memento)模式的基本原理了,先备份,需要的时候恢复.因此备忘模式是比较好理解的. 但在实际应用中,如何正确的应用备忘模式,是需要注意的. 难道我们在word写文章的时候,先要Ghost备份一下所有的硬盘,一旦文章写错了,需要恢复,就用Ghost覆盖硬盘? 就

Notepad++ 常用快捷键 (备忘)

最近在学习Lua,用Notepad++ 作为编译器. 今早无意间按下 Ctrl+D ,结果就神奇般的复制并粘贴当行了,突然觉得Notepad++ 这东西很神奇. 网上查找了Notepad++的快捷键,尝试 Ctrl+Q 的时候,小有感慨,这丫太神奇了. 现将Notepad++快捷键做简单记录,备忘用. Ctrl+D    复制并粘贴当行 Ctrl+L     删除当前行 Ctrl+T    上下行交换 Ctrl+W   关闭当前文档 Ctrl+Q    注释/取消注释 Ctrl+Tab