Datadog/OctoPrint

Supported OS Linux

Intégration1.0.0

Présentation

Ce check surveille OctoPrint via l’Agent Datadog.

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à des environnements conteneurisés.

Installation

Pour installer le check OctoPrint sur votre host, exécutez ce qui suit :

sudo -u dd-agent -- datadog-agent integration install datadog-octoprint==<VERSION>

Remarque : la VERSION est indiquée en haut de cette page.

Installation depuis les sources (facultatif)

  1. Installez le kit de développement sur n’importe quelle machine.

  2. Exécutez ddev release build octoprint pour générer le package.

  3. Téléchargez l’Agent Datadog.

  4. Importez l’artefact du build sur tous les hosts avec un Agent et exécutez datadog-agent integration install -w chemin/vers/octoprint/dist/datadog_octoprint*.whl.

Configuration

  1. Depuis l’interface Web OctoPrint, créez une clé d’API afin de l’utiliser avec Datadog. Pour ce faire, accédez à Settings –> Application Keys.

  2. Modifiez le fichier octoprint.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Collez la clé d’API OctoPrint en tant que valeur de octo_api_key. Consultez le fichier d’exemple octoprint.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

  3. Redémarrez l’Agent.

Validation

Exécutez la sous-commande de statut de l’Agent et recherchez octoprint sous la section Checks.

Logs

Par défaut, cette intégration suppose que vous utilisez l’image OctoPi qui est préconfigurée pour exécuter OctoPrint à partir d’un Raspberry Pi.

Voici la liste des logs recueillis par défaut (ainsi que leur emplacement par défaut) :

  • Log de l’application OctoPrint : /home/pi/.octoprint/logs
  • Log de la webcam OctoPrint : /var/log/webcamd.log
  • Log HAProxy : /var/log/haproxy.log

L’un ou l’ensemble de ces logs peuvent être changés ou supprimés en modifiant le fichier conf.yaml de l’intégration.

Processing de logs

OctoPrint utilise son propre format de log (et non un format objet). Pour utiliser ces logs, créez un pipeline de traitement de logs avec des règles de parsing. Exemple :

  1. Pipeline principal : « OctoPrint »
    1. Sous-pipeline 1 : « OctoPrint Print Job »
      1. Règle de parser grok :
        • OctoPrint_Print_Job %{date("yyyy-MM-dd HH:mm:ss,SSS"):date}\s+-\s+%{notSpace:source}\s+-\s+%{word:level}\s+-\s+Print\s+job\s+%{notSpace:job_status}\s+-\s+%{data::keyvalue(":"," ,")}
    2. Sous-pipeline 2 : « General OctoPrint Log »
      1. Règle de parser grok :
        • General_OctoPrint_Log %{date("yyyy-MM-dd HH:mm:ss,SSS"):date}\s+-\s+%{notSpace:source}\s+-\s+%{word:level}\s+-\s+%{data:message}

Pour en savoir plus, consultez la documentation sur le traitement des logs Datadog.

Données collectées

Métriques

octoprint.rpi_core_temp
(gauge)
Temp (in C) of Raspberry Pi Core
Shown as degree celsius
octoprint.printer_state
(gauge)
Current state of OctoPrint
Shown as operation
octoprint.est_print_time
(gauge)
Estimated print time of current job
Shown as minute
octoprint.pct_completed
(gauge)
Percentage of current Print job completed
Shown as percent
octoprint.print_job_time
(gauge)
Elapsed print time
Shown as minute
octoprint.print_job_time_left
(gauge)
Estimated remaining print time
Shown as minute
octoprint.current_tool_temp
(gauge)
Temp (in C) of each extruder
Shown as degree celsius
octoprint.target_tool_temp
(gauge)
Target Temp (in C) of each extruder
Shown as degree celsius
octoprint.current_bed_temp
(gauge)
Temp (in C) of each printer bed
Shown as degree celsius
octoprint.target_bed_temp
(gauge)
Target Temp (in C) of each extruder
Shown as degree celsius

Événements

OctoPrint n’inclut aucun événement.

Checks de service

octoprint.search
CRITICAL if the page can’t be accessed, WARNING if the search string isn’t found, or OK otherwise.
Statuses: ok, warning, critical

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.