Package Summary

Tags No category tags.
Version 4.3.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros/diagnostics.git
VCS Type git
VCS Version ros2-humble
Last Updated 2025-03-04
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

diagnostic_remote_logging

Additional Links

No additional links.

Maintainers

  • Daan Wijffels

Authors

No additional authors.

General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.

The diagnostic_remote_logging package

This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.

As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.

Node Configuration

You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:

  • Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
  • Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
  • Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
  • Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.

To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.

Parameters

The influx node supports several parameters. Below is an example configuration:

/influx:
  ros__parameters:
    connection:
      url: http://localhost:8086/api/v2/write
      token:
      bucket:
      organization:
    send:
      agg: true
      top_level_state: true

  • send.agg: Enables or disables subscription to the /diagnostics_agg topic.
  • send.top_level_state: Enables or disables subscription to the /diagnostics_toplevel_state topic.

InfluxDB Configuration

Set the following parameters in your configuration to match your InfluxDB instance:

  • connection.url: The URL of your InfluxDB write API endpoint.
  • connection.token: Your InfluxDB authentication token.
  • connection.bucket: The target bucket in InfluxDB.
  • connection.organization: The name of your InfluxDB organization.

Starting the node

Afterward all configurations are set run the node with the following command:

ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>

Using a Telegraf Proxy

To configure Telegraf as a proxy for InfluxDB:

  1. Ensure Telegraf is set up to send data to your InfluxDB instance via its configuration file (/etc/telegraf/telegraf.conf). Check this link for an example.
  2. Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
    [[inputs.influxdb_v2_listener]]
      service_address = ":8086"
    
  1. Update the influx node configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as the influx node, the default http://localhost:8086/api/v2/write should work.

  2. Leave the following parameters empty in the influx node configuration when using Telegraf as a proxy:

    • connection.token
    • connection.bucket
    • connection.organization
  3. Afterwards run the node with the following command:

    ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
    
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 4.3.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros/diagnostics.git
VCS Type git
VCS Version ros2-jazzy
Last Updated 2025-03-04
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

diagnostic_remote_logging

Additional Links

No additional links.

Maintainers

  • Daan Wijffels

Authors

No additional authors.

General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.

The diagnostic_remote_logging package

This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.

As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.

Node Configuration

You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:

  • Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
  • Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
  • Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
  • Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.

To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.

Parameters

The influx node supports several parameters. Below is an example configuration:

/influx:
  ros__parameters:
    connection:
      url: http://localhost:8086/api/v2/write
      token:
      bucket:
      organization:
    send:
      agg: true
      top_level_state: true

  • send.agg: Enables or disables subscription to the /diagnostics_agg topic.
  • send.top_level_state: Enables or disables subscription to the /diagnostics_toplevel_state topic.

InfluxDB Configuration

Set the following parameters in your configuration to match your InfluxDB instance:

  • connection.url: The URL of your InfluxDB write API endpoint.
  • connection.token: Your InfluxDB authentication token.
  • connection.bucket: The target bucket in InfluxDB.
  • connection.organization: The name of your InfluxDB organization.

Starting the node

Afterward all configurations are set run the node with the following command:

ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>

Using a Telegraf Proxy

To configure Telegraf as a proxy for InfluxDB:

  1. Ensure Telegraf is set up to send data to your InfluxDB instance via its configuration file (/etc/telegraf/telegraf.conf). Check this link for an example.
  2. Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
    [[inputs.influxdb_v2_listener]]
      service_address = ":8086"
    
  1. Update the influx node configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as the influx node, the default http://localhost:8086/api/v2/write should work.

  2. Leave the following parameters empty in the influx node configuration when using Telegraf as a proxy:

    • connection.token
    • connection.bucket
    • connection.organization
  3. Afterwards run the node with the following command:

    ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
    
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 4.3.1
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros/diagnostics.git
VCS Type git
VCS Version ros2
Last Updated 2025-03-04
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

diagnostic_remote_logging

Additional Links

No additional links.

Maintainers

  • Daan Wijffels

Authors

No additional authors.

General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.

The diagnostic_remote_logging package

This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.

As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.

Node Configuration

You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:

  • Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
  • Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
  • Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
  • Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.

To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.

Parameters

The influx node supports several parameters. Below is an example configuration:

/influx:
  ros__parameters:
    connection:
      url: http://localhost:8086/api/v2/write
      token:
      bucket:
      organization:
    send:
      agg: true
      top_level_state: true

  • send.agg: Enables or disables subscription to the /diagnostics_agg topic.
  • send.top_level_state: Enables or disables subscription to the /diagnostics_toplevel_state topic.

InfluxDB Configuration

Set the following parameters in your configuration to match your InfluxDB instance:

  • connection.url: The URL of your InfluxDB write API endpoint.
  • connection.token: Your InfluxDB authentication token.
  • connection.bucket: The target bucket in InfluxDB.
  • connection.organization: The name of your InfluxDB organization.

Starting the node

Afterward all configurations are set run the node with the following command:

ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>

Using a Telegraf Proxy

To configure Telegraf as a proxy for InfluxDB:

  1. Ensure Telegraf is set up to send data to your InfluxDB instance via its configuration file (/etc/telegraf/telegraf.conf). Check this link for an example.
  2. Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
    [[inputs.influxdb_v2_listener]]
      service_address = ":8086"
    
  1. Update the influx node configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as the influx node, the default http://localhost:8086/api/v2/write should work.

  2. Leave the following parameters empty in the influx node configuration when using Telegraf as a proxy:

    • connection.token
    • connection.bucket
    • connection.organization
  3. Afterwards run the node with the following command:

    ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
    
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.