Inconsistant Status calls using get_monitor_status #52

Open
opened 2023-08-23 18:56:23 +02:00 by bikrdotnet · 1 comment
bikrdotnet commented 2023-08-23 18:56:23 +02:00 (Migrated from github.com)

I drafted a quick and dirty python blob to test the ability to retrieve a monitor status but am getting very inconsistent results.

`import time
from uptime_kuma_api import UptimeKumaApi
from uptime_kuma_api.exceptions import UptimeKumaException
import argparse

UPTIME_KUMA_URL = 'http://192.168.22.2'
UPTIME_KUMA_USER = 'MYUSER'
UPTIME_KUMA_PASSWORD = 'MYPASSSWORD'

def poll_monitor_status(monitor_id):
api = UptimeKumaApi(UPTIME_KUMA_URL)
api.login(UPTIME_KUMA_USER, UPTIME_KUMA_PASSWORD)

try:
    monitor_status_response = api.get_monitor_status(monitor_id)
    monitor_status = monitor_status_response.name  # Correctly retrieve status
    print(f"Monitor ID {monitor_id} Status: {monitor_status}")
    
except UptimeKumaException as ex:
    print(f"An error occurred for monitor ID {monitor_id}: {ex}")
    
    # Detailed logging lines
    if hasattr(ex, 'response'):
        print("Error response content:", ex.response.content)
api.disconnect()
time.sleep(1)

if name == "main":
parser = argparse.ArgumentParser(description="Poll monitor status from Uptime Kuma API")
parser.add_argument("monitor_id", type=int, help="ID of the monitor to check")
args = parser.parse_args()

poll_monitor_status(args.monitor_id)

`

Below is me running the command a few times to show the inconsistency.

printer1@floorplan % python3 test.py 59 An error occurred for monitor ID 59: monitor does not exist printer1@floorplan % python3 test.py 59 An error occurred for monitor ID 59: monitor does not exist printer1@floorplan % python3 test.py 59 Monitor ID 59 Status: UP printer1@floorplan % python3 test.py 59 An error occurred for monitor ID 59: monitor does not exist

These commands were run within 5 seconds of each other, with no changes in network status , no changes of anything inside the script etc..

Any help troubleshooting would be greatly appreciated.

I drafted a quick and dirty python blob to test the ability to retrieve a monitor status but am getting very inconsistent results. `import time from uptime_kuma_api import UptimeKumaApi from uptime_kuma_api.exceptions import UptimeKumaException import argparse UPTIME_KUMA_URL = 'http://192.168.22.2' UPTIME_KUMA_USER = 'MYUSER' UPTIME_KUMA_PASSWORD = 'MYPASSSWORD' def poll_monitor_status(monitor_id): api = UptimeKumaApi(UPTIME_KUMA_URL) api.login(UPTIME_KUMA_USER, UPTIME_KUMA_PASSWORD) try: monitor_status_response = api.get_monitor_status(monitor_id) monitor_status = monitor_status_response.name # Correctly retrieve status print(f"Monitor ID {monitor_id} Status: {monitor_status}") except UptimeKumaException as ex: print(f"An error occurred for monitor ID {monitor_id}: {ex}") # Detailed logging lines if hasattr(ex, 'response'): print("Error response content:", ex.response.content) api.disconnect() time.sleep(1) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Poll monitor status from Uptime Kuma API") parser.add_argument("monitor_id", type=int, help="ID of the monitor to check") args = parser.parse_args() poll_monitor_status(args.monitor_id) ` Below is me running the command a few times to show the inconsistency. `printer1@floorplan % python3 test.py 59 An error occurred for monitor ID 59: monitor does not exist printer1@floorplan % python3 test.py 59 An error occurred for monitor ID 59: monitor does not exist printer1@floorplan % python3 test.py 59 Monitor ID 59 Status: UP printer1@floorplan % python3 test.py 59 An error occurred for monitor ID 59: monitor does not exist ` These commands were run within 5 seconds of each other, with no changes in network status , no changes of anything inside the script etc.. Any help troubleshooting would be greatly appreciated.
kafisatz commented 2024-01-22 09:22:35 +01:00 (Migrated from github.com)

I am running into this as well.
Besides monitor does not exist I also get list indices must be integers or slices, not str.
Although, as a python novice, I am not 100% certain if this stems from my code or the underyling code

I am running into this as well. Besides `monitor does not exist` I also get `list indices must be integers or slices, not str`. Although, as a python novice, I am not 100% certain if this stems from my code or the underyling code
Sign in to join this conversation.
No description provided.