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
autoreboot.lua
Configuration d'un reboot automatique
Note:Autoreboot ne marche que pour les devices Teltonika / OpenWRT (utilisation de l'api uci)
Ce script permet de configurer un reboot automatique d'une device une ou plusieurs fois par semaine. Il ne modifie pas les autres configurations de reboot possiblement déjà présentes sur la device.
Paramètres:
enable: Détermine si la configuration de reboot va être prise en compte ou pas. (par défaut: true)hours: Les heures entre lesquelles vous souhaitez configurer le reboot. (par défaut: "0,6")weekdays: Toutes les jours de la semaine où vous souhaitez reboot la device. (par défaut: un jour aléatoire de la semaine)
Exemple des paramètres
enable: true
hours: 14,16
weekdays: 6 -- pour plusieurs jours: 1,3,7
-- => chaque samedi (6) entre 14h et 16h
filesync.lua
Synchronisation de fichiers
Ce script permet de synchroniser des fichiers entre l'équipement local et la plateforme Alemca. Il ne marche pas sur les agents cloud (Docker)
Fonctionnalités
- Synchronisation bidirectionnelle de fichiers
- Support des chemins locaux (sur l'agent) et distants (sur le cloud)
Paramètres
path: Chemin au format "chemin_agent;chemin_cloud" pour spécifier les répertoires source et destinationdirection: 'push' (agent -> Alemca) ou 'pull' (Alemca -> agent)
Utilisation
-- Format du paramètre path : "chemin_agent;chemin_cloud"
-- Exemple : "/etc/config;/edge_rootf/etc/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
⚠️ Attention : Cette commande n'est pas censée être declenchée à la main. Sa présence dans ce document est purement informative.
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
- Informations SIM (pour équipements avec modem)
- Supervision des fichiers (changement, création)
- Exclusion de fichiers sensibles (credentials.yaml/yml) et des fichiers qui peuvent changer sans problème
- Export au format JSON structuré
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