安装部署

所有的安装文件都在 inlong-audit 目录下,如果使用 MySQL 存储审计数据,需要先通过sql/apache_inlong_audit.sql初始化数据库。

  1. # 初始化 database
  2. mysql -uDB_USER -pDB_PASSWD < sql/apache_inlong_audit.sql

如果使用 ClickHouse 存储审计数据,需要先通过sql/apache_inlong_audit_clickhouse.sql初始化数据库。

  1. # 初始化 database
  2. clickhouse client -u DB_USER --password DB_PASSWD < sql/apache_inlong_audit_clickhouse.sql

依赖

  • 如果后端连接 MySQL 数据库,请下载 mysql-connector-java-8.0.27.jar, 并将其放入 lib/ 目录。
  • 如果后端连接 PostgreSQL 数据库,不需要引入额外依赖。

Audit Proxy

配置消息队列

消息队列服务目前可以使用Apache Pulsar或者InLong TubeMQ:

  • 若使用Pulsar,配置文件 conf/audit-proxy-pulsar.conf,修改下列配置中的 Pulsar service 地址。
  1. agent1.sources.tcp-source.port = 10081
  2. agent1.sinks.pulsar-sink-msg1.pulsar_server_url= pulsar://localhost:6650
  3. agent1.sinks.pulsar-sink-msg1.topic = persistent://public/default/inlong-audit
  4. agent1.sinks.pulsar-sink-msg2.pulsar_server_url = pulsar://localhost:6650
  5. agent1.sinks.pulsar-sink-msg2.topic = persistent://public/default/inlong-audit
  • 若使用TubeMQ,配置文件 conf/audit-proxy-tube.conf,修改下列配置中的 TubeMQ master 地址。
  1. agent1.sources.tcp-source.port = 10081
  2. agent1.sinks.tube-sink-msg1.master-host-port-list = localhost:8715
  3. agent1.sinks.tube-sink-msg1.topic = inlong-audit
  4. agent1.sinks.tube-sink-msg2.master-host-port-list = localhost:8715
  5. agent1.sinks.tube-sink-msg2.topic = inlong-audit

启动

  1. # 默认使用 pulsar 作为消息队列,加载 audit-proxy-pulsar.conf 配置文件
  2. bash +x ./bin/proxy-start.sh [pulsartube]

Audit Store

配置

配置文件 conf/application.properties

  1. # proxy.type: pulsar / tube
  2. audit.config.proxy.type=pulsar
  3. # store.server: mysql / elasticsearch
  4. audit.config.store.mode=mysql
  5. # audit pulsar config (optional),将PULSAR_BROKER_LIST替换为Pulsar集群的服务地址
  6. audit.pulsar.server.url=pulsar://PULSAR_BROKER_LIST
  7. audit.pulsar.topic=persistent://public/default/inlong-audit
  8. audit.pulsar.consumer.sub.name=sub-audit
  9. # audit tube config (optional),将TUBE_LIST替换为TubeMQ集群的master地址
  10. audit.tube.masterlist=TUBE_LIST
  11. audit.tube.topic=inlong-audit
  12. audit.tube.consumer.group.name=inlong-audit-consumer
  13. # mysql config
  14. 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
  15. spring.datasource.druid.username=root
  16. spring.datasource.druid.password=inlong
  17. # es config
  18. elasticsearch.host=127.0.0.1
  19. elasticsearch.port=9200
  20. elasticsearch.authEnable=false
  21. elasticsearch.username=elastic
  22. elasticsearch.password=inlong
  23. elasticsearch.shardsNum=5
  24. elasticsearch.replicaNum=1
  25. elasticsearch.indexDeleteDay=5
  26. elasticsearch.enableDocId=true
  27. elasticsearch.bulkInterval=10
  28. elasticsearch.bulkThreshold=5000
  29. elasticsearch.auditIdSet=1,2
  30. # clickhouse config
  31. clickhouse.driver=ru.yandex.clickhouse.ClickHouseDriver
  32. clickhouse.url=jdbc:clickhouse://127.0.0.1:8123/default
  33. clickhouse.username=default
  34. clickhouse.password=default
  35. clickhouse.batchIntervalMs=1000
  36. clickhouse.batchThreshold=500
  37. clickhouse.processIntervalMs=100

依赖

  • 如果后端连接 MySQL 数据库,请下载 mysql-connector-java-8.0.27.jar, 并将其放入 lib/ 目录。
  • 如果后端连接 PostgreSQL 数据库,不需要引入额外依赖。

启动

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

Audit Proxy 默认监听端口为 10081