Search code examples
mysqlmariadbmaxscale

MaxScale MaxGUI tarball install MaxGUI error


If you configure maxgui when installing with maxscale 2.5 tarball, the web browser does not display normally. However, if I install it at RPM, my web browser will display normally, but why doesn't it display normally when I install it with tarball?

MaxGUI image(tarball) : enter image description here
MaxGUI image(RPM) : enter image description here

maxscale.cnf (tarball) :

[maxscale]
threads                     = auto
logdir                      = /var/log/maxscale/
log_info                    = 1
admin_enabled               = 1
admin_auth                  = 1
admin_host                  = 0.0.0.0
admin_gui                   = 1
admin_secure_gui            = false

maxscale.cnf (rpm) :

[maxscale]
threads                     = auto
logdir                      = /var/log/maxscale/
log_info                    = 1
admin_enabled               = 1
admin_auth                  = 1
admin_host                  = 0.0.0.0
admin_gui                   = 1
admin_secure_gui            = false

maxscale start log (tarball):

MariaDB MaxScale  /var/log/maxscale/maxscale.log  Thu Jan  7 08:46:05 2021
----------------------------------------------------------------------------
2021-01-07 08:46:05   notice : syslog logging is enabled.
2021-01-07 08:46:05   notice : maxlog logging is enabled.
2021-01-07 08:46:05   notice : The collection of SQLite memory allocation statistics turned off.
2021-01-07 08:46:05   notice : Threading mode of SQLite set to Multi-thread.
2021-01-07 08:46:05   notice : Worker message queue size: 1MiB
2021-01-07 08:46:05   notice : The logging of informational messages has been enabled.
2021-01-07 08:46:05   notice : Using up to 148.65MiB of memory for query classifier cache
2021-01-07 08:46:05   notice : Running OS: [email protected]_64, #1 SMP Tue Oct 20 16:53:08 UTC 2020, x86 _64 with 1 processor cores.
2021-01-07 08:46:05   notice : Total usable main memory: 990.97MiB.
2021-01-07 08:46:05   notice : MariaDB MaxScale 2.5.2 started (Commit: 72a689b961fdf92feec722453ad6e250e1b2682c)
2021-01-07 08:46:05   notice : MaxScale is running in process 1902
2021-01-07 08:46:05   notice : Configuration file: /etc/maxscale/maxscale.cnf
2021-01-07 08:46:05   notice : Log directory: /var/log/maxscale
2021-01-07 08:46:05   notice : Data directory: /var/lib/maxscale
2021-01-07 08:46:05   notice : Module directory: /usr/lib64/maxscale
2021-01-07 08:46:05   notice : Service cache: /var/cache/maxscale
2021-01-07 08:46:05   notice : Working directory: /var/log/maxscale
2021-01-07 08:46:05   notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib64/maxscale/libqc_sqlite.so
2021-01-07 08:46:05   info   : qc_sqlite loaded.
2021-01-07 08:46:05   notice : Query classification results are cached and reused. Memory used per thread: 148.65MiB
2021-01-07 08:46:05   notice : Password encryption key file '/var/lib/maxscale/.secrets' not found, using configured  passwords as plaintext.
2021-01-07 08:46:05   info   : Epoll instance for listening sockets added to worker epoll instance.
2021-01-07 08:46:05   info   : [qc_sqlite] In-memory sqlite database successfully opened for thread 140629327046400.
2021-01-07 08:46:05   notice : MaxScale started with 1 worker threads, each with a stack size of 8388608 bytes.
2021-01-07 08:46:05   info   : [qc_sqlite] In-memory sqlite database successfully opened for thread 140629476126464.
2021-01-07 08:46:05   notice : Loading /etc/maxscale/maxscale.cnf.
2021-01-07 08:46:05   notice : /etc/maxscale/maxscale.cnf.d does not exist, not reading.
2021-01-07 08:46:05   notice : Loaded module MariaDBClient: V1.1.0 from /usr/lib64/maxscale/libmariadbclient.so
2021-01-07 08:46:05   notice : Loaded module qlafilter: V1.1.1 from /usr/lib64/maxscale/libqlafilter.so
2021-01-07 08:46:05   notice : Loaded module readwritesplit: V1.1.0 from /usr/lib64/maxscale/libreadwritesplit.so
2021-01-07 08:46:05   notice : Loaded module mariadbmon: V1.5.0 from /usr/lib64/maxscale/libmariadbmon.so
2021-01-07 08:46:05   info   : Specifying durations without a suffix denoting the unit is strongly discouraged as it  will be deprecated in the future: monitor_interval=2000. Use the suffixes 'h' (hour), 'm' (minute), 's' (second) or ' ms' (milliseconds).
2021-01-07 08:46:05   notice : (Read-Write-Listener) Loaded module MariaDBAuth: V2.1.0 from /usr/lib64/maxscale/libma riadbauth.so
2021-01-07 08:46:05   notice : Started REST API on [0.0.0.0]:8989
2021-01-07 08:46:05   info   : Loaded server states from journal file: /var/lib/maxscale/MariaDB-Monitor/monitor.dat
2021-01-07 08:46:05   notice : Server 'server2' charset: utf8
2021-01-07 08:46:05   notice : Server 'server3' charset: utf8
2021-01-07 08:46:05   info   : Server variables loaded from 'server2', next update in 600 seconds.
2021-01-07 08:46:05   notice : Server 'server2' version: 10.4.12-MariaDB-log
2021-01-07 08:46:05   info   : Server variables loaded from 'server3', next update in 600 seconds.
2021-01-07 08:46:05   notice : Server 'server3' version: 10.4.12-MariaDB-log
2021-01-07 08:46:05   notice : Starting a total of 1 services...
2021-01-07 08:46:05   notice : (Read-Write-Listener) Listening for connections at [::]:4006
2021-01-07 08:46:05   notice : Service 'Read-Write-Service' started (1/1)
2021-01-07 08:46:06   notice : Read 18 user@host entries from 'server3' for service 'Read-Write-Service'.
2021-01-07 08:46:22   error  : Failed to validate token: signature verification failed
2021-01-07 08:46:22   error  : Failed to validate token: signature verification failed
2021-01-07 08:46:25   error  : Failed to validate token: invalid token supplied

maxscale start log (RPM):

MariaDB MaxScale  /var/log/maxscale/maxscale.log  Wed Jan  6 19:37:24 2021
----------------------------------------------------------------------------
2021-01-06 19:37:24   notice : syslog logging is enabled.
2021-01-06 19:37:24   notice : maxlog logging is enabled.
2021-01-06 19:37:24   notice : The collection of SQLite memory allocation statistics turned off.
2021-01-06 19:37:24   notice : Threading mode of SQLite set to Multi-thread.
2021-01-06 19:37:24   notice : The systemd watchdog is Enabled. Internal timeout = 30s
2021-01-06 19:37:24   notice : Worker message queue size: 1MiB
2021-01-06 19:37:24   notice : The logging of informational messages has been enabled.
2021-01-06 19:37:24   notice : Using up to 148.65MiB of memory for query classifier cache
2021-01-06 19:37:24   notice : Running OS: [email protected]_64, #1 SMP Fri Dec 18 16:34:56 UTC 2020, x86_64 with 1 processor cores.
2021-01-06 19:37:24   notice : Total usable main memory: 990.97MiB.
2021-01-06 19:37:24   notice : MariaDB MaxScale 2.5.3 started (Commit: de3770579523e8115da79b1696e600cce1087664)
2021-01-06 19:37:24   notice : MaxScale is running in process 2698
2021-01-06 19:37:24   notice : Configuration file: /etc/maxscale.cnf
2021-01-06 19:37:24   notice : Log directory: /var/log/maxscale
2021-01-06 19:37:24   notice : Data directory: /var/lib/maxscale
2021-01-06 19:37:24   notice : Module directory: /usr/lib64/maxscale
2021-01-06 19:37:24   notice : Service cache: /var/cache/maxscale
2021-01-06 19:37:24   notice : Working directory: /var/log/maxscale
2021-01-06 19:37:24   notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib64/maxscale/libqc_sqlite.so
2021-01-06 19:37:24   info   : qc_sqlite loaded.
2021-01-06 19:37:24   notice : Query classification results are cached and reused. Memory used per thread: 148.65MiB
2021-01-06 19:37:24   notice : Password encryption key file '/var/lib/maxscale/.secrets' not found, using configured passwords as plaintext.
2021-01-06 19:37:24   info   : Epoll instance for listening sockets added to worker epoll instance.
2021-01-06 19:37:24   info   : [qc_sqlite] In-memory sqlite database successfully opened for thread 139733837694720.
2021-01-06 19:37:24   notice : MaxScale started with 1 worker threads, each with a stack size of 8388608 bytes.
2021-01-06 19:37:24   info   : [qc_sqlite] In-memory sqlite database successfully opened for thread 139734011944704.
2021-01-06 19:37:24   notice : Loading /etc/maxscale.cnf.
2021-01-06 19:37:24   notice : /etc/maxscale.cnf.d does not exist, not reading.
2021-01-06 19:37:24   notice : Runtime configuration changes have been done to MaxScale. Loading persisted configuration files and applying them on top of the main configuration file. These changes can override the values of the main configuration file: To revert them, remove all the files in '/var/lib/maxscale/maxscale.cnf.d'.
2021-01-06 19:37:24   notice : Loading /var/lib/maxscale/maxscale.cnf.d/QLA-Service.cnf.
2021-01-06 19:37:24   notice : Loaded module readconnroute: V2.0.0 from /usr/lib64/maxscale/libreadconnroute.so
2021-01-06 19:37:24   notice : Loaded module MariaDBClient: V1.1.0 from /usr/lib64/maxscale/libmariadbclient.so
2021-01-06 19:37:24   notice : Loaded module readwritesplit: V1.1.0 from /usr/lib64/maxscale/libreadwritesplit.so
2021-01-06 19:37:24   notice : Loaded module masking: V1.0.0 from /usr/lib64/maxscale/libmasking.so
2021-01-06 19:37:24   notice : Loaded module mariadbmon: V1.5.0 from /usr/lib64/maxscale/libmariadbmon.so
2021-01-06 19:37:24   info   : Specifying durations without a suffix denoting the unit is strongly discouraged as it will be deprecated in the future: monitor_interval=2000. Use the suffixes 'h' (hour), 'm' (minute), 's' (second) or 'ms' (milliseconds).
2021-01-06 19:37:24   notice : [masking] Masking filter [] created.
2021-01-06 19:37:24   notice : [masking] The parameter 'treat_string_arg_as_field' is enabled for Masking-Filter, disabling the query classifier cache.
2021-01-06 19:37:24   notice : Query classifier cache disabled.
2021-01-06 19:37:24   notice : (Read-Write-Listener) Loaded module MariaDBAuth: V2.1.0 from /usr/lib64/maxscale/libmariadbauth.so
2021-01-06 19:37:24   notice : Started REST API on [0.0.0.0]:8989
2021-01-06 19:37:24   info   : Loaded server states from journal file: /var/lib/maxscale/MariaDB-Monitor/monitor.dat
2021-01-06 19:37:24   notice : Server 'server2' charset: utf8
2021-01-06 19:37:24   notice : Server 'server3' charset: utf8
2021-01-06 19:37:24   info   : Server variables loaded from 'server3', next update in 600 seconds.
2021-01-06 19:37:24   notice : Server 'server3' version: 10.4.12-MariaDB-log
2021-01-06 19:37:24   info   : Server variables loaded from 'server2', next update in 600 seconds.
2021-01-06 19:37:24   notice : Server 'server2' version: 10.4.12-MariaDB-log
2021-01-06 19:37:24   notice : Starting a total of 2 services...
2021-01-06 19:37:24   warning: Service 'QLA-Service' has no listeners defined.
2021-01-06 19:37:24   notice : Service 'QLA-Service' started (1/2)
2021-01-06 19:37:24   notice : (Read-Write-Listener) Listening for connections at [::]:4006
2021-01-06 19:37:24   notice : Service 'Read-Write-Service' started (2/2)
2021-01-06 19:37:25   notice : Read 18 user@host entries from 'server3' for service 'Read-Write-Service'.

web browser start log (tarball) :

2021-01-07 08:51:15   warning: Authentication failed for '', no password. Request: GET /
2021-01-07 08:51:25   info   : Accept authentication from 'admin', using password. Request: /
2021-01-07 08:51:25   info   : MaxScale watchdog called.
2021-01-07 08:51:26   warning: Authentication failed for '', no password. Request: GET /favicon.ico

web browser start log (RPM) :

2021-01-06 19:37:55   info   : Accept authentication from 'admin', using password. Request: /auth

curl command (tarball) :

curl 127.0.0.1:8989
{"errors": [ { "detail": "Access denied" } ] }

curl command (RPM) :

<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=commitId content=de37705><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=mask-icon href=/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/favicon.ico><link rel=stylesheet href=https://use.typekit.net/vme5kwy.css><title>MaxScale</title><style>body {
      margin: 0
    }

    .global-overlay {
      z-index: 9999;
      position: fixed;
      width: 100%;
      height: 100%;
      background: radial-gradient(1100px at 100% 89%, #2f99a3 0%, #003545 100%);
    }</style><link href=/css/server-details-page~112ced2d.feacfb18.css rel=prefetch><link href=/js/filter-details-page~eb71885e.d294341c.js rel=prefetch><link href=/js/listener-details-page~d69e0970.c1c75d32.js rel=prefetch><link href=/js/monitor-details-page~7d33e2e2.804ae133.js rel=prefetch><link href=/js/not-found-page~4aa94a1e.3b93af9f.js rel=prefetch><link href=/js/server-details-page~112ced2d.63b5eb2b.js rel=prefetch><link href=/js/service-details-page~3d9b8e9e.74b88140.js rel=prefetch><link href=/js/sidebar-routes-settings~942c45a7.d0ae86f6.js rel=prefetch><link href=/js/tab-routes-filters~2fecd60c.32e57930.js rel=prefetch><link href=/js/tab-routes-listeners~2847c8a2.32972051.js rel=prefetch><link href=/js/tab-routes-servers~536030c0.6a1f2c53.js rel=prefetch><link href=/js/tab-routes-services~06cba2c6.8a6cf07f.js rel=prefetch><link href=/js/tab-routes-sessions~3a91f2c8.01f562e1.js rel=prefetch><link href=/css/app~06837ae4.8bd19f7e.css rel=preload as=style><link href=/css/app~3d9b8e9e.42d24a44.css rel=preload as=style><link href=/css/app~8498d814.249c26bd.css rel=preload as=style><link href=/css/app~b88f4497.2e305c1b.css rel=preload as=style><link href=/css/app~e2550e02.74d050f1.css rel=preload as=style><link href=/css/npm.vuetify~8f64ed1d.a7fda137.css rel=preload as=style><link href=/css/npm.vuetify~dde583c9.bb339fcb.css rel=preload as=style><link href=/js/app~0605657e.2eac9a3d.js rel=preload as=script><link href=/js/app~06837ae4.b7bc9291.js rel=preload as=script><link href=/js/app~3d9b8e9e.85e7b8d8.js rel=preload as=script><link href=/js/app~46fbf940.31cd345b.js rel=preload as=script><link href=/js/app~678f84af.7f2ab1ba.js rel=preload as=script><link href=/js/app~7dcdd765.48fffb43.js rel=preload as=script><link href=/js/app~8498d814.8c6c215e.js rel=preload as=script><link href=/js/app~9c5b28f6.9eab3ecd.js rel=preload as=script><link href=/js/app~b88f4497.0bd3414c.js rel=preload as=script><link href=/js/app~d0ae3f07.f31e82c4.js rel=preload as=script><link href=/js/app~dadc6472.9aa8e085.js rel=preload as=script><link href=/js/app~e1ee825c.fdb08885.js rel=preload as=script><link href=/js/app~e2550e02.9f217fa8.js rel=preload as=script><link href=/js/app~fdc6512a.58911602.js rel=preload as=script><link href=/js/npm.core-js~987e6011.7b05c487.js rel=preload as=script><link href=/js/npm.vuetify~1655f327.4ffb9204.js rel=preload as=script><link href=/js/npm.vuetify~78934547.ca95644f.js rel=preload as=script><link href=/js/npm.vuetify~8f64ed1d.f19284ad.js rel=preload as=script><link href=/js/npm.vuetify~ce053847.c67c112e.js rel=preload as=script><link href=/js/npm.vuetify~dde583c9.dcbcac65.js rel=preload as=script><link href=/js/npm.vuetify~ff5aaa04.e4d266d1.js rel=preload as=script><link href=/css/npm.vuetify~dde583c9.bb339fcb.css rel=stylesheet><link href=/css/npm.vuetify~8f64ed1d.a7fda137.css rel=stylesheet><link href=/css/app~06837ae4.8bd19f7e.css rel=stylesheet><link href=/css/app~b88f4497.2e305c1b.css rel=stylesheet><link href=/css/app~8498d814.249c26bd.css rel=stylesheet><link href=/css/app~e2550e02.74d050f1.css rel=stylesheet><link href=/css/app~3d9b8e9e.42d24a44.css rel=stylesheet></head><body><noscript><strong>We're sorry but MaxScale GUI doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=global-overlay class=global-overlay></div><div id=app></div><script src=/js/npm.vuetify~dde583c9.dcbcac65.js></script><script src=/js/npm.vuetify~78934547.ca95644f.js></script><script src=/js/npm.vuetify~1655f327.4ffb9204.js></script><script src=/js/npm.vuetify~ff5aaa04.e4d266d1.js></script><script src=/js/npm.vuetify~ce053847.c67c112e.js></script><script src=/js/npm.vuetify~8f64ed1d.f19284ad.js></script><script src=/js/npm.core-js~987e6011.7b05c487.js></script><script src=/js/app~d0ae3f07.f31e82c4.js></script><script src=/js/app~46fbf940.31cd345b.js></script><script src=/js/app~9c5b28f6.9eab3ecd.js></script><script src=/js/app~dadc6472.9aa8e085.js></script><script src=/js/app~678f84af.7f2ab1ba.js></script><script src=/js/app~fdc6512a.58911602.js></script><script src=/js/app~7dcdd765.48fffb43.js></script><script src=/js/app~0605657e.2eac9a3d.js></script><script src=/js/app~e1ee825c.fdb08885.js></script><script src=/js/app~06837ae4.b7bc9291.js></script><script src=/js/app~b88f4497.0bd3414c.js></script><script src=/js/app~8498d814.8c6c215e.js></script><script src=/js/app~e2550e02.9f217fa8.js></script><script src=/js/app~3d9b8e9e.85e7b8d8.js></script></body></html>

Solution

  • This sounds like a bug in the tarball version of MaxScale. Please open a bug report about this on the MariaDB Jira under the MaxScale project.

    Based on the output of the tarball installation, I suspect that the GUI files that the REST API serves aren't in the right place: by default they should be located in /usr/share/maxscale/gui/. If you copy the files there, I suspect the GUI will start working.