Filter Conditions 过滤条件
<pre name="code" class="html">Filter Conditions 过滤条件: Rsyslog 提供4种不同类型的"filter 条件" "传统的" severity and facility 基于selectors: 基于属性的过滤器 基于表达式的过滤 Selectors 选择器 选择器是过滤消息传统的方式, 它们被保存在 rsyslog 使用原来的语法, 因为它是众所周知的,高效和用于兼容 stock syslogd 配置文件。 如果你只要过滤基于priority and facility, 你应该使用selector lines. selector 字段 本身有两部分组成,一个设备和一个优先级 通过点号分隔。 这两部分是不区分大小的,也可以通过十进制数指定, 但是不要这么做, 你会被警告。 facilities and priorities 都在syslog(3)都有描述, facility 是下面其中一个关键字:auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp and local0 through local7. 关键字
security 不应该被使用 标记为只能内部使用,因此不能被用于应用。 priority 是下面的关键字, debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, panic (same as emerg). 关键字error,warn 和panic 是过时的,不能在被使用,优先级定义消息的严重性 原来的BSD syslogd 行为是所有的指定的优先级或者更多的是被记录根据给定的action. rsyslogd 表现类似,但是有一些扩展 除了以上提到的名字rsyslogd(8) 了解下面的扩展:一个*代表所有的facilities 或者所有的priorities 依赖它被使用在哪里(点号的之前或者之后) 关键字none 代表没有给定facility的优先级,你可以指定多个facilities 使用相同的优先级模式 在一行使用逗号(,)隔开。 你可以指定你想要的facilities 记住 只有facility部分从这样的语句是接收,一个优先级部分是被跳过 多个选择器可以通过一个单独的action 使用分号隔开。 记住每个选择器 在selector 字段是可以覆盖之前那个的,使用这个行为你可以执行相同的优先级从模式里 Rsyslogd 有一个语法扩展到原来的BSD 源, 让它的使用更加的直观。 你可以在每个优先级之前 使用一个等号来指定只有这个单个的邮件及和不是上面的任何一个。 你也可以是两者都是在优先级之前使用一个!来忽略使用所有的优先级 基于属性的过滤器: 基于属性的过滤是唯一的对于rsyslogd, 它们允许过滤任何属性, 像HOSTNAME,syslogtag 和msg 一个所有当前支持的属性的列表可以找到在属性替换文档( 但是记住只有属性) 使用这个过滤,每个属性可以被检查通过一个指定的值,使用一个指定的比较操作 基于属性的过滤器必须开始以一个冒号在列0, 这个高速rsyslogd 它是新的filter 类型。 冒号必须跟着一个属性名字,一个逗号,比较操作名字来进行,另外逗号和值进行比较。 这个值必须被引号引起来。 有空格和tabs键在逗号之间,属性名字和区分大小写的,因此 "msg" 工作, 当"MSG" 是一个争取的属性名称,简单的说,语法如下: :property, [!]compare-operation, "value" 比较操作符: 当前支持以下操作符: contains: 检查值如果字符串提供值是包含在属性内,这里必须有一个精确的匹配,通配符是不支持的 isequal 提供的值和属性内容比较,那两个值 必须完全等价匹配。 不同于contains 是contans 搜索值在整个属性值的任何地方, 反之 所有的字符串必须是相等的对于 isequal. 因此,isequal 是很有用的对于字段像syslogtag 或者FROMHOST ,在这些情况你知道确切的内容 startswith 检查值是准确找到在属性值的开头,举个例子, 如果你搜索"var" :msg, startswith, "val" 这个会匹配如果msg 包含"values" 是在这个消息里,但是它不会匹配如果msg 包含 “There are values in this message”
(这种情况“contain”会匹配) 值部分 值是一个引用的字符串,它支持一些转义字符 转义字符总是以一个/开始, 二外的转义字符可能被增加在未来。 反斜杠字符必须是转义的,任何其他序列 然后那些概述是无效的 会导致一个不可预知的结果 可能,"msg" 是最突出的基于属性过滤器的使用例子,它是 实际消息的文本 如果你想要过滤一些消息内容(例如,指定代码的存在)的基础上,这可以很容易的实现: :msg, contains, "ID-4711" 次过滤器会匹配当消息包含 字符串 “ID-4711”. 请注意 比较是区分大小写的,如果是“id-4711”将不会匹配 :msg, regex, "fatal .* error" 这个过滤器使用POSIX 正则表达式,如果匹配当字符串包含字符"words" fatal和“error” 获得基于 属性过滤可以有一些挑战,为了帮助你,rsyslogd 吐出所有的debug 信息对于 所有基于属性的过滤器在它们评估期间。为了启动这个,运行rsyslog在后台指定-d选项 表达式基于过滤器: 基于表达式的过滤器允许过滤任意的复杂表达式, 可以包含博而至,运算和字符串操作。 基于表达式是通过关键字if表明 在第一列,格式如下: if expr then action-part-of-selector-line if和then 是固定的关键字 必须是存在的 BSD 风格的blocks: 注意 rsyslog v7+不在支持BSD-style blocks 由于技术原因,因此强列不推荐使用它们
Filter Conditions 过滤条件的更多相关文章
- 怎么给SharePoint得视图设置多个过滤条件? How to set multiple complex filter conditions to the SharePoint list view ?
平时会很容易遇到需要给视图设置复杂得过滤条件,如果是一两个条件还好多,如果条件超过四个,会比较麻烦,很容易会出现逻辑不清,或者没有按照你得意愿来过滤数据得问题. 解决方案: 设置计算列,calcula ...
- Informatica 常用组件Filter之二 过滤条件
过滤条件可以使用转换语言输入.过滤条件是返回 TRUE 或 FALSE 的表达式.例如,如果您要过滤出员工薪水低于 $30,000 的行,可输入以下条件: SALARY > 30000 可以使用 ...
- .NET深入实战系列--EF到底怎么写过滤条件
本文唯一访问地址:http://www.cnblogs.com/yubaolee/p/DynamicLinq.html 对于系统开发来说,按不同字段进行过滤查询是一种常见的需求.在EF中通常的做法是: ...
- WireShark系列: 使用WireShark过滤条件抓取特定数据流(zz)
应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏.双击选定的接口,如下图所示,弹出Edit Interface Settints窗口. 下图显示了Ed ...
- .NET深入实战系列--EF到底怎么写过滤条件(转)
原文来自:http://www.cnblogs.com/yubaolee/p/DynamicLinq.html 对于系统开发来说,按不同字段进行过滤查询是一种常见的需求.在EF中通常的做法是: /// ...
- 在sphinx中应用复杂过滤条件
一.问题的引入 在sphinx应用中,需要对数据进行复杂的条件过滤,刷选出我们需要的数据.这个过程,等同于mysql查询中的where条件. 但sphinx本身的filter并不能支持复杂的逻 ...
- Filter的过滤链理解
一.Filter过滤链 web.xml配置了filter过滤器,在容器启动的时候执行了init()方法进行了初始化,然后在容器关闭的时候执行了destroy()方法销毁过滤器,在每次服务器接受请求的时 ...
- django-admin 仿写stark组件action,filter筛选过滤,search查询
写在StandLi里面的方法都是通过ModelSubject这个类里面的stand_li方法,在它里面用StandLi这个类实例化出来一个对象,这个实例化出来的对象把数据传给前端HTML模板进行渲染, ...
- 一站式学习Wireshark(八):应用Wireshark过滤条件抓取特定数据流
应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏.双击选定的接口,如下图所示,弹出Edit Interface Settints窗口. 下图显示了Ed ...
随机推荐
- 一分钟明确 VS manifest 原理
什么是vs 程序的manifest文件 manifest 是VS程序用来标明所依赖的side-by-side组建,如ATL, CRT等的清单. 为什么要有manifest文件 一台pc上,用一组建往往 ...
- Unity3D——窗体介绍
这是本人第一次的Unity的博客,主要还是依据雨松MOMO的视频来进行的,由于感觉视频比較直观,对于入门比較快,再加上自己有对应的编程基础,如今看书的话效率不高,所以先看几个视频了解一下大体的流程,感 ...
- Linux下查看显示器输出状态以及修改显示器工作模式(复制 or 扩展)
//关闭显示器VGA1xrandr --output VGA1 --off //开启显示器VGA1xrandr --output VGA1 --auto //关闭显示器LVDS1xrandr --ou ...
- 向量的叉积 POJ 2318 TOYS & POJ 2398 Toy Storage
POJ 2318: 题目大意:给定一个盒子的左上角和右下角坐标,然后给n条线,可以将盒子分成n+1个部分,再给m个点,问每个区域内有多少各点 这个题用到关键的一步就是向量的叉积,假设一个点m在 由ab ...
- MaraDNS与DeadWood一起配置为本地机器提供小型化DNS服务
因为工作测试需要,要在本机装一个环境,可以解析自己命名的域名,即域名->IP的映射服务.在网上找了下,都说是MaraDNS不错.也试了下,在本地配置是没有问题的.从官网上下载的是2-0-11.w ...
- SqlServer数据库设计,纠结的问题,有胆你就来!
最近,小菜遇到了数据库设计上的一个问题,希望各位大侠再次,直抒己见,帮忙分析一下.也可有更好的设计,请直接提出来. 要求:数据库(SQL Server 2005)存储每个学生,单个客观题答案.分数,主 ...
- 像table一样布局div的CSS属性详解
.equal { display:table; border-collapse:separate;margin: aut ...
- Android实用代码块
通过反射实现Menu显示图标 @Override public boolean onCreateOptionsMenu(Menu menu) { setIconEnable(menu, true); ...
- 使用DOM进行xml文档的crud(增删改查)操作<操作详解>
很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这 ...
- pod install后出现: [!] `<PBXResourcesBuildPhase UUID=`xxxx`>` attempted to initialize an object with an unknown UUID
[!] `<PBXResourcesBuildPhase UUID=`xxx`>` attempted to initialize an object with an unknown UU ...