Commit Graph

262 Commits

Author SHA1 Message Date
JianBo He f53e13b8b9 perf: update to our forked prometheus deps
it's based on v4.10.0 of upstream, and patched this PR:
https://github.com/emqx/prometheus.erl/pull/5
2023-06-08 14:29:54 +08:00
Thales Macedo Garitezi 75df622426
Merge pull request #10930 from thalesmg/max-int-timeout-v50
check maximum timeout values in schema (5.1)
2023-06-05 12:51:36 -03:00
Thales Macedo Garitezi 46393343e2 chore: use `timeout_duration` types for timer fields
Fixes https://emqx.atlassian.net/browse/EMQX-10020
2023-06-05 11:46:38 -03:00
Stefan Strigler c9ef1ccacd fix: headers is array not object 2023-06-02 10:24:33 +02:00
Kjell Winblad ab8b8ccaad docs: make sure there is a summary for all API endpoints
Many HTTP API endpoints did not have a summary when looking at the API
docs at "http://emqx_host_name:18083/api-docs". This has been fixed by
making sure there is a summary corresponding to all endpoints.

Fixes:
https://emqx.atlassian.net/browse/EMQX-9767
2023-05-17 09:58:56 +02:00
Zhongwen Deng fdf9b2a383 chore: apply review suggestions 2023-04-21 12:19:38 +08:00
JianBo He de8da7dc37
Merge pull request #10434 from HJianBo/improve-modules-promethues-readme
Improve modules promethues readme
2023-04-20 22:37:54 +08:00
Zhongwen Deng 4464a31fab chore: remove *_collector for prometheus api's example 2023-04-20 18:01:27 +08:00
Ivan Dyachkov dc78ecb41c chore: merge upstream/master 2023-04-18 17:33:32 +02:00
JianBo He 7de6c5b392 chore: update prometheus README 2023-04-18 22:47:26 +08:00
ieQu1 282bfee8ff feat(emqx): Add an API that returns the list of running nodes 2023-04-18 09:22:58 +02:00
Ivan Dyachkov 9fc8a498f8 chore: bump apps versions 2023-04-17 09:09:08 +02:00
Stefan Strigler 9c11bfce80 refactor: rename emqx_misc to emqx_utils 2023-04-14 13:41:27 +02:00
Stefan Strigler f8e9e54393 refactor: move emqx_json to emqx_utils_json 2023-04-14 13:31:27 +02:00
Zaiming (Stone) Shi 36000abf51 refactor: relocate i18n files for apps/emqx 2023-04-03 13:12:24 +02:00
Zaiming (Stone) Shi d07987288a chore: add some example annotations for config importance level 2023-03-28 14:29:24 +02:00
ieQu1 e3595f2e79 chore(mria): Bump version to 0.4.0 2023-03-11 00:37:25 +01:00
Zaiming (Stone) Shi 9316690c29 fix(schema): binary string for default values
A lot of the string value fields had default value defined in
schema as list-string rather than binary-string.
This caused the generated schema dump (in JSON format)
to have raw_default field as an integer array.
2023-02-21 09:09:51 +01:00
Zhongwen Deng 82b2f9f245 chore: include emqx_management in emqx_prometheus/emqx_statsd 2023-02-16 11:37:00 +08:00
Zaiming (Stone) Shi 719e02cc96 fix(metrics): use the same data source for RAM usage info 2023-02-15 16:11:39 +01:00
Zhongwen Deng 53488b4377 fix: add push_gateway_server's validator 2023-02-10 17:52:16 +08:00
Zaiming (Stone) Shi 4e71f1cbc5
Merge pull request #9940 from zmstone/0208-ensure-no-leading-br-in-docs
Add style checks for i18n.conf files
2023-02-09 17:37:44 +01:00
Zaiming (Stone) Shi 157c919ba1 ci: add i18n style check script 2023-02-09 11:41:52 +01:00
Erik Timan 784ec0c0a5 chore: bump VSN 2023-02-07 15:54:01 +01:00
Erik Timan 19c2288a4b feat(emqx_prometheus): expose live_connections stats to prometheus 2023-02-07 15:42:55 +01:00
Zhongwen Deng 1194d07a07 refactor: update emqx_prometheus's headers from map() to list() 2023-01-12 12:48:26 +08:00
JianBo He 9f6df27759 chore: bump app.src vsn 2023-01-11 17:47:06 +08:00
JianBo He b1292d6d4f feat(prom): support configuring job_name for pushing mode 2023-01-11 17:31:58 +08:00
JianBo He 50b7ac6a22 feat(prom): support headers for pushing 2023-01-11 17:31:58 +08:00
Zaiming (Stone) Shi dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Vitaly Zhuravlev 5c9fff43a2 chore: add proper units for rates on the dashboard 2022-11-25 19:12:36 +03:00
Vitaly Zhuravlev 5af1d6662f chore: update grafana dashboards 2022-11-25 19:12:25 +03:00
Zhongwen Deng d6dfead31d fix: prometheus ct failed 2022-10-26 22:05:20 +08:00
Zhongwen Deng 3233a40af3 chore: don't delete bpapi when 5.0.x 2022-10-26 21:58:51 +08:00
Zhongwen Deng 97124be63a chore: add next_push_ms to emqx_prometheus:info/0 2022-10-26 21:32:19 +08:00
Zhongwen Deng 1757342e5b chore: make dialyzer happy 2022-10-26 21:32:19 +08:00
Zhongwen Deng e22f8ff2a8 refactor: sync emqx_prometheus via emqx_config_handler 2022-10-26 21:31:19 +08:00
Zhongwen Deng 4c5e64d5a3 feat: hibernate after send data to prometheus push_gateway 2022-10-25 12:27:25 +08:00
Zhongwen Deng 8578024637 chore: bump emqx_prometheus to 5.0.3 2022-10-25 11:21:16 +08:00
Zhongwen Deng 6710736243 feat: add prometheus collectors config 2022-10-25 09:41:58 +08:00
Zaiming (Stone) Shi f7016e53a4 chore: delete hocon from emqx_prometheus application deps 2022-08-09 20:19:31 +02:00
Chris Hicks bc93d5f525
Merge pull request #8567 from emqx/EMQX-6018-v-5-0-4-cli-command-to-verify-config-syntax-against-schema
feat: Added emqx command to check configs
2022-07-25 17:14:42 +02:00
Chris 24f88679ae feat: Added emqx command to check configs 2022-07-25 11:01:08 +02:00
Zhongwen Deng a3296078c3 chore: make sure swagger's tags always titlecase 2 2022-07-25 16:55:38 +08:00
Zhongwen Deng 99340e424e chore: bump app.src version 2022-07-25 16:14:03 +08:00
Zhongwen Deng dd59c850e0 chore: make sure swagger's tags always titlecase 2022-07-25 16:09:17 +08:00
Zhongwen Deng 15ebef4468 chore: improve metrics interval desc 2022-07-15 15:23:31 +08:00
Zhongwen Deng 0b1117df47 chore: upgrade hocon to 0.28.3 to speed up schema cache 2022-07-07 15:00:41 +08:00
ieQu1 a9ec193ef8 fix(prometheus): Disable authorization for metrics scraping endpoint 2022-06-23 00:31:53 +02:00
Zaiming (Stone) Shi 738a551550 refactor: best-effort json for hocon validation errors 2022-06-15 15:01:15 +02:00
zhongwencool 914fbedd7e
Merge pull request #8116 from zhongwencool/better-hocon-validate-msg
chore: better hocon validate msg
2022-06-06 20:29:25 +08:00
Zhongwen Deng de5e388afb chore: hocon validate message 2022-06-06 09:55:12 +08:00
Zhongwen Deng c7cc2e85b2 fix: add default&example for schema 2022-06-06 09:52:10 +08:00
Zhongwen Deng 1345b7e993 chore: bump hocon to 0.28.0 2022-05-31 19:20:27 +08:00
Zhongwen Deng 8aa60cc0a5 feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
Zhongwen Deng 6f1610257f feat: bump hocon to 0.27.5 to remove FROM_ENV 2022-04-29 08:48:12 +08:00
JimMoen 4f9b42a250 style: make erlfmt happy 2022-04-28 09:46:14 +08:00
Zaiming (Stone) Shi 02c3f87b31 style: reformat all remaining apps 2022-04-27 15:51:18 +02:00
Zhongwen Deng 08cad804bf fix: bump hocon to 0.27.4 to obfuscate sensitive as binary 2022-04-27 13:55:42 +08:00
DDDHuang f661d3d17b
Merge pull request #7740 from DDDHuang/statsd_pro_restart
fix: statsd & prometheus update config with restart & stop
2022-04-24 16:44:01 +08:00
DDDHuang c842a51be3 fix: statsd & prometheus update config with restart & stop 2022-04-24 14:43:27 +08:00
Zhongwen Deng 5223c3ee61 feat: obfuscate sensitive values default_password 2022-04-24 09:41:29 +08:00
Zaiming (Stone) Shi 9212906c5b chore: pin hocon 0.27.2 2022-04-22 08:53:30 +02:00
DDDHuang cc200cf03f fix: prometheus & statsd default config: disable 2022-04-20 16:30:46 +08:00
DDDHuang f47f5db521 fix: prometheus & statsd & topic rewrite docs 2022-04-19 10:55:37 +08:00
Zhongwen Deng 630cc8ee34 feat: support i18n with desc struct. 2022-04-15 08:42:13 +08:00
DDDHuang b8e2c76382 fix: remove routes 2022-04-13 16:16:12 +08:00
ieQu1 fff6bffa0c docs(schema): Add descriptions of the records 2022-03-29 14:09:32 +02:00
ieQu1 aecfa77985 chore(hocon): Bump version 2022-03-29 14:09:32 +02:00
Zhongwen Deng 8d46332b30 chore: upgrade hocon to 0.26.4 to limit HOCON_MAP's key format 2022-03-25 15:00:51 +08:00
lafirest 68961c7479
Merge pull request #7397 from lafirest/test/prometheus_coverage
test(prometheus): improve test coverage to 88%
2022-03-25 02:40:13 +08:00
firest 8c8162facb test(prometheus): improve test coverage to 88% 2022-03-24 16:17:40 +08:00
ieQu1 ee805f12a6 docs(schema): Add documentation for prometheus and logger 2022-03-23 13:52:54 +01:00
Zhongwen Deng bf6339ebf4 chore: upgrade hocon to 0.26.3 to fix dialyzer warning 2022-03-21 17:56:22 +08:00
JimMoen fab9ad91de fix(schema): nullable => required 2022-03-04 10:06:36 +08:00
Zaiming (Stone) Shi 7df2a4655a chore: pin hocon 0.26.1
0.26.0 had a bug where 'mapping' field is encoded as a integerx- list
2022-02-28 12:54:49 +01:00
Zaiming (Stone) Shi edb16f902e chore: pin hocon 0.16.0 for 'mappings' in generated config doc 2022-02-27 14:44:28 +01:00
Zhongwen Deng db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
DDDHuang 90ee450a84 feat: support http error code & error code api 2022-02-22 17:14:35 +08:00
Zaiming (Stone) Shi 0528262705 chore(app.src): EMQ X -> EMQX in .app.src files 2022-02-16 17:51:45 +01:00
Zaiming (Stone) Shi b3d9605722 chore(conf): EMQ X -> EMQX in conf files 2022-02-16 17:50:41 +01:00
k32 e2e92e9a46
Merge pull request #7032 from k32/fix-prom-mria
fix(prometheus): Convert all non-numeric values to undefined
2022-02-16 15:48:06 +01:00
k32 0922f3bde3 fix(prometheus): Convert all non-numeric values to undefined 2022-02-16 14:45:30 +01:00
k32 689ea6546e
Merge pull request #7018 from k32/mria-prom-metrics
feat(mria): Add prometheus metrics
2022-02-15 21:26:25 +01:00
k32 c00f4ef83c
fix: Add replayq_len
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-02-15 20:02:46 +01:00
k32 6d49754988 feat(mria): Add prometheus metrics 2022-02-15 19:10:05 +01:00
Zaiming (Stone) Shi 667d66eb1e docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
DDDHuang 471e867bf3 fix(api): rename client info recv_msg.dropped.await_pubrel_timeout 2022-02-10 10:33:25 +08:00
Shawn 8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
Shawn 2879001694 fix(metrics): rename metrics 'messages.dropped.expired' to 'messages.dropped.await_pubrel_timeout' 2022-02-08 17:14:59 +08:00
Zaiming (Stone) Shi 507952c473 feat: dump schema json file to dashbarod static dir 2022-01-31 16:38:41 +01:00
zhongwencool ec5d1b1463 feat(dashboard): support bind specific ip(port or ip:port). 2022-01-28 16:52:03 +08:00
Zaiming (Stone) Shi 8c114db168 chore: pin hocon 0.23.0 2022-01-27 00:23:08 +01:00
JimMoen 4e9e95c317 fix(swagger): spec remove needless description, fix property name 2022-01-25 15:52:13 +08:00
JimMoen b950042cbf refactor(api): prometheus swagger spec 2022-01-21 14:09:42 +08:00
DDDHuang e2ba0fc4ae fix(minirest): app version to 1.2.10 support string desc in api spec 2022-01-21 09:41:13 +08:00
JimMoen d8f49f8a5f
Merge pull request #6732 from JimMoen/telemetry-api-refactor
refactor(api): telemetry api swagger spec
2022-01-14 09:36:54 +08:00
k32 5a8f0db0e6 refactor(emqx_prometheus): Decorate remote procedure calls 2022-01-13 13:14:59 +01:00
JimMoen 82e3565344 chore: major mode file variable for Emacs 2022-01-13 15:53:47 +08:00
Thales Macedo Garitezi 9059f2005a
fix(elixir): put Patch in version and add missing deps
Elixir requires that we use version of the form `Major.Minor.Patch`.
Also, Mix requires dependecies to be declared in `rebar.config` so it
can include the header files correctly.
2022-01-06 10:54:45 -03:00
zhongwencool 3bdfa183f3
Merge pull request #6666 from JimMoen/merge-5.0-beta.3-to-master
Merge 5.0 beta.3 to master
2022-01-06 18:20:30 +08:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
DDDHuang 5e48f55eef fix(prometheus): restart error 2022-01-05 17:32:09 +08:00
DDDHuang 6c574c08b8 fix(config): update config by emqx_conf 2022-01-05 16:11:55 +08:00
DDDHuang 31aed3ea8e fix(prometheus): stop app with error check & dialyzer 2022-01-05 15:59:17 +08:00
DDDHuang 72713cb85f fix(config): restart app after config update in cluster 2022-01-05 15:06:18 +08:00
DDDHuang 20c5343f9b fix(prometheus): dialyzer 2022-01-05 09:28:49 +08:00
DDDHuang 7bc59969eb fix(prometheus): update config in cluster 2022-01-05 09:28:49 +08:00
Zaiming (Stone) Shi 65b1ce80d9 chore: fix deps discrepancy 2022-01-03 11:47:43 +01:00
Thales Macedo Garitezi 6858f496a7
chore(hocon): update hocon version 2021-12-31 14:13:39 -03:00
Thales Macedo Garitezi 34d6dbca61
chore(mix): simplify build by using rebar3 for umbrella apps
By treating the apps in the umbrella as dependencies to be managed and
built by rebar3, we can simplify the maintenance of the release, at
the cost of increased build times: using Mix as before, it could track
changed files better than using rebar.  But the complexity and
possibility of discrepancies make it using rebar much more compelling.
2021-12-22 09:40:01 -03:00
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
Zaiming (Stone) Shi 9276a5bc3c
Merge pull request #6394 from zmstone/fix-typo-in-hook-point-name
fix: typo takeovered -> takenover
2021-12-07 21:06:30 +01:00
Zaiming (Stone) Shi 5440b431a1 fix: typo takeovered -> takenover 2021-12-07 16:06:23 +01:00
zhongwencool f6c61189c4 chore(HTTP): prometheus or json format by accept header 2021-12-02 10:30:50 +08:00
Zaiming Shi 56e2a9741f style: ensure newline at EOF for all files 2021-11-04 14:40:14 +01:00
zhongwencool d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00
k32 73a4816d9c fix(mria): Hook up mria to emqx_machine 2021-10-18 22:04:05 +02:00
k32 9965d6e028 chore(mria): ekka_mnesia:create_table -> mria:create_table 2021-10-18 22:04:05 +02:00
JimMoen deac54c847 chore(for editor): Add comments for Emacs major mode. 2021-09-16 15:43:30 +08:00
Zaiming Shi ec13463f4a refactor(schema): prepare for hocon schema doc generation 2021-09-03 11:02:31 +02:00
Zaiming Shi 5165fd6b30 refactor(schema): implement new hocon_schema callbacks 2021-08-30 09:56:03 +08:00
DDDHuang 78cf115a90 fix: swagger doc 2021-08-25 11:58:28 +08:00
Turtle 675d23111c chore(swagger-schema): Delete the schema that is not reused 2021-08-24 23:01:51 +08:00
Turtle a1ae4457df feat(prometheus): add get prometheus_format stats api 2021-08-24 21:01:21 +08:00
Turtle e0c05242a7 refactor(minirest-callback): refactor minirest callback function 2021-08-24 18:19:21 +08:00
Turtle 47378e0e96 refactor(schema-utils): refactor mgmt swagger schema utils 2021-08-24 10:53:06 +08:00
Turtle d4d4ba9ea4 refactor(prometheus): refactor prometheus swagger schema 2021-08-23 09:41:46 +08:00
Shawn f3efc89192
refactor(config): replace all ':' with '=' in the *.conf (#5531) 2021-08-19 19:57:42 +08:00
Shawn e8e95d39ef
refactor(config): move emqx_config:get/get_raw to emqx:get_config/get_raw_config (#5517) 2021-08-18 14:52:57 +08:00
Shawn bf6251e20f refactor(config): update the return values of config handlers 2021-08-18 09:42:06 +08:00
Shawn bd8263e324 refactor(config): move APIs for config update,remove,reset to emqx
Move the emqx_config:update,remove,reset APIs to emqx, to remove
the circular dependency between the modules emqx_config and
emqx_config_handler.

After this change the dependency among these modules will be:

```
emqx ---> emqx_config
   |          ^
   |          |
   + ---> emqx_conifg_handler
```
2021-08-18 09:42:06 +08:00
Shawn 7f03cd0e8b fix(config): update the calls to emqx_config:update/2,3 2021-08-16 17:41:53 +08:00
Zaiming Shi e6232665a3 refactor(emqx): ensure app shutdown and reboot order
make use of application dependency to ensure start order.
also the same dependency top-sorted for shutdown and reboot order
2021-08-04 08:40:03 +02:00
Turtle 0ef38c75ed chore(prometheus): update prometheus conf root name 2021-07-29 10:34:27 +08:00
Turtle 7a24878436 feat(prometheus): Support swagger prometheus API 2021-07-27 08:57:40 +08:00
DDDHuang c11a8c6db6 refactor: clients api; status api; adapter minirest v1
The serious influence:

authn:
    api
authz:
    api; api test suit
dashboard:
    all closed
lwm2m:
    api;
modules:
    api(api_topic_metrics, modules_api); test suit(emqx_modules_SUITE)
prometheus:
    api
retainer:
    api; api test suit
rule_engine:
    api: api test suit
telemetry:
    api
2021-07-09 18:09:07 +08:00
zhanghongtong e1b0f44a8a chore: rename check_authz to authorize 2021-06-29 10:09:15 +08:00
zhanghongtong c63bdc355a chore: rename check_acl to check_authz
update emqx_coap vsn

rename OnClientCheckAcl to OnClientCheckAuthz in exhook
2021-06-29 10:09:15 +08:00
Turtle 2582fdcfe8 feat(prometheus): Update the configuration file to hocon 2021-06-25 16:31:18 +08:00
JianBo He 7dd107a7cd chore(prom): update grafana templates 2021-05-14 05:41:00 +09:00
Zaiming Shi d904a1048b Merge remote-tracking branch 'origin/master' into merge-master-to-dev/v5.0 2021-04-30 15:09:31 +02:00
Zaiming Shi 6354e75626 chore: update copyrights 2021-04-23 20:43:00 +02:00
Karol Kaczmarek 7b5422dbae feat: cluster info available in metrics 2021-04-16 11:28:35 +02:00
Zaiming Shi 20c37609af
Merge pull request #4062 from emqx/dev/v4.3.0
Auto-pull-request-on-2021-01-24
2021-01-24 22:29:09 +01:00
Yudai Kiyofuji 455f210b4c
feat(cuttlefish): use hocon as a parsing function (#4008)
* chore(conf): add quotation for hocon

* chore(conf): fix paths incompatible with hocon

* chore(conf): use hocon as parsing function

* chore(docker): add quotation to some env variables for hocon
2021-01-19 19:52:17 +09:00
Zaiming Shi 14ca914068 Merge branch 'resync-apps-from-426' into chore-sync-apps-resync-4.2.6 2021-01-18 20:37:26 +01:00
Zaiming Shi a2b4e50a8d chore(sync-apps): re-sync apps from dev/v4.3.0 branch 2021-01-18 19:24:08 +01:00
ayodele.akingbule 2126129aee fix(emqx_prometheus): fix Dialyzer warnings 2020-12-25 07:42:01 +08:00