Skip to main content
Version: 1.5.0

Deployment

All deploying files at inlong-audit directory, if you use MySQL to store audit data, you need to first create the database through sql/apache_inlong_audit.sql.

# initialize database
mysql -uDB_USER -pDB_PASSWD < sql/apache_inlong_audit.sql

If you use ClickHouse to store audit data, you need to first create the database through sql/apache_inlong_audit_clickhouse.sql.

# initialize database
clickhouse client -u DB_USER --password DB_PASSWD < sql/apache_inlong_audit_clickhouse.sql

Audit Proxy

Configure MessageQueue

You can choose Apache Pulsar or InLong TubeMQ as your MessageQueue service:

  • If using Pulsar, the configuration file is conf/audit-proxy-pulsar.conf. Change the Pulsar service url for next configuration.
agent1.sources.tcp-source.port = 10081
agent1.sinks.pulsar-sink-msg1.pulsar_server_url= pulsar://localhost:6650
agent1.sinks.pulsar-sink-msg1.topic = persistent://public/default/inlong-audit
agent1.sinks.pulsar-sink-msg2.pulsar_server_url = pulsar://localhost:6650
agent1.sinks.pulsar-sink-msg2.topic = persistent://public/default/inlong-audit
  • If using TubeMQ, the configuration file is conf/audit-proxy-tube.conf. Change the TubeMQ master address for next configuration.
agent1.sources.tcp-source.port = 10081
agent1.sinks.tube-sink-msg1.master-host-port-list = localhost:8715
agent1.sinks.tube-sink-msg1.topic = inlong-audit
agent1.sinks.tube-sink-msg2.master-host-port-list = localhost:8715
agent1.sinks.tube-sink-msg2.topic = inlong-audit

Start

# By default, pulsar is used as the MessageQueue, and the audit-proxy-pulsar.conf configuration file is loaded.
bash +x ./bin/proxy-start.sh [pulsar|tube]

Audit Store

Configure

The configuration file is conf/application.properties.

# proxy.type: pulsar / tube
audit.config.proxy.type=pulsar

# store.server: mysql / elasticsearch / clickhouse
audit.config.store.mode=mysql

# audit pulsar config (optional), replace PULSAR_BROKER_LIST with your Pulsar service url
audit.pulsar.server.url=pulsar://PULSAR_BROKER_LIST
audit.pulsar.topic=persistent://public/default/inlong-audit
audit.pulsar.consumer.sub.name=sub-audit

# audit tube config (optional), replace TUBE_LIST with your TubeMQ master address
audit.tube.masterlist=TUBE_LIST
audit.tube.topic=inlong-audit
audit.tube.consumer.group.name=inlong-audit-consumer

# mysql config
spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/apache_inlong_audit?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8&rewriteBatchedStatements=true&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
spring.datasource.druid.username=root
spring.datasource.druid.password=inlong

# es config
elasticsearch.host=127.0.0.1
elasticsearch.port=9200
elasticsearch.authEnable=false
elasticsearch.username=elastic
elasticsearch.password=inlong
elasticsearch.shardsNum=5
elasticsearch.replicaNum=1
elasticsearch.indexDeleteDay=5
elasticsearch.enableDocId=true
elasticsearch.bulkInterval=10
elasticsearch.bulkThreshold=5000
elasticsearch.auditIdSet=1,2

# clickhouse config
clickhouse.driver=ru.yandex.clickhouse.ClickHouseDriver
clickhouse.url=jdbc:clickhouse://127.0.0.1:8123/default
clickhouse.username=default
clickhouse.password=default
clickhouse.batchIntervalMs=1000
clickhouse.batchThreshold=500
clickhouse.processIntervalMs=100

Dependencies

  • If the backend database is MySQL, please download mysql-connector-java-8.0.27.jar and put it into lib/ directory.

  • If the backend database is PostgreSQL, there's no need for additional dependencies.

Start

bash +x ./bin/store-start.sh

The default listen port is 10081.