我试图列出Geneos中包含昨天日期的UNIX文件夹中的所有文件。我试着使用FKM & FTM插件,但它只列出了第一个文件,它检测到我是否给出了通配符。例:/地点/*
如何配置Geneos,使其列出UNIX服务器中包含某些固定字符的文件夹中的所有文件?
发布于 2018-04-11 22:34:39
您需要在FKM插件中使用两个概念:Date Generation & Dynamic Files。
如果您想要将xml复制到编辑器中并将其粘贴到编辑器中,请在下面列出非常有用的帮助指南和xml示例。
数据生成
可以将FKM文件定义配置为使用当前日期和时间生成文件名。每个示例都生成目标文件名,如果存在与此名称匹配的文件,则FKM将监视该文件(一旦当前文件被处理到末尾)。可以使用三种日期代码之一生成文件名:昨天、今天或明天。它们将在文件名中使用适当的日期替换。例如,如果当前日期是2008年8月22日至8月22日,将产生以下情况:
Filename Generated name
app<yesterday>.log app20080821.log
app<today>.log app20080822.log
app<tomorrow>.log app20080823.log可以通过在日期标记中放置格式代码来控制日期的输出格式。这种用法的例子如下所示。
Filename Generated name
app<today %d-%m-%Y>.log app22-08-2008.log
app<today %d%b%y>.log app22Aug08.log
app<tomorrow %d_%m_%Y>.log app23_08_2008.log以下格式代码可与此功能一起使用。
Code Meaning
%a Abbreviated weekday name. (e.g. Wed)
%A Full weekday name (e.g. Wednesday)
%b Abbreviated month name. (e.g. Mar)
%B Full month name (e.g. March)
%c Date and time representation appropriate for the current locale.
%d Day of month as a decimal number (01 – 31).
%H Hour in 24-hour clock format (00 – 23).
%I Hour in 12-hour clock format (01 – 12).
%j Day of year as a decimal number (001 – 336).
%m Month as a decimal number (01 – 12).
%M Minutes as a decimal number (00 – 59).
%p Current locale’s AM / PM indicator for 12-hour clock.
%S Seconds as a decimal number (00 – 61).
%U Week of the year as a decimal number, with Sunday as the first day. (00 – 53).
%w Weekday as a decimal number (0 – 6, with Sunday as 0).
%W Week of the year as a decimal number, with Monday as the first day. (00 – 53).
%x Date representation appropriate for current locale.
%X Time representation appropriate for current locale.
%y Year without century, as a decimal number (00 – 99).
%Y Year with century, as a decimal number (e.g. 2008).
%z,%Z Time-zone name or abbreviation (e.g. GMT or PST); no characters are shown if the time-zone is unknown.备注可能但不建议在文件名中使用秒(%S)或分钟(%M)时间格式代码。这是因为生成的文件名将包含FKM执行示例的时间,而这不一定发生在间隔的确切秒数上。
动态文件
文件>文件>源> dynamicFiles
dynamicFiles类型文件源配置FKM以匹配基于配置路径、模式和可选别名的文件组。
当标识新组时,将创建一个附加的文件行,该文件行作为正常的文件名源。此新行的设置将从父dynamicFiles行的设置中复制。如果没有创建分组的文件,则行将被移除。
此功能类似于使用带有wildcardMonitorAllMatches设置的普通文件名源,但这两个功能不能结合使用。如果您尝试这样做,FKM将报告一个错误。
组使用“路径”设置指定,该设置应该是包含通配符全局字符(*和?)的文件路径。将对此路径进行评估,然后发现的所有文件都将与配置的regex模式匹配。
视图中的行名是通过计算文件别名来确定的。别名中的任何编号插入(标识为%,后面跟着数字,例如%4)将被regex模式中的捕获组的内容替换,与文件名匹配。不存在或没有内容的捕获组将被空字符串替换。可以生成一个文字百分比字符,将其转义为%%。当使用不区分大小写的正则表达式时,插入将被降低,以确保行名一致。
例如,regex "app_(.)_\d+.log$“与文件"app_Apache_001.log”匹配的捕获组1的值应为"Apache“((判决的一部分)网站http://www.internetofficer.com/seo-tool/regex-tester/可以用来测试针对不同字符串的正则表达式,查看每个捕获组的内容。
考虑到以下配置:
Path: /var/logs/app_*.log
Regex pattern: app_(.*)_\d+\.log$
Alias: App-%1和档案:
/var/logs/app_Apache_001.log
/var/logs/app_Apache_002.log
/var/logs/app_Samba_1_01.log
/var/logs/app_Router.logFKM将在视图中创建两行:
"App-Apache" monitoring "app_Apache_002.log"
"App-Samba_1" monitoring "app_Samba_1_01.log".文件app_Apache_002.log之所以选择在app_Apache_001.log之上,是因为它有一个最近的修改时间(假设Apache通过创建更高编号的日志来滚动文件)。使用wildcardMatchTime设置可以控制用于此检查的时间。文件"app_Router.log“被忽略,因为它不传递regex。
示例XML
<sampler name="Example">
<plugin>
<fkm>
<files>
<file>
<source>
<dynamicFiles>
<path>
<data>/my/path/file*.log</data>
</path>
<pattern>
<data>
<regex>file<yesterday>.log</regex>
</data>
</pattern>
</dynamicFiles>
</source>
</file>
</files>
</fkm>
</plugin>
</sampler>参考文献
https://stackoverflow.com/questions/49687193
复制相似问题