import pika import time import random def generage_message_metrics(): return f" | CPU: {random.randint(0, 100)}% | RAM: {random.randint(0, 100)}% | CD: {random.randint(0, 100)}% |" def produce(): connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost', port=5672)) channel = connection.channel() channel.exchange_declare(exchange='server_monitoring', exchange_type='fanout') messages = [ "Server | ID: 1", "Server | ID: 2", "Server | ID: 3", ] while True: for message in messages: message_with_metric = message + generage_message_metrics() channel.basic_publish(exchange='server_monitoring', routing_key='', body=message_with_metric) print(f"[x] Sent: {message_with_metric}") time.sleep(1) if __name__ == "__main__": produce()