JianBo He
2706e005ff
Merge pull request #12354 from SergeTupchiy/EMQX-11751-dashboard-import-timeout-rel55
...
Apply brdige post config changes in parallel
2024-01-22 17:24:55 +08:00
JimMoen
2061d75b50
docs: prometheus api `mode` field description
2024-01-22 10:39:56 +08:00
JimMoen
2263df0242
fix(prom_push_gw): use format mode `node` for prometheus push gateway
2024-01-22 10:39:55 +08:00
JimMoen
b424f8ac12
feat(prom_stats): aggregated/unaggregated prometheus data
2024-01-22 10:39:54 +08:00
JimMoen
6b064dd8eb
fix(prom_stats): missing metric key
...
- follow https://github.com/emqx/emqx/pull/11497
2024-01-22 10:39:53 +08:00
JimMoen
c6c1a7fc28
refactor(prom): prom_auth and prom_di as prom_cluster behaviour
2024-01-22 10:39:52 +08:00
JimMoen
b480c5b371
fix(prom): use name `mode` and macros to put/get format mode
2024-01-22 10:39:51 +08:00
JimMoen
8cb12c6a74
refactor: use utils func for prom_auth and prom_di
2024-01-21 00:14:54 +08:00
JimMoen
c3da792323
feat(prom_di): cluster aggregated/unaggregated metrics
2024-01-21 00:14:53 +08:00
JimMoen
9627124d67
fix(prom_di): metric `emqx_rule_enable`
2024-01-21 00:14:52 +08:00
JimMoen
5534d5e9de
fix(bpapi): make static_check happy
2024-01-21 00:14:51 +08:00
JimMoen
5914eb5ca5
fix(prom_cert): rm cacertfile expiry epoch
2024-01-21 00:14:50 +08:00
JimMoen
4fb1ff2f9d
fix(prom_api): format-mode example value
2024-01-21 00:14:49 +08:00
JimMoen
57f3efde63
feat(prom_auth): cluster metrics with different format-mode
2024-01-21 00:14:48 +08:00
JimMoen
fb330f77e6
feat(prometheus): api `format_mode` parameter support
...
- node(default):
The only supported format_mode for PushGateway.
Return the current node's metrics.
- Without label `node_name` with content-type: `text/plain`.
- Without key `node_name` with content-type: `application/json`
- nodes_aggregated:
Return all nodes metrics Arithmetic-Sum or Logical-Sum.
See details in callback modules.
- Logical-Sum for metrics named with `xxx_enable` or `xxx_status`.
- Arithmetic-Sum for other metrics.
`node_name` field:
- Without label `node_name` with content-type: `text/plain`.
- Without key `node_name` with content-type: `application/json`
- nodes_unaggregated:
Return all nodes metrics without aggregated.
`node_name` field:
- _With_ label `node_name` with content-type: `text/plain`.
- _With_ key `node_name` with content-type: `application/json`
2024-01-21 00:14:47 +08:00
JimMoen
94032aafb2
fix(prom_data_integration): fix metric type
2024-01-21 00:14:46 +08:00
JimMoen
c3e9533260
fix: prometheus auth metrics fields and type
...
- rm rate fields
- fix few fields type to counter
2024-01-21 00:14:45 +08:00
JimMoen
a18c4d193a
refactor: abstract function call
2024-01-21 00:14:44 +08:00
JimMoen
8f7964f435
feat(prom): data integration metrics in josn format
2024-01-21 00:14:42 +08:00
JimMoen
36f009b0c2
fix(prom): connectors specific data
2024-01-21 00:14:41 +08:00
JimMoen
76d9ace582
fix: connector_count contains bridge_v1 and bridge_v2
2024-01-21 00:14:40 +08:00
JimMoen
f457def201
fix: use `id` uniformly as the label key for rules and actions
2024-01-21 00:14:39 +08:00
JimMoen
4b23930fce
fix(prometheus): license expiry and schema_registry only for ee
2024-01-21 00:14:38 +08:00
JimMoen
38a90bd273
fix(prom_auth): authn && authz data response by josn
2024-01-21 00:14:37 +08:00
JimMoen
0dca9905dd
test(prometheus): `{Registry, Collector}` tuple
2024-01-21 00:14:36 +08:00
JimMoen
7832bbc0a4
fix(prom): schema registry not in ce edition
2024-01-21 00:14:35 +08:00
JimMoen
5158395bcf
feat(prometheus): data integration prom data
2024-01-21 00:14:34 +08:00
JimMoen
bf2e4d134a
refactor(prometheus): generic api response funcs
2024-01-21 00:14:33 +08:00
JimMoen
e0feb580b6
feat(prometheus): auth metrics with text/plain
2024-01-21 00:14:32 +08:00
JimMoen
092159b071
feat(prometheus): cert expiry epoch in endpoint `/prometheus/stats`
2024-01-21 00:14:31 +08:00
JimMoen
558c471392
feat(prometheus): license expiry at epoch as gauge
2024-01-21 00:14:30 +08:00
JimMoen
fae0cea17f
fix(license): make dialyzer happy
2024-01-21 00:14:29 +08:00
JimMoen
81ba166b49
feat(license): expiry epoch api
2024-01-21 00:14:28 +08:00
JimMoen
89128958ed
fix(dashboard): licence quota not provided to ce edition
2024-01-21 00:14:27 +08:00
JimMoen
ecd0da9fde
feat(dashboard): `/monitor_current/nodes/{node}` provide `node_uptime`
2024-01-21 00:14:26 +08:00
JimMoen
7bc3a5090d
fix(dashboard): meck `emqx_retainer` in SUITE
2024-01-21 00:14:25 +08:00
JimMoen
3d6b65aced
chore: emqx_dashboard_monitor:current_rate/0 not exported anymore
2024-01-21 00:14:24 +08:00
JimMoen
a35698009c
feat(dashboard): endpoint `/monitor_current` provides mor fields
...
- `retained_msg_count`
Current retained_msg_count on each node and should be same on all nodes.
- `license_quota`
Only for enterprise edition, provides the max limited connections num.
2024-01-21 00:14:23 +08:00
Serge Tupchii
dc15d37dcc
perf(emqx_bridge/connector): load and unload bridges/connectors in parallel
...
This should reduce app start/stop time, when a large number of bridges/connectors are not healthy.
2024-01-19 21:44:31 +02:00
Serge Tupchii
d3a6870097
feat(emqx_utils): add pforeach/2,3
2024-01-19 21:44:31 +02:00
Serge Tupchii
a6568dec75
perf(emqx_bridge/connector): apply post config bridge/connector changes in parallel
...
This can greatly improve the performance when many bridges/connectors are being changed,
e.g. when a backup file is being imported.
Fixes: EMQX-11751
2024-01-19 21:44:31 +02:00
Serge Tupchii
54457b7093
feat(emqx_utils): allow `infinity` timeout in `pmap/3`
2024-01-19 19:34:04 +02:00
Thales Macedo Garitezi
a40a13b786
Merge pull request #12357 from thalesmg/fix-bridge-bpapi-interval-r55-20240119
...
fix(bridge_api): explicitly state bpapi version ranges
2024-01-19 13:08:44 -03:00
Thales Macedo Garitezi
d22092e3da
fix(mqtt_source): don't attempt local publish when legacy config is absent
...
Fixes https://emqx.atlassian.net/browse/EMQX-11765
2024-01-19 10:54:05 -03:00
Thales Macedo Garitezi
e369c1b971
docs(mqtt_source): fix example qos
2024-01-19 10:54:05 -03:00
Thales Macedo Garitezi
4068258c78
fix(bridge_api): explicitly state bpapi version ranges
...
Fixes https://emqx.atlassian.net/browse/EMQX-11767
The currently supported version for a node may not be available at the time it's probed.
2024-01-19 10:20:57 -03:00
Thales Macedo Garitezi
e219c3eda1
Merge pull request #12166 from kjellwinblad/kjell/mqtt_conn_action_3/EMQX-11489
...
feat: refactor MQTT bridge to source, action, and connector
2024-01-18 09:28:14 -03:00
Zaiming (Stone) Shi
6b462a9100
Merge pull request #12349 from zmstone/0118-fix-authz-cache-excludes-type
...
0118 fix authz cache excludes type
2024-01-18 10:32:38 +00:00
zhongwencool
1b432eadd8
Merge pull request #12348 from emqx/elasticsearch-e550
...
Elasticsearch e550
2024-01-18 18:06:48 +08:00
zhongwencool
dae835635c
fix: don't crash in http SUITE
2024-01-18 16:45:46 +08:00
zhongwencool
59797cfea7
feat: es's update support doc_as_upsert
2024-01-18 16:44:56 +08:00
zhongwencool
91368a57ff
test: add es docker CI test
2024-01-18 16:44:56 +08:00
zhongwencool
7f5fe91905
fix: es's action is atom not binary
2024-01-18 16:44:56 +08:00
aiotter
7802d6e018
chore: fix typos
2024-01-18 16:35:57 +08:00
Zaiming (Stone) Shi
556092b7d0
feat(authz/prometheus): add authz cache_miss counter
2024-01-18 09:01:17 +01:00
Zaiming (Stone) Shi
85b6a3454c
fix(authz): use binary() type instead of string() for cache.excludes
2024-01-18 09:01:17 +01:00
lafirest
6d6242c27a
Merge pull request #12335 from lafirest/fix/type_clause
...
fix(iotdb): enhances type checking when converting value
2024-01-18 11:28:40 +08:00
firest
b2af7fdd70
fix(sysk): fix a update issue for the Syskeeper forwarder
2024-01-17 12:51:10 +08:00
firest
238ecc68cf
fix(iotdb): enhances type checking when converting value
2024-01-17 12:00:15 +08:00
Zaiming (Stone) Shi
4fa906731d
Merge pull request #12333 from zmstone/0116-add-tags-for-action-and-connectors
...
feat: add 'tags' field for action and connector
2024-01-16 18:56:57 +00:00
Zaiming (Stone) Shi
01d52e37c4
fix: resource tag type should be binary string
...
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2024-01-16 17:35:22 +01:00
Thales Macedo Garitezi
2a41cad54f
fix(sources): remote irrelevant `resource_opts` fields for sources
...
Since they don't use buffer workers, they shouldn't have buffer-related sub-fields.
2024-01-16 11:29:35 -03:00
Thales Macedo Garitezi
a8f9e5676f
docs(mqtt_bridge): add API examples
2024-01-16 10:42:52 -03:00
Kjell Winblad
60fab6ee45
refactor: attempt to improve function names
2024-01-16 10:42:52 -03:00
Kjell Winblad
c6cd3adccb
refactor: fix type upgrade calls and move compatiblitly logic
...
Some bridge V1 to V2 calls were wrong but did not seem to cause issues
(perhaps due to locking test coverage). This commit also move
compatibility logic from the API module to the emqx_bridge_v2 module
where most of the compatibility logic exists.
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
440a543a85
docs: fix typo
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
938429f351
chore(mqtt_bridge): change schema to remote `remote` sub-fields and hide `local`
...
`local` is still needed for backwards compatibility
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
007af20a30
test(bridge_v2_api): adapt more tests to sources
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
fc88a1ed1e
test(sources_api): add some tests to cover `/sources` HTTP API
...
Also fixes a bug with `DELETE /sources/:id`
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
8f304d3456
test(bridge_v2_api): refactor suite to use CT matrix
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
cc24fe6e93
feat(mqtt_consumer): add support for rule engine `FROM`
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
28de7c89c7
feat: add `/sources*` HTTP APIs
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
e6ccfa5b39
fix(mqtt_bridge): fixes after rebasing onto current `master`
...
Rebased on top of 7f57ec47d5
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
6511693b2e
refactor(action_api): prepare for `/sources` HTTP API
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
12dc9fbeb9
test(mqtt_bridge): fix assertion
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
862283ff7c
test: fix expected connector name after name convention generation changed
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
7fc069da46
test: fix another broken test
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
1ad3100cad
chore: add i18n
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
3597ee7c93
fix(mqtt_action): fix resource_opts schema
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
ab1b0dda67
refactor: fix typo
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
697c8f5ee1
test: fix broken tests
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
cc34660ab9
fix(actions): use backward-compatible ids
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
14b99737e9
fix(mqtt_bridge): add missing fields to POST api spec; fix test
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
7befe898d0
fix(mqtt_bridge): fix schema
2024-01-16 10:42:52 -03:00
Thales Macedo Garitezi
139da6d720
fix: don't double-write the transformed config; return a triplet in all cases
2024-01-16 10:42:52 -03:00
Kjell Winblad
2ecc775fb7
style: remove commented out code and fix copyright headers
2024-01-16 10:42:52 -03:00
Kjell Winblad
886ed55374
fix: don't call non-existing function
2024-01-16 10:42:52 -03:00
Kjell Winblad
145ed2e632
fix: elvis style error
2024-01-16 10:42:52 -03:00
Kjell Winblad
f199a0f24a
feat: refactor MQTT bridge to source, action, and connector
...
This commit:
* refactors the MQTT V1 bridge into connector, source and action
* Extends the compatibility layer so it works for sources
* Fixes the MQTT bridge test suite so that all test cases passes
We still need to add a HTTP API handling sources. Also, we still need to
add HTTP API example schemes and examples for the MQTT
connector/action/source.
We should also make sure that we handle the corner cases of the MQTT V1
bridge automatic upgrade downgrade in a sufficiently good way:
* An error is currently thrown when converting an MQTT V1 bridge without
egress or ingress config.
* If there is a source and action with the same name we will currently
throw an error in the compatibility layer.
* We will also throw an error when converting an MQTT V1 bridge with
both ingress and egress.
The above is probably the right thing to do but we have to make sure
that we return a reasonable error to the user when this happens.
(partly)
Fixes:
https://emqx.atlassian.net/browse/EMQX-11489
2024-01-16 10:42:52 -03:00
Zaiming (Stone) Shi
996a851cf6
chore: format username as string in log formatter
2024-01-16 14:42:10 +01:00
Zaiming (Stone) Shi
541525c50f
fix(authz): fix authz result logs
...
prior to this fix, it's always the default authz result logged at
warning level
2024-01-16 14:40:53 +01:00
Zaiming (Stone) Shi
1fe1a62fe2
test: fix already exported function warning
2024-01-16 14:00:34 +01:00
Zaiming (Stone) Shi
ab66986f16
feat: add 'tags' field for action and connector
2024-01-16 13:57:48 +01:00
JianBo He
b6d0365027
Merge pull request #12267 from HJianBo/new-timeout-param-for-invite
...
feat(cluster): supports inviting nodes to join the cluster in an asynchronous manner
2024-01-16 10:11:20 +08:00
Zaiming (Stone) Shi
58a54adbb4
Merge remote-tracking branch 'origin/master' into release-55
2024-01-15 17:58:48 +01:00
lafirest
04d3e0335b
Merge pull request #12328 from lafirest/fix/iotdb
...
fix(iotdb): ensure the `data` field is `required`
2024-01-15 23:26:36 +08:00
firest
50ce2384d9
fix(iotdb): ensure the `data` field is `required`
2024-01-15 20:29:58 +08:00
William Yang
d2d3ddb72a
test(quic): listener port updates
2024-01-15 11:42:45 +01:00
William Yang
c77837a9ea
feat(quic): support reload with new binding port
2024-01-15 11:33:25 +01:00
zhongwencool
90c2a5445c
Merge pull request #12295 from zhongwencool/elasticsearch
...
feat: support elasticsearch bridge
2024-01-15 14:13:38 +08:00