7.16. Query Auditing¶

GeoMesa provides a Java SPI to audit queries. Auditing can be enabled when creating a DataStore by setting the parameter geomesa.query.audit to true in the connection map. Audits are written to log files under the logger name org.locationtech.geomesa.index.audit.AuditWriter. In Accumulo, audits are also written to the <catalog>_queries table.

As GeoMesa can run in many environments, determining who executed a query is delegated to a service class. Services need to implement org.locationtech.geomesa.utils.audit.AuditProvider. Third-party implementations can be enabled by placing them on the classpath and including a special service descriptor file. See the Oracle Javadoc for details on implementing a service provider.

The GeoMesa GeoServer plugins come bundled with an AuditProvider that pulls user credentials from GeoServer’s Spring security framework - org.locationtech.geomesa.security.SpringAuditProvider.