HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //proc/thread-self/root/lib/check_mk_agent/plugins/mk_ceph
#!/bin/bash
# Copyright (C) 2019 Checkmk GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.

# Reason for this no-op: shellcheck disable=... before the first command disables the error for the
# entire script.
:

# Disable unused variable error (needed to keep track of version)
# shellcheck disable=SC2034
CMK_VERSION="2.3.0p38"

# Check Ceph storage
# Config file must contain:
# USER=client.admin
# KEYRING=/etc/ceph/ceph.client.admin.keyring

# shellcheck disable=SC1091 # TODO: add a configuration example and remove this suppression
# shellcheck source=agents/cfg_examples/ceph.cfg
. "$MK_CONFDIR/ceph.cfg" 2>/dev/null

if [ -n "$USER" ] && [ -n "$KEYRING" ]; then
    CEPH_CMD="ceph -n $USER --keyring=$KEYRING"
    echo "<<<ceph_status>>>"
    $CEPH_CMD -s -f json-pretty
    if OUT="$($CEPH_CMD df detail --format json)"; then
        echo "<<<ceph_df_json:sep(0)>>>"
        $CEPH_CMD version --format json
        echo "$OUT"
    else
        # fallback for old versions if json output is not available
        echo "<<<ceph_df>>>"
        $CEPH_CMD df detail
    fi
fi