376 lines
8.0 KiB
Plaintext
376 lines
8.0 KiB
Plaintext
node {
|
|
name = "emqx@127.0.0.1"
|
|
cookie = "emqxsecretcookie"
|
|
data_dir = "data"
|
|
}
|
|
|
|
log {
|
|
file_handlers.default {
|
|
level = warning
|
|
file = "log/emqx.log"
|
|
}
|
|
}
|
|
|
|
cluster {
|
|
name = emqxcl
|
|
discovery_strategy = manual
|
|
}
|
|
|
|
dashboard {
|
|
listeners.http {
|
|
bind = 18083
|
|
}
|
|
default_username = "admin"
|
|
default_password = "public"
|
|
}
|
|
|
|
|
|
authentication = [
|
|
{
|
|
backend = "built_in_database"
|
|
mechanism = "password_based"
|
|
password_hash_algorithm {name = "sha256", salt_position = "suffix"}
|
|
user_id_type = "username"
|
|
}
|
|
]
|
|
authorization {
|
|
cache {enable = true}
|
|
deny_action = "ignore"
|
|
no_match = "allow"
|
|
sources = [
|
|
{
|
|
body {username = "${username}"}
|
|
connect_timeout = "5s"
|
|
enable_pipelining = 100
|
|
headers {"content-type" = "application/json"}
|
|
method = "post"
|
|
pool_size = 8
|
|
request_timeout = "5s"
|
|
ssl {enable = false, verify = "verify_peer"}
|
|
type = "http"
|
|
url = "http://127.0.0.1:8080"
|
|
},
|
|
{
|
|
enable = true
|
|
path = "etc/acl.conf"
|
|
type = "file"
|
|
}
|
|
]
|
|
}
|
|
bridges {
|
|
webhook {
|
|
test {
|
|
connect_timeout = "5s"
|
|
enable_pipelining = 100
|
|
headers {"content-type" = "application/json"}
|
|
method = "post"
|
|
pool_size = 4
|
|
pool_type = "random"
|
|
request_timeout = "15s"
|
|
resource_opts {
|
|
async_inflight_window = 100
|
|
auto_restart_interval = "60s"
|
|
health_check_interval = "15s"
|
|
max_queue_bytes = "1GB"
|
|
query_mode = "async"
|
|
request_timeout = "15s"
|
|
worker_pool_size = 4
|
|
}
|
|
ssl {enable = false, verify = "verify_peer"}
|
|
url = "http://127.0.0.1:8080"
|
|
}
|
|
}
|
|
}
|
|
gateway {
|
|
mqttsn {
|
|
broadcast = true
|
|
"enable_qos3" = true
|
|
enable_stats = true
|
|
gateway_id = 1
|
|
idle_timeout = "30s"
|
|
listeners {
|
|
udp {
|
|
default {
|
|
bind = "1884"
|
|
max_conn_rate = 1000
|
|
max_connections = 1024000
|
|
}
|
|
}
|
|
}
|
|
mountpoint = ""
|
|
predefined = []
|
|
}
|
|
}
|
|
limiter {
|
|
bytes_in {burst = "0", rate = "10MB"}
|
|
client {
|
|
bytes_in {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "100KB"
|
|
}
|
|
connection {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
internal {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
message_in {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
message_routing {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
}
|
|
connection {burst = "0", rate = "1000"}
|
|
internal {burst = "0", rate = "infinity"}
|
|
message_in {burst = "0", rate = "1000"}
|
|
message_routing {burst = "0", rate = "infinity"}
|
|
}
|
|
listeners {
|
|
ssl {
|
|
default {
|
|
bind = "0.0.0.0:8883"
|
|
max_connections = 512000
|
|
ssl_options {
|
|
cacertfile = "etc/certs/cacert.pem"
|
|
certfile = "etc/certs/cert.pem"
|
|
keyfile = "etc/certs/key.pem"
|
|
}
|
|
}
|
|
}
|
|
tcp {
|
|
default {
|
|
acceptors = 16
|
|
bind = "0.0.0.0:1883"
|
|
enable_authn = true
|
|
enabled = true
|
|
limiter {
|
|
bytes_in {
|
|
capacity = "infinity"
|
|
initial = "0"
|
|
rate = "infinity"
|
|
}
|
|
client {
|
|
bytes_in {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
connection {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
message_in {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
message_routing {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
}
|
|
connection {
|
|
capacity = 1000
|
|
initial = "0"
|
|
rate = "1000/s"
|
|
}
|
|
message_in {
|
|
capacity = "infinity"
|
|
initial = "0"
|
|
rate = "infinity"
|
|
}
|
|
message_routing {
|
|
capacity = "infinity"
|
|
initial = "0"
|
|
rate = "infinity"
|
|
}
|
|
}
|
|
max_connections = 2000
|
|
proxy_protocol = false
|
|
proxy_protocol_timeout = "3s"
|
|
tcp_options {
|
|
active_n = 100
|
|
backlog = 1024
|
|
buffer = "4KB"
|
|
high_watermark = "1MB"
|
|
nodelay = true
|
|
reuseaddr = true
|
|
send_timeout = "15s"
|
|
send_timeout_close = true
|
|
}
|
|
zone = "default"
|
|
}
|
|
}
|
|
ws {
|
|
default {
|
|
bind = "0.0.0.0:8083"
|
|
max_connections = 1024000
|
|
websocket {mqtt_path = "/mqtt"}
|
|
}
|
|
}
|
|
wss {
|
|
default {
|
|
bind = "0.0.0.0:8084"
|
|
max_connections = 512000
|
|
ssl_options {
|
|
cacertfile = "etc/certs/cacert.pem"
|
|
certfile = "etc/certs/cert.pem"
|
|
keyfile = "etc/certs/key.pem"
|
|
}
|
|
websocket {mqtt_path = "/mqtt"}
|
|
}
|
|
}
|
|
}
|
|
log {
|
|
console_handler {
|
|
burst_limit {
|
|
enable = true
|
|
max_count = 10000
|
|
window_time = "1s"
|
|
}
|
|
chars_limit = "unlimited"
|
|
drop_mode_qlen = 3000
|
|
enable = true
|
|
flush_qlen = 8000
|
|
formatter = "text"
|
|
level = "info"
|
|
max_depth = 100
|
|
overload_kill {
|
|
enable = true
|
|
mem_size = "30MB"
|
|
qlen = 20000
|
|
restart_after = "5s"
|
|
}
|
|
single_line = true
|
|
supervisor_reports = "error"
|
|
sync_mode_qlen = 100
|
|
time_offset = "system"
|
|
}
|
|
file_handlers {
|
|
default {
|
|
burst_limit {
|
|
enable = true
|
|
max_count = 10000
|
|
window_time = "1s"
|
|
}
|
|
chars_limit = "unlimited"
|
|
drop_mode_qlen = 3000
|
|
enable = false
|
|
file = "log/emqx.log"
|
|
flush_qlen = 8000
|
|
formatter = "text"
|
|
level = "warning"
|
|
max_depth = 100
|
|
max_size = "50MB"
|
|
overload_kill {
|
|
enable = true
|
|
mem_size = "30MB"
|
|
qlen = 20000
|
|
restart_after = "5s"
|
|
}
|
|
rotation {count = 10, enable = true}
|
|
single_line = true
|
|
supervisor_reports = "error"
|
|
sync_mode_qlen = 100
|
|
time_offset = "system"
|
|
}
|
|
}
|
|
}
|
|
retainer {
|
|
backend {
|
|
index_specs = [
|
|
[1, 2, 3],
|
|
[1, 3],
|
|
[2, 3],
|
|
[3]
|
|
]
|
|
max_retained_messages = 0
|
|
storage_type = "ram"
|
|
type = "built_in_database"
|
|
}
|
|
enable = true
|
|
flow_control {
|
|
batch_deliver_limiter {
|
|
capacity = "infinity"
|
|
client {
|
|
capacity = "infinity"
|
|
divisible = false
|
|
failure_strategy = "force"
|
|
initial = "0"
|
|
low_watermark = "0"
|
|
max_retry_time = "10s"
|
|
rate = "infinity"
|
|
}
|
|
initial = "0"
|
|
rate = "infinity"
|
|
}
|
|
batch_deliver_number = 0
|
|
batch_read_number = 0
|
|
}
|
|
max_payload_size = "5MB"
|
|
msg_clear_interval = "0s"
|
|
msg_expiry_interval = "0s"
|
|
stop_publish_clear_msg = false
|
|
}
|
|
rule_engine {
|
|
ignore_sys_message = true
|
|
jq_function_default_timeout = "10s"
|
|
jq_implementation_module = jq_nif
|
|
rules {
|
|
"rule_bw1q" {
|
|
actions = ["webhook:test"]
|
|
description = ""
|
|
metadata {created_at = 1683878250142}
|
|
sql = "SELECT\n *\nFROM\n \"t/#\""
|
|
}
|
|
}
|
|
}
|