Consolidate service scripts into apps directories
Some checks failed
Integration Tests / test-service-integration (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Systemd Sync / sync-systemd (push) Has been cancelled

- 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:
aitbc
2026-04-15 11:56:03 +02:00
parent 7e630f53fc
commit ca34b6fee3
13 changed files with 13 additions and 11 deletions

48
apps/monitor/monitor.py Normal file
View 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()