Using Ceph Manager modules

Use the ceph mgr module ls command to see the available modules and the modules that are presently enabled.

Enable or disable modules with ceph mgr module enable MODULE command or ceph mgr module disable MODULE command respectively.

If a module is enabled, then the active ceph-mgr daemon loads and executes it. In the case of modules that provide a service, such as an HTTP server, the module might publish its address when it is loaded. To see the addresses of such modules, run the ceph mgr services command.

Some modules might also implement a special standby mode which runs on standby ceph-mgr daemon as well as the active daemon. This enables modules that provide services to redirect their clients to the active daemon, if the client tries to connect to a standby.

Following is an example to enable the dashboard module:

[ceph: root@host01 /]# ceph mgr module enable dashboard

[ceph: root@host01 /]# ceph mgr module ls
    
        MODULE                              
        balancer              on (always on)
        crash                 on (always on)
        devicehealth          on (always on)
        orchestrator          on (always on)
        pg_autoscaler         on (always on)
        progress              on (always on)
        rbd_support           on (always on)
        status                on (always on)
        telemetry             on (always on)
        volumes               on (always on)
        cephadm               on            
        dashboard             on            
        iostat                on             
        nfs                   on          
        prometheus            on            
        restful               on            
        alerts                -             
        diskprediction_local  -             
        influx                -             
        insights              -             
        k8sevents             -             
        localpool             -             
        mds_autoscaler        -             
        mirroring             -             
        osd_perf_query        -             
        osd_support           -             
        rgw                   -             
        rook                  -             
        selftest              -             
        snap_schedule         -             
        stats                 -             
        telegraf              -             
        test_orchestrator     -             
        zabbix                -   

[ceph: root@host01 /]# ceph mgr services
{
        "dashboard": "http://myserver.com:7789/",
        "restful": "https://myserver.com:8789/"
}

The first time the cluster starts, it uses the mgr_initial_modules setting to override which modules to enable. However, this setting is ignored through the rest of the lifetime of the cluster: only use it for bootstrapping. For example, before starting your monitor daemons for the first time, you might add a section like this to your ceph.conf file:

[mon]
    mgr initial modules = dashboard balancer

Where a module implements comment line hooks, the commands are accessible as ordinary Ceph commands and Ceph automatically incorporates module commands into the standard CLI interface and route them appropriately to the module:

[ceph: root@host01 /]# ceph <command | help>

Use the configuration parameters listed in Table 1 with the ceph command.

Table 1. Configuration parameters
Configuration Description Type Default

mgr module path

Path to load modules from.

String

"<library dir>/mgr"

mgr data

Path to load daemon data (such as keyring)

String

"/var/lib/ceph/mgr/$cluster-$id"

mgr tick period

How many seconds between manager beacons to monitors, and other periodic checks.

Integer

5

mon mgr beacon grace

How long after last beacon should a manager be considered failed.

Integer

30