Currently we have implemented the plugin framework in FE.
This CL make the original audit log logic pluggable.
The following classes are mainly implemented:
1. AuditPlugin
The interface of audit plugin
2. AuditEvent
An AuditEvent contains all information about an audit event, such as a query, or a connection.
3. AuditEventProcessor
Audit event processor receive all audit events and deliver them to all installed audit plugins.
This CL implements two audit module plugins:
1. The builtin plugin `AuditLogBuilder`, which act same as the previous logic, to save the
audit log to the `fe.audit.log`
2. An optional plugin `AuditLoader`, which will periodically inserts the audit log into a Doris table
specified by the user. In this way, users can conveniently use SQL to query and analyze this
audit log table.
Some documents are added:
1. HELP docs of install/uninstall/show plugin.
2. Rename the `README.md` in `fe_plugins/` dir to `plugin-development-manual.md` and move
it to the `docs/` dir
3. `audit-plugin.md` to introduce the usage of `AuditLoader` plugin.
ISSUE: #3226
26 lines
690 B
XML
26 lines
690 B
XML
<assembly>
|
|
<id>plugin</id>
|
|
<formats>
|
|
<format>zip</format>
|
|
</formats>
|
|
<includeBaseDirectory>false</includeBaseDirectory>
|
|
<fileSets>
|
|
<fileSet>
|
|
<directory>target</directory>
|
|
<includes>
|
|
<include>*.jar</include>
|
|
</includes>
|
|
<outputDirectory>/</outputDirectory>
|
|
</fileSet>
|
|
|
|
<fileSet>
|
|
<directory>src/main/assembly</directory>
|
|
<includes>
|
|
<include>plugin.properties</include>
|
|
<include>plugin.conf</include>
|
|
</includes>
|
|
<outputDirectory>/</outputDirectory>
|
|
</fileSet>
|
|
</fileSets>
|
|
</assembly>
|