监视器配置

监视器扩展的许多方面都是可配置的。所有配置文件都存储在 monitoring 目录::

<data_directory>
    monitoring/
        filter.properties
        monitor.properties

这个 monitor.properties 文件是主配置文件,其内容在以下各节中介绍。这个 filter.properties 允许 filtering 从被监视的请求中剔除。

hibernate的数据库持久性在 数据库持久性 部分。

监视器存储

如何保存请求数据可以通过 storage 中定义的属性 monitor.properties 文件。以下值支持 storage 财产:

  • 记忆 -请求数据将单独保存在内存中。

默认值为 memory .

“监视休眠”社区模块还允许将请求存储在关系数据库中。

存储器

使用内存存储,只存储最近的100个请求。根据定义,这个存储是不稳定的,因为如果重新启动、关闭或崩溃geoserver实例,这些数据就会丢失。

监视器模式

监视器扩展支持不同的“监视模式”,控制如何捕获请求数据。目前支持两种模式:

  • history (Default) - Request information updated post request only. No live information made available.

  • live -实时捕获和更新有关请求的信息。

监视器模式设置为 mode 中的属性 monitor.properties 文件。默认值为 history .

历史记录模式

历史记录模式在请求完成后保存有关请求的信息(将其发送到存储器)。此模式适用于用户对事后分析请求数据最感兴趣且不需要实时更新的情况。

实时模式

实时模式在请求数据更改时实时更新请求数据(将其发送到存储)。此模式适用于关心服务正在做什么的用户。

边界框

如果适用,监视器扩展可以捕获的属性之一是请求边界框。在某些情况下,例如WMS和WCS请求,捕获边界框很容易。但是,在其他情况下,例如WFS,不可能总是100%可靠地捕获边界框。一个例子是一个带有复杂过滤元素的WFS请求。

如何捕获边界框由 bboxMode 中的属性 monitor.properties 文件。它可以具有以下值之一。

  • none -未捕获边界框信息。

  • full -捕获边界框信息并对WFS请求应用启发式。

  • no_wfs -除WFS请求外,将捕获边界框信息。

边界框的一部分是坐标参考系(crs),与WFS的情况类似,确定crs是什么并不总是直接的。因此 bboxCrs 属性用于配置要使用的默认crs。属性的默认值为“爱普生:4326并将用于所有查找启发式无法确定边界框的crs的情况。

请求正文大小

当主体被指定为与Put或Post请求相同时,监视器扩展将捕获请求主体的内容。但是,由于请求主体可能很大,扩展名将默认捕获的数量限制为前1024个字节。

一个值 0 指示不应捕获来自请求主体的数据。值 -1 指示不应对捕获设置限制,并且应存储整个正文内容。

此限制可配置为 maxBodySize 性质 monitor.properties 文件。

备注

当使用数据库持久性时,确保数据库中body字段的大小可以容纳 maxBodySize 财产。

忽略后处理程序

监视器通过后处理器传递请求信息,后者通过DNS查找、使用IP数据库的位置等来丰富请求信息。如果不需要使用 ignorePostProcessors 性质 monitor.properties 文件。

此参数采用已知后处理器的逗号分隔名称。有效值是 reverseDNS,geoIp,layerNameNormalizer

请求筛选器

默认情况下,并非所有请求都受到监视。排除的请求包括任何web管理请求或 监视器查询API 请求。这些排除在 filter.properties 文件::

/rest/monitor/**
/web/**

可以更改或扩展这些默认筛选器以筛选更多类型的请求。例如,要筛选出所有WFS请求,将添加以下条目:

/wfs

监视线程

您可以通过配置 postProcessorThreads 属性中的 monitor.properties 文件。默认值为2。

域名系统缓存配置

ReverseDNS后处理器缓存其结果。您可以通过配置 dnsCacheConfiguration 属性中的 monitor.properties 文件。默认策略为 expireAfterWrite=15m,maximumSize=1000 。请查阅 guava cache builder documentation 所有的可能性。

如何确定过滤路径

内容 filter.properties 是一系列应用于 path 请求。考虑以下请求:

http://localhost:8080/geoserver/wms?request=getcapabilities

上述请求的路径是 /wms . 在以下请求中:

http://localhost:8080/geoserver/rest/workspaces/topp/datastores.xml

路径是 /rest/workspaces/topp/datastores.xml .

通常,过滤器中使用的路径由以下URL部分组成 /geoserver (including the preceding /) and before the query string `` ?``:

http://<host>:<port>/geoserver/<path>?<queryString>

备注

有关Ant样式模式匹配的详细信息,请参见 Apache Ant manual .

样品

monitor.properties

# storage and mode
storage=memory
mode=history

# request body capture
maxBodySize=1024

# bounding box capture
bboxMode=no_wfs
bboxCrs=EPSG:4326

filter.properties

# filter out monitor query api requests
/rest/monitor/**

# filter out all web requests
/web
/web/**

# filter out requests for WCS service
/wcs