-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathraspimon.py
47 lines (39 loc) · 1.62 KB
/
raspimon.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""
jaiwardhan/raspimon
Simple host metric capture and alerting tool for Raspberry Pi.
Collect metrics, define thresholds and extend tool capabilities
to do powerful alerting via Telegram straight to your mobile
devices without the hassle of signing up phone numbers. Lightweight
equivalent of AWS's Cloudwatch agent with you in complete control.
Get notified about your Raspberry Pi's (or virtually any Host)
performance alerts into your Channel. Plug it to a cron or an
OpenMediaVault NAS server job without having to periodically
run htop.
@author: Jaiwardhan Swarnakar
Copyright 2021-present
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
from modules.comms.TelegramRelay import PiMonBot
from modules.logger.Logger import Logger
from modules.alarms.Alarms import Alarms
from modules.storage.Storage import Storage
# ------------------------------------------------ MAIN exec --
if __name__ == "__main__":
Logger.execution_log()
Storage.refresh()
Alarms.init()
alarms = Alarms.check()
# print(PiAlarms.summarize( alarms=alarms ))
if alarms is not None and len(alarms) > 0:
PiMonBot.send(msg=Alarms.summarize(
alarms=alarms
))
Logger.execution_log(False)