Update CheckMK plugin details

This commit is contained in:
2025-10-02 02:36:52 -04:00
parent 7df1ca8c6e
commit 2301c96714
2 changed files with 18 additions and 8 deletions

View File

@@ -3,4 +3,5 @@
# PVC cluster status check for Check_MK (agent-side) # PVC cluster status check for Check_MK (agent-side)
echo "<<<pvc>>>" echo "<<<pvc>>>"
hostname -s
pvc --quiet status --format json pvc --quiet status --format json

View File

@@ -17,24 +17,29 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from .agent_based_api.v1 import * from cmk.agent_based.v2 import *
from cmk.base.check_api import host_name
from time import time from time import time
from json import loads from json import loads
def parse_pvc(string_table):
hostname = string_table[0][0]
data = loads(" ".join(string_table[1]))
parsed = (hostname, data)
return parsed
def discover_pvc(section): def discover_pvc(section):
my_node = host_name().split(".")[0] my_node, _ = section
yield Service(item=f"PVC Node {my_node}") yield Service(item=f"PVC Node {my_node}")
yield Service(item="PVC Cluster") yield Service(item="PVC Cluster")
def check_pvc(item, params, section): def check_pvc(item, params, section):
my_node, data = section
state = State.OK state = State.OK
summary = "Stuff" summary = ""
details = None details = None
data = loads(" ".join(section[0]))
my_node = host_name().split(".")[0]
maintenance_map = { maintenance_map = {
"true": "on", "true": "on",
@@ -44,7 +49,6 @@ def check_pvc(item, params, section):
# Node check # Node check
if item == f"PVC Node {my_node}": if item == f"PVC Node {my_node}":
my_node = host_name().split(".")[0]
node_health = data["node_health"][my_node]["health"] node_health = data["node_health"][my_node]["health"]
node_messages = data["node_health"][my_node]["messages"] node_messages = data["node_health"][my_node]["messages"]
@@ -85,7 +89,12 @@ def check_pvc(item, params, section):
return return
register.check_plugin( agent_section_pvc = AgentSection(
name="pvc",
parse_function=parse_pvc,
)
check_plugin_pvc = CheckPlugin(
name="pvc", name="pvc",
service_name="%s", service_name="%s",
check_ruleset_name="pvc", check_ruleset_name="pvc",