这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 grok,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
grok - 解析日志、处理事件并使非结构化文本结构化。
概要
神交 [-d] -f 配置文件
商品描述
Grok 是一款可让您轻松解析日志和其他文件的软件。 使用 grok,您可以
将非结构化日志和事件数据转化为结构化数据。
grok 程序是解析日志数据和程序输出的绝佳工具。 你可以匹配
任意数量的输入(进程和文件)上的任意数量的复杂模式,并具有
自定义反应。
配置
-d or --守护进程
解析配置文件后守护进程。 实施 守护(3). 默认为
留在前台。
-f 配置文件
指定要使用的 grok 配置文件。
配置
您可以随意调用配置文件。 下面是一个完整的示例配置,其中
关于选项和默认值的文档。
# --- 开始示例 grok 配置
# 这是评论。 :)
#
# 启用或禁用调试。 调试默认设置为 false。
# 'debug' 设置在每个级别都有效。
# 除非被覆盖,否则调试值将在范围内复制。
调试:真
# 你可以在一个配置文件中定义多个程序块。
# 程序只是输入(文件、执行程序)和
# 匹配(模式和反应),
程序 {
调试:假
# 没有块的文件。 设置块是可选的
文件“/var/log/messages”
# 带块的文件
文件“/var/log/secure”{
# follow 意味着跟随一个像 'tail -F' 这样的文件但是开始
# 在文件的开头读取。 一个文件被跟踪
# 通过截断、日志轮换和追加。
跟随:真实
}
# 执行命令,设置块是可选的
执行“netstat -rn”
# 用块执行
执行“ping -c 1 www.google.com”{
# 如果它退出,则在它退出时自动重新运行 exec。
# 默认为假
退出时重启:false
# 从一个开始到下一个开始的最短时间,如果我们
# 正在重新启动。 默认没有最小值
最小重启间隔:5
# 每 N 秒运行一次,但前提是进程已退出。
# 默认是根本不重新运行。
运行间隔:60
# 默认是仅从 stdout 读取进程输出。
# 将此设置为 true 也可以从 stderr 读取。
读取标准错误:假
}
# 您的配置中可以有多个 match {} 块。
# 它们按顺序应用于输入的每一行
# 来自这个程序块中的 exec 和 file 实例。
比赛 {
# 匹配一个模式。 这可以是任何正则表达式,可以包括 %{foo}
# grok 模式
模式:“一些模式匹配”
# 这里可以有多个模式,任何一个都可以匹配。
模式:“另一个要匹配的模式”
# 默认反应是 "%{@LINE}" 这是整行
#匹配。 反应可以是“无”的特殊值,即
# 表示不发生反应,也可以是任何字符串。 这
# 如果不是 none,则反应被发送到 shell。
反应:“%{@LINE}”
# 默认 shell 是 'stdout' 这意味着反应是
# 直接打印到标准输出。 将外壳设置为
# 命令字符串将运行该命令并将反应数据输送到
# 它。
#shell:标准输出
贝壳: ”/ bin / sh的"
# 每次写入 shell 后刷新。
# 默认是不冲洗。
冲洗:真实
# break-if-match 意味着不要尝试任何进一步的匹配
# 这一行。 默认值为假。
中断匹配:true
}
}
# -- 结束配置
模式 FILES
模式文件包含加载到 grok 中的名称和模式列表。
模式以换行符分隔并具有以下语法:
模式名 表达
模式名和表达式之间的任何空格都将被忽略。
模式名
这是您的模式的名称,加载后,可以在模式中将其引用为
%{模式名}
表达
这里的表达式是逐字的,可用作正则表达式。 你不需要
担心如何逃避的事情。
模式 示例
数字 \d+
你好世界\bhello世界\b
定期 表情
grok 下的表达引擎是 PCRE。 PCRE 中的任何语法在 grok 中都是有效的。
反应
反应可以从匹配中引用命名模式。 您还可以访问其他一些
特殊值,包括:
%{@线}
线路匹配。
%{@比赛}
匹配的子串
%{@开始}
匹配从字符串开头的起始位置。
%{@结尾}
比赛的结束位置。
%{@长度}
比赛时长
%{@JSON}
捕获的完整模式集,编码为 json 字典,结构为 {
模式:[捕获数组]}。 我们使用数组,因为您可以使用相同的名称
在一场比赛中多次出现模式。
%{@JSON_COMPLEX}
与上述类似,但包括每个命名模式的开始和结束位置。
该结构是:
{“grok”:[
{ "@LINE": { "start": ..., "end": ..., "value": ... } },
{ "@MATCH": { "start": ..., "end": ..., "value": ... } },
{ "patternname": { "start": startpos, "end": endpos, "value": "string" } },
{ "patternname2": { "start": startpos, "end": endpos, "value": "string" } },
...
]}
反应 滤波器
反应过滤器允许您改变捕获的数据。 以下过滤器是
可供选择:
在反应中使用过滤器的一个例子是这样的:
反应:“回声匹配:%{@MATCH|shellescape}”
贝壳
转义所有必要的字符,以使字符串在未引用的 shell 中安全
论点
shellqescape
转义 shell 中双引号内安全所需的字符。
json编码
使字符串安全地表示在 json 字符串中(根据 json.org 转义
建议)
使用 onworks.net 服务在线使用 grok