Commandes par défaut de l'agent
Ce document décrit les scripts de commandes par défaut disponibles dans l'agent Alemca. Ces scripts sont situés dans le dossier /etc/alemca/system/commands/ et peuvent être exécutés à distance via la plateforme Alemca.
Vue d'ensemble
Les commandes par défaut permettent d'effectuer diverses opérations de maintenance, de surveillance et de configuration sur les équipements distant. Chaque script est écrit en Lua et utilise les modules de l'agent pour interagir avec le système.
Liste des commandes
filesync.lua
Synchronisation de fichiers
Ce script permet de synchroniser des fichiers entre l'équipement local et la plateforme alemca.
Fonctionnalités
- Synchronisation bidirectionnelle de fichiers
- Support des chemins locaux et distants
Paramètres
path: Chemin au format "local;remote" pour spécifier les répertoires source et destination- Variables d'environnement pour la configuration SFTP
Utilisation
-- Format du paramètre path : "chemin_local;chemin_distant"
-- Exemple : "/etc/config;/remote/backup/config"
filesync_log.lua
Synchronisation des logs de l'agent
Script spécialisé pour la synchronisation des fichiers de logs de l'agent Alemca vers la plateforme alemca.
Fonctions
- Détection automatique des fichiers de logs (agent-alemca.log*)
- Upload vers la plateforme alemca via SFTP
- Gestion des logs rotatés (agent-alemca.log.1, agent-alemca.log.2, etc.)
- Nettoyage automatique après synchronisation
Répertoire surveillé : /var/log/
Pattern des fichiers : agent-alemca.log*
quick_netscan.lua
Scan rapide du réseau
Effectue un scan rapide du réseau local pour découvrir les équipements connectés.
Capacités
- Détection automatique du réseau local
- Scan par ping et ARP
- Scan de ports optionnel
- Timeout configurable
- Découverte des services actifs
Paramètres configurables
network: Réseau à scanner (par défaut "auto" pour détection automatique)timeout_ms: Timeout en millisecondes (par défaut 1000ms)methods: Méthodes de scan ("ping,arp")scan_ports: Active le scan de ports (true/false)ports: Liste des ports à scanner ("22,80,443,1883")
reboot_agent.lua
Redémarrage de l'agent
Redémarre proprement l'agent Alemca en cours d'exécution.
Caractéristiques
- Détection du PID de l'agent en cours
- Démarrage d'une nouvelle instance
- Arrêt propre de l'ancienne instance
- Vérification du processus
Processus
- Récupération du PID actuel de
agentAlemca - Démarrage d'une nouvelle instance
- Attente de 2 secondes pour la stabilisation
- Arrêt de l'ancienne instance
reboot_device.lua
Redémarrage de l'équipement
Redémarre complètement l'équipement distant.
Fonctionnement
- Exécution de la commande
rebootsystème - Redémarrage immédiat de l'équipement
⚠️ Attention : Cette commande provoque un redémarrage complet de l'équipement.
snapshot.lua
Capture d'état système
Script complexe qui capture un instantané complet de l'état du système et de la configuration.
Fonctions
- Collecte des informations système
- État des interfaces réseau
- Configuration des services
- Informations SIM (pour équipements avec modem)
- Exclusion de fichiers sensibles (credentials.yaml/yml)
- Export au format JSON structuré
Données collectées
- Informations CPU et mémoire
- État des interfaces réseau
- Configuration des services
- État des connexions
- Informations modem/SIM si disponible
Fichiers exclus
/etc/alemca/credentials.yaml/etc/alemca/credentials.yml- Dossiers temporaires et système
sync_ntp.lua
Synchronisation NTP
Synchronise l'horloge système avec un serveur NTP.
Opérations
- Exécution de
ntpd -gqpour synchronisation forcée - Affichage de l'heure actuelle après synchronisation
- Gestion des erreurs de synchronisation
Processus
- Exécution de la commande NTP
- Vérification du succès
- Affichage de l'heure synchronisée
topology.lua
Scan de topologie réseau
Scanner avancé de topologie réseau qui crée des entités sur la plateforme Alemca pour visualiser la topologie du réseau.
Fonctions avancées
- Scan complet du réseau local
- Détection des services actifs
- Création d'objets et services sur la plateforme cloud
- Scan de ports étendus
- Identification des protocoles
- Retry automatique pour les API calls
Ports scannés par défaut
SSH (22), HTTP (80), HTTPS (443), Telnet (23), FTP (21), SMTP (25), DNS (53), SNMP (161), etc.
Configuration
- Timeout par défaut : 1000ms
- Max concurrent : 50 scans simultanés
- Délai API : 0.3s entre les appels
- Max retries : 3 tentatives
uci_command.lua
Commande UCI
Exécute une commande UCI (Unified Configuration Interface) sur les systèmes OpenWrt/LEDE.
Commande
- Exécution de commandes UCI arbitraires
- Paramètre de commande configurable
Paramètre
cmd: Commande UCI à exécuter
Exemple
upload.lua
Téléchargement de fichier
Télécharge un fichier depuis une URL vers l'équipement local.
Fonctions de téléchargement
- Téléchargement via curl
- URL et destination configurables
Paramètres
url: URL source du fichierdest: Chemin de destination local