* refs/pull/24109/head:
doc: update docs for device management
mgr: make devicehealth always-on
mgr/devicehealth: do not create metrics pool on get-device-metrics
mgr/devicehealth: converge OPTIONS and DEFAULTS
mgr/devicehealth: squelch health warnings for unused devices
mgr/devicehealth: show-health-metrics -> get-health-metrics
Reviewed-by: John Spray <john.spray@redhat.com>
This module is written by Rick Chen <rick.chen@prophetstor.com> and
provides both a built-in local predictor and a cloud mode that queries
a cloud service (provided by ProphetStor) to predict device failures.
Signed-off-by: Rick Chen <rick.chen@prophetstor.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Move this out of mgr section and into rados operations.
Leave a placeholder for failure prediction, which is still a work in
progress.
Signed-off-by: Sage Weil <sage@redhat.com>
Reworded the description of the user/role management feature, clarified
that it can be configured on both the CLI and the WebUI. Added labels for
referencing the user/role management and SSL configuration sections.
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
This allows us to multiplex data being send to Influx as we have
a configurable amount of workers sending data to Influx.
The main bottleneck for the performance seems to be fetching all
the perf counters using this code:
self.get_all_perf_counters()
On a larger cluster, for example 2000 OSDs this can take about 20s
where flushing to Influx only takes 5s.
A 2000 OSD cluster generates about 100k data points on every run,
prior to using a Queue these would all be send to Influx in series
in that took over 15 seconds to complete.
Python Six is being used in the code to make sure it's compatible
with both Python 2 and 3.
Signed-off-by: Wido den Hollander <wido@42on.com>
Enables to change (set/unset) values of settings of the dashboard using
the REST API.
Fixes: https://tracker.ceph.com/issues/24273
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
The CLI `status` method tells you what backend
is selected, and also gives the backend
an opportunity to complain if something
seems wrong with its configuration.
Signed-off-by: John Spray <john.spray@redhat.com>
This is pretty sparse because users don't really
interact with the module, they interact with other
modules that use it.
Signed-off-by: John Spray <john.spray@redhat.com>
mgr/dashboard: Set timeout in RestClient calls
Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Set a default timeout of 45 seconds to all REST client calls. This can be customized via 'ceph dashboard set-rest-requests-timeout <seconds>'. Currently the REST client is only used by the RGW controller.
Signed-off-by: Volker Theile <vtheile@suse.com>
Although is preferred and should be enabled by default users might
want to disable SSL as the dashboard might be running behind a proxy
which terminates the SSL.
Fixes: https://tracker.ceph.com/issues/24674
Signed-off-by: Wido den Hollander <wido@42on.com>
This setting tends to confuse people, as it's only respected
on the very first startup of the cluster. Instead, mention
it (with appropriate caveats) on the general mgr admin
page.
Signed-off-by: John Spray <john.spray@redhat.com>
* Updated the overview of dashboard to avoid many paragraphs,
some outdated statements, etc.
* Updated glossary, glossary references and urls
* Dropped unnecessary term *module* in possible places
* Unified the new dashboard name as *Ceph Manager Dashboard*
Signed-off-by: Jos Collin <jcollin@redhat.com>
Enables token authentication for the Grafana proxy as additional option
to username/password authentication. The authentication method has to be
set, too.
$ ceph dashboard set-grafana-api-token <token> # default: ''
$ ceph dashboard set-grafana-api-auth-method <method> # default: ''
Possible values for the authentication method are 'password' and
'token'.
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
Add the ability to connect the dashboard with a Grafana instance to
display graphs from Grafana incorporated into the dashboard.
Possible configuration options:
$ ceph dashboard set-grafana-api-host <host> # Default: 'localhost'
$ ceph dashboard set-grafana-api-port <port> # Default: 3000
$ ceph dashboard set-grafana-api-scheme <scheme> # Default: 'http'
The configuration can be checked using a GET request to the API endpoint
`/api/grafana/status`. It returns a JSON response in the following
format:
{
"available": False,
"message": "<error message>",
}
The message is not returned if Grafana is available.
The Grafana proxy is reachable through
`http(s)://<host>/api/grafana/proxy`.
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
Port 8080 is a common alternative HTTP port used for web traffic.
The dashboard however uses SSL (which can not be turned off) and for
that purpose we should either use 8443.
Historically the dashboard would run on port 7000 so to keep this backwards
compatibility the dashboard should bind again on TCP 7000.
Signed-off-by: Wido den Hollander <wido@42on.com>