您可以在 VMware Aria Operations for Logs Linux 代理上根据字段值对所有已收集的日志事件进行筛选,以便指定要选取或丢弃的日志事件。您可以使用 whitelist 和 blacklist 收集器选项来定义筛选器。
提示: 默认情况下,
VMware Aria Operations for Logs Linux 代理会收集由程序或编辑器创建的隐藏文件。隐藏文件的名称以句点开头。可以防止
VMware Aria Operations for Logs Linux 代理收集隐藏文件,方法是通过添加排除
exclude=.* 参数。
对于每个日志事件,收集器均会计算 whitelist 和 blacklist 筛选器表达式的值。如果 whitelist 表达式的值为 true,而 blacklist 表达式的值为 false 或无法计算,则事件将移至相应队列以便进一步处理。在任何其他情况下,收集器均会丢弃事件。whitelist 表达式的默认值为 true,而 blacklist 表达式的默认值为 false。
whitelist 或 blacklist 筛选器是由变量、文本和运算符构成的集合,其计算结果为一个逻辑值或整数值。您可以将日志事件字段用作变量,并将带双引号的字符串和数字用作文本。有关可在筛选器表达式中使用的运算符的信息,请参见事件字段和运算符。
注:
-
如果将数字与字符串进行比较,或者如果执行的比较涉及数字字符串,则每个字符串均会转换为一个数字,并且将以数字形式执行比较。例如:
- 表达式
whitelist = 123.0 == "000123"
的值为 true。 - 表达式
whitelist = "00987" == "987.00"
的值为 true。 - 在表达式
whitelist = response_size >= "12.12"
中,如果response_size
字段具有数字值,则该表达式将以数字形式进行计算。如果响应大小大于 12.12,则表达式的值为 true,否则为 false。 - 在表达式
whitelist = "09123" < "234"
中,字符串文本将转换为数值,且表达式的值为 false。
- 表达式
-
如果其中某一字符串操作数无法转换为数值,则两个操作数都会转换为字符串。对于这种情况,将简单地按字典顺序进行比较,且比较时区分大小写。例如:
- 表达式
whitelist = "1234a" == "1234A"
是一种字符串比较,其值为 false。 - 表达式
whitelist = 4 < "four"
会将 4 转换为 "4",其值为 true。 - 在表达式
whitelist = response_size > "thousand"
中,response_size
字段的值将转换为一个字符串值,因此该表达式的值为 false。
- 表达式
-
如果筛选器表达式的值为一个整数值,那么当值为 0 时,可将其视为 false,否则视为 true。
例如,在表达式
whitelist = some_integer & 1
中,如果some_integer
字段具有最低有效位组,则该表达式的值为 true,否则为 false。
有关日志事件字段和运算符的完整列表,请参见从日志文件收集日志事件。
在此示例中,您将从文件
/var/log/httpd/access 中收集 Apache 访问日志。该文件中的一些示例日志如下所示:
127.0.0.1 - frank [10/Oct/2016:13:55:36 +0400] "GET /apache_pb.gif HTTP/1.0" 200 2326
198.51.100.56 - john [10/Oct/2016:14:15:31 +0400] "GET /some.gif HTTP/1.0" 200 8270
198.51.100.12 - smith [10/Oct/2016:14:15:31 +0400] "GET /another.gif HTTP/1.0" 303 348
198.51.100.32 - test [10/Oct/2016:15:22:55 +0400] "GET /experimental_page.gif HTTP/1.0" 400 46374
127.0.0.1 - test [10/Oct/2016:15:22:57 +0400] "GET /experimental_page2.gif HTTP/1.0" 301 100
前提条件
- 以 root 用户身份登录,或使用 sudo 运行控制台命令。
- 登录到已安装 VMware Aria Operations for LogsLinux 代理的 Linux 计算机,打开控制台,然后运行 pgrep liagent 以验证 VMware Aria Operations for Logs Linux 代理是否已安装且正在运行。