MKP 2.3.4. Fixed agent crash if opcache_get_status is disabled by server settings

This commit is contained in:
Ralf Mellis 2023-11-26 13:06:12 +01:00
parent 82333a2ebc
commit 1fbeae93a1
4 changed files with 10 additions and 1 deletions

View File

@ -9,6 +9,7 @@ Version History:
-- --
|Date|Version|Changes| |Date|Version|Changes|
|----|-------|-------| |----|-------|-------|
|2023/11/26|2.3.4|Fixed agent crash if opcache_get_status is disabled by server settings|
|2023/08/16|2.3.3|Fixed some misleading info strings regarding database opcache| |2023/08/16|2.3.3|Fixed some misleading info strings regarding database opcache|
|2023/08/12|2.3.2|MKP now compatible with CheckMK 2.2| |2023/08/12|2.3.2|MKP now compatible with CheckMK 2.2|
|2023/03/27|2.3.1|Fixed bugs in parameter handling| |2023/03/27|2.3.1|Fixed bugs in parameter handling|

View File

@ -35,6 +35,9 @@ def check_nextcloud_database(params, section):
yield Metric("nc_database_size", size) yield Metric("nc_database_size", size)
state = getStateLower(levels, opcache_hit_rate) state = getStateLower(levels, opcache_hit_rate)
summary = f"PHP OPCache hit rate: {render.percent(opcache_hit_rate)}" summary = f"PHP OPCache hit rate: {render.percent(opcache_hit_rate)}"
if opcache_hit_rate == 0:
state = State.UNKNOWN
summary = f"PHP OPCache hit rate: 0% - please check if opcache_get_status is enabled"
details = f"\nDatabase type: {type}\nDatabase version: {version}\nDatabase size: {render.bytes(size)}" details = f"\nDatabase type: {type}\nDatabase version: {version}\nDatabase size: {render.bytes(size)}"
yield(Result(state=state, summary=summary, details=details)) yield(Result(state=state, summary=summary, details=details))

View File

@ -227,7 +227,12 @@ def doCmkOutput(data):
print(f"NC_Database_Type;{data['ocs']['data']['server']['database']['type']}") print(f"NC_Database_Type;{data['ocs']['data']['server']['database']['type']}")
print(f"NC_Database_Version;{data['ocs']['data']['server']['database']['version']}") print(f"NC_Database_Version;{data['ocs']['data']['server']['database']['version']}")
print(f"NC_Database_Size;{data['ocs']['data']['server']['database']['size']}") print(f"NC_Database_Size;{data['ocs']['data']['server']['database']['size']}")
# opcache entry does not exist if opcache_get_status is disabled by server settings
# thanks to Marcus Klein from Iteratio to report (and solve!) this bug
if (data['ocs']['data']['server']['php']['opcache']):
print(f"NC_OPCache_Hit_Rate;{data['ocs']['data']['server']['php']['opcache']['opcache_statistics']['opcache_hit_rate']}") print(f"NC_OPCache_Hit_Rate;{data['ocs']['data']['server']['php']['opcache']['opcache_statistics']['opcache_hit_rate']}")
else:
print(f"NC_OPCache_Hit_Rate;0")
def doCmkOutputAllUsers(data, verify, hostname, protocol, port, folder): def doCmkOutputAllUsers(data, verify, hostname, protocol, port, folder):
print("<<<nextcloud_users:sep(59)>>>") print("<<<nextcloud_users:sep(59)>>>")

BIN
mkp/Nextcloud-2.3.4.mkp Executable file

Binary file not shown.