[del] check:file_timestamp (covered by file_state)
This commit is contained in:
parent
48aa2e18fe
commit
82d9a361ed
|
|
@ -1,114 +0,0 @@
|
|||
class implementation_check_kind_file_timestamp(interface_check_kind):
|
||||
|
||||
'''
|
||||
[implementation]
|
||||
'''
|
||||
def parameters_schema(self):
|
||||
return {
|
||||
"type": "object",
|
||||
"additionalProperties": False,
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"warning_age": {
|
||||
"type": "integer",
|
||||
"exclusiveMinimum": 0,
|
||||
"default": (60 * 60)
|
||||
},
|
||||
"critical_age": {
|
||||
"type": "integer",
|
||||
"exclusiveMinimum": 0,
|
||||
"default": (60 * 60 * 24)
|
||||
},
|
||||
"condition_on_missing": {
|
||||
"description": "which condition to report if file is missing",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"unknown",
|
||||
"ok",
|
||||
"warning",
|
||||
"critical"
|
||||
],
|
||||
"default": "warning"
|
||||
},
|
||||
"condition_on_implausible": {
|
||||
"description": "which condition to report if the age is negative, i.e. the file is apparently from the future",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"unknown",
|
||||
"ok",
|
||||
"warning",
|
||||
"critical"
|
||||
],
|
||||
"default": "warning"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"path"
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
'''
|
||||
[implementation]
|
||||
'''
|
||||
def normalize_conf_node(self, node):
|
||||
if ("path" not in node):
|
||||
raise ValueError("missing mandatory field 'path'")
|
||||
else:
|
||||
return dict_merge(
|
||||
{
|
||||
"warning_age": (60 * 60),
|
||||
"critical_age": (60 * 60 * 24),
|
||||
"condition_on_missing": condition_encode(enum_condition.warning),
|
||||
"condition_on_implausible": condition_encode(enum_condition.warning),
|
||||
},
|
||||
node
|
||||
)
|
||||
|
||||
|
||||
'''
|
||||
[implementation]
|
||||
'''
|
||||
def run(self, parameters):
|
||||
if (not _os.path.exists(parameters["path"])):
|
||||
return {
|
||||
"condition": condition_decode(parameters["condition_on_missing"]),
|
||||
"info": {
|
||||
"path": parameters["path"],
|
||||
"flaw": translation_get("checks.file_timetsamp.missing"),
|
||||
}
|
||||
}
|
||||
else:
|
||||
result = _os.stat(parameters["path"])
|
||||
timestamp = get_current_timestamp()
|
||||
age = (timestamp - result.st_atime)
|
||||
if (age < 0):
|
||||
return {
|
||||
"condition": condition_decode(parameters["condition_on_implausible"]),
|
||||
"info": {
|
||||
"path": parameters["path"],
|
||||
"flaw": translation_get("checks.file_timetsamp.implausible"),
|
||||
"timestamp_of_checking_instance": timestamp,
|
||||
"timestamp_of_file": result.st_atime,
|
||||
},
|
||||
}
|
||||
else:
|
||||
if ((age > 0) and (age <= parameters["warning_age"])):
|
||||
condition = enum_condition.ok
|
||||
elif ((age > parameters["warning_age"]) and (age <= parameters["critical_age"])):
|
||||
condition = enum_condition.warning
|
||||
elif (age > parameters["critical_age"]):
|
||||
condition = enum_condition.critical
|
||||
else:
|
||||
raise ValueError("impossible")
|
||||
return {
|
||||
"condition": condition,
|
||||
"info": {
|
||||
"path": parameters["path"],
|
||||
"flaw": translation_get("checks.file_timetsamp.too_old"),
|
||||
"age_in_seconds": ("%u" % age),
|
||||
},
|
||||
}
|
||||
|
||||
Loading…
Reference in a new issue