removed all Solr modules
This commit is contained in:
@@ -22,23 +22,16 @@ def getStateLower(levels, value):
|
||||
|
||||
|
||||
def discover_mailcow_info(section):
|
||||
yield(Service())
|
||||
yield (Service())
|
||||
|
||||
|
||||
def check_mailcow_info(params, section):
|
||||
def check_mailcow_info(params, section):
|
||||
for key in section:
|
||||
if key == "mailcow":
|
||||
# get thresholds
|
||||
levels_num_domains = params["levels_num_domains"]
|
||||
levels_num_mailboxes = params["levels_num_mailboxes"]
|
||||
levels_num_global_messages = params["levels_num_global_messages"]
|
||||
levels_solr_size_kb = params["levels_solr_size"]
|
||||
# Levels for Solr size are given in MBytes, so convert it to bytes
|
||||
levels_solr_size_warn = levels_solr_size_kb[0] * 1024 * 1024
|
||||
levels_solr_size_crit = levels_solr_size_kb[1] * 1024 * 1024
|
||||
levels_solr_size = (levels_solr_size_warn, levels_solr_size_crit)
|
||||
levels_solr_documents = params["levels_solr_documents"]
|
||||
|
||||
version = section[key]["version"]
|
||||
git_version = section[key]["git_version"]
|
||||
check_version_enabled = section[key]["check_version_enabled"]
|
||||
@@ -46,19 +39,19 @@ def check_mailcow_info(params, section):
|
||||
num_domains = section[key]["num_domains"]
|
||||
num_mailboxes = section[key]["num_mailboxes"]
|
||||
num_global_messages = section[key]["num_global_messages"]
|
||||
solr_enabled = section[key]["solr_enabled"]
|
||||
solr_size = section[key]["solr_size"]
|
||||
solr_documents = section[key]["solr_documents"]
|
||||
|
||||
# create graphs for number of domains, mailboxes and messages
|
||||
yield(Metric("mc_num_domains", num_domains, levels=levels_num_domains))
|
||||
yield(Metric("mc_num_mailboxes", num_mailboxes, levels=levels_num_mailboxes))
|
||||
yield(Metric("mc_num_global_messages", num_global_messages, levels=levels_num_global_messages))
|
||||
|
||||
# create graphs for solr size and number of solr documents
|
||||
if solr_enabled:
|
||||
yield(Metric("mc_solr_size", solr_size, levels=levels_solr_size))
|
||||
yield(Metric("mc_solr_documents", solr_documents, levels=levels_solr_documents))
|
||||
yield (Metric("mc_num_domains", num_domains, levels=levels_num_domains))
|
||||
yield (
|
||||
Metric("mc_num_mailboxes", num_mailboxes, levels=levels_num_mailboxes)
|
||||
)
|
||||
yield (
|
||||
Metric(
|
||||
"mc_num_global_messages",
|
||||
num_global_messages,
|
||||
levels=levels_num_global_messages,
|
||||
)
|
||||
)
|
||||
|
||||
# create overall result
|
||||
if check_version_enabled:
|
||||
@@ -71,7 +64,7 @@ def check_mailcow_info(params, section):
|
||||
else:
|
||||
summary = f"Version is {version}, Update check is disabled"
|
||||
state = State.OK
|
||||
details = f"Mailcow version: {version}\nNumber of domains: {num_domains}\nNumber of mailboxes: {num_mailboxes}\nNumber of messages: {num_global_messages}\n\nSolr size: {render.bytes(solr_size)}\nNumber of Solr documents: {solr_documents}"
|
||||
details = f"Mailcow version: {version}\nNumber of domains: {num_domains}\nNumber of mailboxes: {num_mailboxes}\nNumber of messages: {num_global_messages}"
|
||||
yield Result(state=state, summary=summary, details=details)
|
||||
|
||||
# Create result for number of domains
|
||||
@@ -79,45 +72,27 @@ def check_mailcow_info(params, section):
|
||||
state = getStateUpper((warn, crit), num_domains)
|
||||
notice = f"Number of domains: {num_domains}"
|
||||
if state != State.OK:
|
||||
yield(Result(state=state, notice=notice))
|
||||
yield (Result(state=state, notice=notice))
|
||||
|
||||
# Create result for number of mailboxes
|
||||
warn, crit = levels_num_mailboxes
|
||||
state = getStateUpper((warn, crit), num_mailboxes)
|
||||
notice = f"Number of mailboxes: {num_mailboxes}"
|
||||
if state != State.OK:
|
||||
yield(Result(state=state, notice=notice))
|
||||
yield (Result(state=state, notice=notice))
|
||||
|
||||
# Create result for number of global messages
|
||||
warn, crit = levels_num_global_messages
|
||||
state = getStateUpper((warn, crit), num_global_messages)
|
||||
notice = f"Number of messages: {num_global_messages}"
|
||||
if state != State.OK:
|
||||
yield(Result(state=state, notice=notice))
|
||||
yield (Result(state=state, notice=notice))
|
||||
|
||||
# Create result for solr size and solr number of documents
|
||||
if solr_enabled:
|
||||
warn, crit = levels_solr_size
|
||||
state = getStateUpper((warn, crit), solr_size)
|
||||
notice = f"Solr size: {render.bytes(solr_size)}"
|
||||
if state != State.OK:
|
||||
yield(Result(state=state, notice=notice))
|
||||
|
||||
warn, crit = levels_solr_documents
|
||||
state = getStateUpper((warn, crit), solr_documents)
|
||||
notice = f"Number of Solr documents: {solr_documents}"
|
||||
if state != State.OK:
|
||||
yield(Result(state=state, notice=notice))
|
||||
else:
|
||||
state = State.WARN
|
||||
notice = f"Solr is disabled"
|
||||
yield(Result(state=state, notice=notice))
|
||||
|
||||
|
||||
def parse_mailcow_info_section(string_table):
|
||||
#pprint(string_table)
|
||||
# pprint(string_table)
|
||||
parsed_data = {
|
||||
"mailcow" : {},
|
||||
"mailcow": {},
|
||||
}
|
||||
# we expect only one line
|
||||
line = string_table[0]
|
||||
@@ -125,26 +100,13 @@ def parse_mailcow_info_section(string_table):
|
||||
num_domains = int(line[1])
|
||||
num_mailboxes = int(line[2])
|
||||
num_global_messages = int(line[3])
|
||||
solr_enabled = bool(line[4])
|
||||
# solr size comes with value and unit, unfortunately
|
||||
solr_size_str = line[5]
|
||||
solr_size_list = solr_size_str.split()
|
||||
solr_size_unit = solr_size_list[1]
|
||||
solr_size = float(solr_size_list[0])
|
||||
if solr_size_unit == "KB":
|
||||
solr_size = solr_size * 1024.0
|
||||
elif solr_size_unit == "MB":
|
||||
solr_size = solr_size * 1024.0 * 1024.0
|
||||
elif solr_size_unit == "GB":
|
||||
solr_size = solr_size * 1024.0 * 1024.0 * 1024.0
|
||||
solr_documents = int(line[6])
|
||||
git_version = line[7]
|
||||
update_available = line[8]
|
||||
git_version = line[4]
|
||||
update_available = line[5]
|
||||
if update_available == "True":
|
||||
update_available = True
|
||||
else:
|
||||
update_available = False
|
||||
check_version_enabled = line[9]
|
||||
check_version_enabled = line[6]
|
||||
if check_version_enabled == "True":
|
||||
check_version_enabled = True
|
||||
else:
|
||||
@@ -153,13 +115,10 @@ def parse_mailcow_info_section(string_table):
|
||||
parsed_data["mailcow"]["num_domains"] = num_domains
|
||||
parsed_data["mailcow"]["num_mailboxes"] = num_mailboxes
|
||||
parsed_data["mailcow"]["num_global_messages"] = num_global_messages
|
||||
parsed_data["mailcow"]["solr_enabled"] = solr_enabled
|
||||
parsed_data["mailcow"]["solr_size"] = solr_size
|
||||
parsed_data["mailcow"]["solr_documents"] = solr_documents
|
||||
parsed_data["mailcow"]["git_version"] = git_version
|
||||
parsed_data["mailcow"]["update_available"] = update_available
|
||||
parsed_data["mailcow"]["check_version_enabled"] = check_version_enabled
|
||||
#pprint(parsed_data)
|
||||
# pprint(parsed_data)
|
||||
return parsed_data
|
||||
|
||||
|
||||
@@ -178,8 +137,6 @@ register.check_plugin(
|
||||
"levels_num_domains": (100, 200),
|
||||
"levels_num_mailboxes": (500, 1000),
|
||||
"levels_num_global_messages": (100000, 250000),
|
||||
"levels_solr_size": (4096.0, 8192.0),
|
||||
"levels_solr_documents": (20000, 40000)
|
||||
},
|
||||
check_ruleset_name="mailcow_info",
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user