列出Geneos的UNIX文件夹的所有内容

时间:2018-04-06 07:03:22

标签: geneos

我试图列出Geneos中包含昨天日期的UNIX文件夹中的所有文件。 我尝试过使用FKM& FTM插件,但如果我给出一个通配符,它​​只列出它检测到的第一个文件。 例如:/ location / *

如何配置Geneos以便它列出包含某些固定字符的UNIX服务器中文件夹中的所有文件?

1 个答案:

答案 0 :(得分:0)

您需要在FKM插件中使用两个概念:日期生成& 动态文件

如果您想将其复制并粘贴到编辑器中,则下面包含非常有用的帮助指南和示例xml的摘录。

日期生成

可以将FKM文件定义配置为使用当前日期和时间生成文件名。每个样本都会生成目标文件名,如果存在与此名称匹配的文件,则文件将由FKM监视(一旦当前文件已处理到最后)。 可以使用三个日期代码之一生成文件名;昨天,今天或明天。使用适当的日期在文件名中替换它们。 例如,如果当前日期是2008年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执行样本的时间,不能保证在相隔的精确秒数内发生。

动态档案

文件&gt;档案&gt;来源&gt; dynamicFiles

dynamicFiles类型file-source根据配置的路径,模式和可选的别名配置FKM以匹配文件组。

当识别出新组时,会创建一个额外的文件行,其行为是正常的文件名源。此新行的设置将从父dynamicFiles行的设置中复制。如果没有剩余文件来创建该分组,则将删除该行。

此功能类似于使用带有wildcardMonitorAllMatches设置的普通文件名源,但这两个功能不能同时使用。如果您尝试这样做,FKM将报告错误。

使用路径设置指定组,路径设置应该是包含通配符通配符(*和?)的文件路径。将评估此路径,然后将发现的所有文件与配置的正则表达式模式进行匹配。

视图中行的名称是通过评估文件别名来确定的。别名中的任何编号插入(由%后跟数字标识,例如%4)将替换为正则表达式模式中该捕获组的内容,与文件名匹配。不存在或没有内容的捕获组将替换为空字符串。可以生成一个字面百分比字符,将其作为%%转义。使用不区分大小写的正则表达式时,插入将是小写的,以确保一致的行名称。

例如,与文件“app_Apache_001.log”匹配的正则表达式“app _(。)_ \ d + .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.log

FKM会在视图中创建两行:

"App-Apache" monitoring "app_Apache_002.log"
"App-Samba_1" monitoring "app_Samba_1_01.log".

通过app_Apache_001.log选择文件app_Apache_002.log,因为它具有更新的修改时间(假设Apache通过创建更高编号的日志来滚动文件)。可以使用wildcardMatchTime设置控制用于此检查的时间。文件“app_Router.log”被忽略,因为它没有通过正则表达式。

示例XML

<sampler name="Example">
    <plugin>
        <fkm>
            <files>
                <file>
                    <source>
                        <dynamicFiles>
                            <path>
                                <data>/my/path/file*.log</data>
                            </path>
                            <pattern>
                                <data>
                                    <regex>file&lt;yesterday&gt;.log</regex>
                                </data>
                            </pattern>
                        </dynamicFiles>
                    </source>
                </file>
            </files>
        </fkm>
    </plugin>
</sampler>

参考

ITRS Resource Link