Skip to main content

Watchman Agent Client

Agent d'inventaire système moderne et multi-plateforme pour collecter automatiquement les informations matérielles et logicielles de vos machines.

PyPI version Python Versions License

🎯 Fonctionnalités

  • 📊 Collecte complète : Matériel, logiciels, réseau, processus système
  • 🔄 Planification automatique : Quotidien, hebdomadaire, mensuel
  • 🌐 Interface web intégrée : Dashboard local sur http://localhost:8080
  • ⚡ API REST : Envoi automatique des données vers votre serveur
  • 🛠️ Multi-plateforme : Windows, Linux, macOS
  • 🔧 Service système : Fonctionne en arrière-plan

🚀 Installation

Installation simple

pip install watchman-agent-client

Installation avec dépendances de développement

pip install watchman-agent-client[dev]

📖 Démarrage Rapide

1. Configuration

Créez un fichier de configuration config.ini :

[server]
url = https://votre-serveur.com/api/v1/inventory
auth_token = votre-token-ici
timeout = 30
verify_ssl = true

[agent]
reporting_frequency = daily
log_level = INFO
collect_software = true
collect_hardware = true
collect_network = true

2. Lancement de l'agent

Mode service (recommandé)

# L'agent démarre automatiquement après installation
# Interface web disponible sur http://localhost:8080

Mode ligne de commande

# Collecte et envoi immédiat
watchman-agent-client --mode collect-send --config-file config.ini

# Collecte uniquement
watchman-agent-client --mode collect --output-file inventaire.json

# Test de connectivité
watchman-agent-client --mode test --config-file config.ini

# Interface web uniquement
watchman-agent-client --mode web

3. Interface Web

Accédez au dashboard : http://localhost:8080

Fonctionnalités :

  • 📊 Vue d'ensemble du système
  • 🔄 Déclenchement manuel de collecte
  • 📤 Envoi forcé vers le serveur
  • ⚙️ Configuration en temps réel
  • 📝 Consultation des logs

📋 Données Collectées

Informations Système

  • Nom d'hôte, domaine, utilisateur
  • OS, version, architecture
  • CPU, mémoire, charge système
  • Disques et partitions

Matériel

  • Processeur (modèle, cœurs, fréquence)
  • Mémoire RAM (total, modules)
  • Stockage (disques, SSD)
  • Cartes réseau et interfaces

Logiciels

  • Applications installées
  • Services système
  • Pilotes et versions
  • Mises à jour système

Réseau

  • Interfaces (Ethernet, WiFi)
  • Adressage IP, passerelles, DNS
  • Ports ouverts
  • Configuration DHCP/statique

🔧 Utilisation Avancée

Collecte programmatique

from agent.core.collector import InventoryCollector
from agent.core.config import AgentConfig

# Charger la configuration
config = AgentConfig('config.ini')

# Créer le collecteur
collector = InventoryCollector(config)

# Collecter les données
inventory = collector.collect_all()

print(inventory)

Envoi vers API

from agent.core.sender import InventorySender
from agent.core.config import AgentConfig

config = AgentConfig('config.ini')
sender = InventorySender(config)

# Envoyer l'inventaire
success = sender.send_inventory(inventory)

📁 Emplacements des Fichiers

Linux/macOS

/etc/watchman-agent-client/config.ini
/var/log/watchman-agent-client/agent.log

Windows

C:\Program Files\WatchmanAgentClient\config\config.ini
C:\Program Files\WatchmanAgentClient\logs\agent.log

🔒 Sécurité

  • Interface web accessible uniquement en local (127.0.0.1)
  • Authentification token pour les communications serveur
  • Chiffrement SSL/TLS obligatoire
  • Aucun token dans les logs
  • Privilèges minimaux pour le service

📊 Format des Données

Les données sont envoyées au format JSON :

{
  "assets": [{
    "collection_timestamp": "2024-01-15T14:30:00Z",
    "agent_version": "1.0.0",
    "hostname": "PC-BUREAU-01",
    "architecture": "x86_64",
    "os": "Windows 11 Pro 22H2",
    "ip": "192.168.1.100",
    "mac": "aa:bb:cc:dd:ee:ff",
    "cpu": {
      "model": "Intel Core i7-12700K",
      "cores": 12,
      "frequency": "3600 MHz"
    },
    "memory": {
      "total": "32 GB",
      "available": "18 GB"
    },
    "applications": [...],
    "network_interfaces": [...]
  }]
}

🆘 Support & Documentation

📝 Changelog

Voir le fichier CHANGELOG.md pour l'historique des versions.

🤝 Contribution

Les contributions sont les bienvenues ! Consultez notre documentation sur docs.watchman.bj.

📄 Licence

MIT License - voir LICENSE pour plus de détails.

⭐ Support

Si vous trouvez ce projet utile, n'hésitez pas à lui donner une étoile sur GitHub !


Développé avec ❤️ par l'équipe Watchman

Metadata

Release files for watchman-agent-client 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for watchman-agent-client 1.0.1
File Size Uploaded Provenance Actions
watchman_agent_client-1.0.1.tar.gz 85.1 kB Without provenance Details for watchman_agent_client-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for watchman-agent-client 1.0.1
File Interpreter ABI Platform Actions
watchman_agent_client-1.0.1-py3-none-any.whl Python 3 none any Details for watchman_agent_client-1.0.1-py3-none-any.whl

Total release size: 180.9 kB

Release files / watchman_agent_client-1.0.1.tar.gz

Download URL watchman_agent_client-1.0.1.tar.gz
Size 85.1 kB
Tags Source
SHA-256 checksum
How to use checksums
746efcacfe9f34516a37994aded62fd536664f0c453a44b2bd0e115dc43be9fa
BLAKE2b-256 checksum
How to use checksums
3b58279c478730ded1da436aa89dfb057dac8c21ea4defe9ee4aaa38dd7649c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / watchman_agent_client-1.0.1-py3-none-any.whl

Download URL watchman_agent_client-1.0.1-py3-none-any.whl
Size 95.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4003dcdc284c7679819f1bf2602504223a3faad2a1fe5205ce1ebb954ebfc6b
BLAKE2b-256 checksum
How to use checksums
abacf9b0d07128fe5d51a9e5331346e167e93286deeb25f583411049ed7ab157
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for watchman-agent-client 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page