Server Monitoring with Qubitro

Apr 12, 2022 3 min read
Server Monitoring with Qubitro

Have you thought about the servers? Which uses the internet to load and process a high number of user requests. You might notice a warning that says "Server Down," which means the server attained its maximum capability or performance, but we don't know what caused it.

Python's Psutill package allows us to track system details and execute utilities, which will allow us to monitor the server's status and Qubitro will help us to transfer data to the cloud. Now we can keep an eye on the data from anywhere in the world.

How To Do?

First, we have to install python and VS Code on our Windows machine. Please see my previous blog for instructions on how to install Python and VS Code on a Windows system.

Once you have installed the Python and VS Code now we are good to go. Open up the terminal and type "pip install psutil"

"pip install psutil"

I have already installed the library, so it's showing Requirement already satisfied.

import psutil
import paho.mqtt.client as mqtt
import time
import json
broker_host = "broker.qubitro.com"
broker_port = 8883
device_id = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
device_token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("Connected to Qubitro!")
        client.on_publish = on_publish
    else:
        print("Failed to connect, visit: https://docs.qubitro.com/client-guides/connect-device/mqtt\n return code:", rc)

def on_publish(client, obj, publish):
    print("Published: " + str(payload))

client = mqtt.Client(client_id=device_id)
client.tls_set_context(context=None)

client.username_pw_set(username=device_id, password=device_token)
client.connect(broker_host, broker_port, 60)
client.on_connect = on_connect
client.loop_start()
    
while True:
    payload = {'CPU usage': psutil.cpu_percent(interval=0.5) , 'CPU frequency': int(psutil.cpu_freq().current), 
    'RAM Percentage': psutil.virtual_memory().percent,'Swap Percentage': psutil.swap_memory().percent,
    'Memory Percentage':psutil.disk_usage('/').percent}

    client.publish(device_id, payload=json.dumps(payload))
    time.sleep(10)
Qubitro-Server-Monitoring.py

Copy and paste the above python script to your VS Code IDE and save it as .py extension.

Qubitro Cloud Setup:

There are many possibilities and suppliers on the IoT Cloud side, but we need something more user-friendly and cost-effective, as well as a free trial without a credit card.

Qubitro is the fastest way to build IoT applications with predictable pricing, ⁣and developer-friendly features. And most importantly, Qubitro offers always free accounts without credit card information. Please visit https://qubitro.com/ to know more about Qubitro.

Once you are signed up to your Qubitro Portal account and create a new project using the MQTT Connection; copy and paste the Device ID and Device Token in the Code.

Device ID & Token

Let's Start the Monitoring:

After entering the device ID and tokens, simply run the script. Now you can see the below messages in your IDE Terminal.

Terminal OP

Open the Qubitro portal and select the data ranges and wait for the incoming data.

Portal Output Readings

Now you can see the CPU Usage, Frequency, RAM / Memory / Swap Percentage levels. And visualize the readings according to your needs.

Qubitro-MQTT/Qubitro-Server-Monitoring.py at master · pradeeplogu0/Qubitro-MQTT
Contribute to pradeeplogu0/Qubitro-MQTT development by creating an account on GitHub.

For more interesting projects and information, join the Qubitro Discord channel and Qubitro community forum.

Join the conversation

Great! Next, complete checkout for full access to Qubitro.
Welcome back! You've successfully signed in.
You've successfully subscribed to Qubitro.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.