基本配置

eKuiper 的配置文件位于 $ eKuiper / etc / kuiper.yaml 中。 配置文件为 yaml 格式。

日志级别

  1. basic:
  2. # true|false, with debug level, it prints more debug info
  3. debug: false
  4. # true|false, if it's set to true, then the log will be print to console
  5. consoleLog: false
  6. # true|false, if it's set to true, then the log will be print to log file
  7. fileLog: true
  8. # How many hours to split the file
  9. rotateTime: 24
  10. # Maximum file storage hours
  11. maxAge: 168

系统日志

用户将名为 KuiperSyslogKey 的环境变量的值设置为 true 时,日志将打印到系统日志中。

Cli 地址

  1. basic:
  2. # CLI 绑定 IP
  3. ip: 0.0.0.0
  4. # CLI port
  5. port: 20498

REST 服务配置

  1. basic:
  2. # REST service 绑定 IP
  3. restIp: 0.0.0.0
  4. # REST service port
  5. restPort: 9081
  6. restTls:
  7. certfile: /var/https-server.crt
  8. keyfile: /var/https-server.key

restPort

REST http 服务器监听端口

restTls

TLS 证书 cert 文件和 key 文件位置。如果 restTls 选项未配置,则 REST 服务器将启动为 http 服务器,否则启动为 https 服务器。

Prometheus 配置

如果 prometheus 参数设置为 true,eKuiper 将把运行指标暴露到 prometheus。Prometheus 将运行在 prometheusPort 参数指定的端口上。

  1. basic:
  2. prometheus: true
  3. prometheusPort: 20499

在如上默认配置中,eKuiper 暴露于 Prometheusd 运行指标可通过 http://localhost:20499/metrics 访问。

Pluginhosts 配置

该 URL 对所有预构建插件托管。 默认情况下,它位于 packages.emqx.io 中。 可能有多个主机(主机可以用逗号分隔),如果可以在多个主机中找到相同的程序包,则第一个主机中的程序包将具有最高优先级。

请注意,只有可以安装到当前 eKuiper 实例的插件才会通过 Rest-API 下方列出。

  1. GET http://localhost:9081/plugins/sources/prebuild
  2. GET http://localhost:9081/plugins/sinks/prebuild
  3. GET http://localhost:9081/plugins/functions/prebuild

如果希望通过前述的API列出插件,则应具有以下条件:

  • eKuiper 版本:必须为 eKuiper 实例版本构建插件。 如果找不到特定版本的插件,则不会返回任何插件。
  • 操作系统:现在仅支持 Linux 系统,因此,如果 eKuiper 在其他操作系统上运行,则不会返回任何插件。
  • CPU 架构:只有在正确的 CPU 架构中构建的插件,才能在插件存储库中找到并返回。
  • EMQ 官方发布的 Docker 映像:仅当 eKuiper 在 EMQ 官方发布的 Docker 映像上运行时,才能返回插件。
  1. pluginHosts: https://packages.emqx.io

具体如下所示,您可以指定本地存储库,该存储库中的插件将具有更高的优先级。

  1. pluginHosts: https://local.repo.net, https://packages.emqx.io

插件的目录结构应如下所示。

  1. http://host:port/kuiper-plugins/0.9.1/alpine/sinks
  2. http://host:port/kuiper-plugins/0.9.1/alpine/sources
  3. http://host:port/kuiper-plugins/0.9.1/alpine/functions

页面内容如下所示。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  2. <html>
  3. <title>Directory listing for enterprise: /4.1.1/</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="robots" content="noindex,nofollow">
  6. <body>
  7. <h2>Directory listing for enterprise: /4.1.1/</h2>
  8. <hr>
  9. <ul>
  10. <li><a href="file_386.zip">file_386.zip</a>
  11. <li><a href="file_amd64.zip">file_amd64.zip</a>
  12. <li><a href="file_arm.zip">file_arm.zip</a>
  13. <li><a href="file_arm64.zip">file_arm64.zip</a>
  14. <li><a href="file_ppc64le.zip">file_ppc64le.zip</a>
  15. <li><a href="influx_386.zip">influx_386.zip</a>
  16. <li><a href="influx_amd64.zip">influx_amd64.zip</a>
  17. <li><a href="influx_arm.zip">influx_arm.zip</a>
  18. <li><a href="influx_arm64.zip">influx_arm64.zip</a>
  19. <li><a href="influx_ppc64le.zip">influx_ppc64le.zip</a>
  20. </ul>
  21. <hr>
  22. </body>
  23. </html>

Sink 配置

  1. #缓存持久化阈值。 如果接收器高速缓存中的消息大于10,则它将触发持久化。 如果发现远程系统响应速度慢或接收器吞吐量很小,则建议增加2种以下配置,此时需要更多内存。
  2. # 如果消息计数达到以下值,则会触发持久化。
  3. cacheThreshold: 10
  4. # 消息持久化由代码触发,cacheTriggerCount 用于使用配置计数来触发持久化过程,而不管消息号是否达到cacheThreshold。 这是为了防止由于缓存永远不会超过阈值而无法保存数据。
  5. cacheTriggerCount: 15
  6. # 控制是否禁用缓存。 如果将其设置为true,则将禁用缓存,否则将启用缓存。
  7. disableCache: false