Consolidate service scripts into apps directories
- Move blockchain scripts to apps/blockchain-node/scripts/ - Move marketplace scripts to apps/marketplace/scripts/ - Move agent daemon to apps/agent-coordinator/scripts/ - Move monitor to apps/monitor/ - Update systemd service files to point to new locations - Update internal path references in moved scripts - Remove empty /opt/aitbc/services directory
This commit is contained in:
48
apps/monitor/monitor.py
Normal file
48
apps/monitor/monitor.py
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
AITBC Monitor Service
|
||||
"""
|
||||
|
||||
import time
|
||||
import logging
|
||||
import json
|
||||
from pathlib import Path
|
||||
import psutil
|
||||
|
||||
def main():
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
logger = logging.getLogger('aitbc-monitor')
|
||||
|
||||
while True:
|
||||
try:
|
||||
# System stats
|
||||
cpu_percent = psutil.cpu_percent()
|
||||
memory_percent = psutil.virtual_memory().percent
|
||||
logger.info(f'System: CPU {cpu_percent}%, Memory {memory_percent}%')
|
||||
|
||||
# Blockchain stats
|
||||
blockchain_file = Path('/var/lib/aitbc/data/blockchain/aitbc/blockchain.json')
|
||||
if blockchain_file.exists():
|
||||
with open(blockchain_file, 'r') as f:
|
||||
data = json.load(f)
|
||||
logger.info(f'Blockchain: {len(data.get("blocks", []))} blocks')
|
||||
|
||||
# Marketplace stats
|
||||
marketplace_dir = Path('/var/lib/aitbc/data/marketplace')
|
||||
if marketplace_dir.exists():
|
||||
listings_file = marketplace_dir / 'gpu_listings.json'
|
||||
if listings_file.exists():
|
||||
with open(listings_file, 'r') as f:
|
||||
listings = json.load(f)
|
||||
logger.info(f'Marketplace: {len(listings)} GPU listings')
|
||||
|
||||
time.sleep(30)
|
||||
except (json.JSONDecodeError, FileNotFoundError, PermissionError, IOError) as e:
|
||||
logger.error(f'Monitoring error: {type(e).__name__}: {e}')
|
||||
time.sleep(60)
|
||||
except psutil.Error as e:
|
||||
logger.error(f'System monitoring error: {type(e).__name__}: {e}')
|
||||
time.sleep(60)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user