|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.2.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.2.7 (2026-05-26)
- updating package.xml s (#616)
- Change node name from influxdb to influxdb_connector (#547) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding aggregator tests again (#467)
- Fix node name and port in diagnostic_remote_logging readme (#515)
- Remote name splitting (#525) Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Fix windows build of diagnostic_remote_logging (#527) Co-authored-by: Christoph Fröhlich
- Contributors: Christian Henkel, Christoph Fröhlich, Daan Wijffels
4.2.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.2.4 (2025-05-12)
4.2.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.2.2 (2025-02-10)
4.2.1 (2024-07-30)
4.2.0 (2024-06-27 14:00)
4.0.1 (2024-06-27 11:12)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.3.7 |
| 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-kilted |
| Last Updated | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.3.7 (2026-05-26)
- updating package.xml s (#616)
- Change node name from influxdb to influxdb_connector (#547) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding aggregator tests again (#467)
- Fix node name and port in diagnostic_remote_logging readme (#515)
- Remote name splitting (#525) Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Fix windows build of diagnostic_remote_logging (#527) Co-authored-by: Christoph Fröhlich
- Contributors: Christian Henkel, Christoph Fröhlich, Daan Wijffels
4.3.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- fix: Missing link to libcurl (#505)
- Contributors: Christian Henkel, Moritz Schauer
4.3.5 (2025-05-26)
- Use target_link_libraries instead of ament_target_dependencies (#507)
- Contributors: Christoph Fröhlich
4.3.4 (2025-05-12)
- Kilted dep fix (#474)
- Contributors: David V. Lu, Christian Henkel
4.3.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.3.2 (2025-02-10)
4.3.1 (2024-07-30)
4.3.0 (2024-06-27 14:08)
3.2.1 (2024-06-27 11:00)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.5.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.5.7 (2026-05-26)
- updating package.xml s (#616)
- Change node name from influxdb to influxdb_connector (#547) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding aggregator tests again (#467)
- Fix node name and port in diagnostic_remote_logging readme (#515)
- Remote name splitting (#525) Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Fix windows build of diagnostic_remote_logging (#527) Co-authored-by: Christoph Fröhlich
- Contributors: Christian Henkel, Christoph Fröhlich, Daan Wijffels
4.4.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- fix: Missing link to libcurl (#505)
- Contributors: Christian Henkel, Moritz Schauer
4.4.5 (2025-05-26)
- Use target_link_libraries instead of ament_target_dependencies (#507)
- Contributors: Christoph Fröhlich
4.4.4 (2025-05-12)
- Kilted dep fix (#474)
- Contributors: David V. Lu, Christian Henkel
4.4.3 (2025-04-03)
-
cleanup (#450)
-
Grafana Integration (#425)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Thiever Base <<thiever@lely.com>> Co-authored-by: Christian Henkel <<6976069+ct2034@users.noreply.github.com>>
-
Contributors: Christian Henkel, Daan Wijffels
4.4.2 (2025-02-10)
4.3.1 (2024-07-30)
4.3.0 (2024-06-27 14:08)
3.2.1 (2024-06-27 11:00)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.5.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.5.7 (2026-05-26)
- updating package.xml s (#616)
- Change node name from influxdb to influxdb_connector (#547) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding aggregator tests again (#467)
- Fix node name and port in diagnostic_remote_logging readme (#515)
- Remote name splitting (#525) Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Fix windows build of diagnostic_remote_logging (#527) Co-authored-by: Christoph Fröhlich
- Contributors: Christian Henkel, Christoph Fröhlich, Daan Wijffels
4.4.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- fix: Missing link to libcurl (#505)
- Contributors: Christian Henkel, Moritz Schauer
4.4.5 (2025-05-26)
- Use target_link_libraries instead of ament_target_dependencies (#507)
- Contributors: Christoph Fröhlich
4.4.4 (2025-05-12)
- Kilted dep fix (#474)
- Contributors: David V. Lu, Christian Henkel
4.4.3 (2025-04-03)
-
cleanup (#450)
-
Grafana Integration (#425)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Thiever Base <<thiever@lely.com>> Co-authored-by: Christian Henkel <<6976069+ct2034@users.noreply.github.com>>
-
Contributors: Christian Henkel, Daan Wijffels
4.4.2 (2025-02-10)
4.3.1 (2024-07-30)
4.3.0 (2024-06-27 14:08)
3.2.1 (2024-06-27 11:00)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.5.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.5.7 (2026-05-26)
- updating package.xml s (#616)
- Change node name from influxdb to influxdb_connector (#547) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding aggregator tests again (#467)
- Fix node name and port in diagnostic_remote_logging readme (#515)
- Remote name splitting (#525) Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Fix windows build of diagnostic_remote_logging (#527) Co-authored-by: Christoph Fröhlich
- Contributors: Christian Henkel, Christoph Fröhlich, Daan Wijffels
4.4.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- fix: Missing link to libcurl (#505)
- Contributors: Christian Henkel, Moritz Schauer
4.4.5 (2025-05-26)
- Use target_link_libraries instead of ament_target_dependencies (#507)
- Contributors: Christoph Fröhlich
4.4.4 (2025-05-12)
- Kilted dep fix (#474)
- Contributors: David V. Lu, Christian Henkel
4.4.3 (2025-04-03)
-
cleanup (#450)
-
Grafana Integration (#425)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <<dwijffels@lely.com>> Co-authored-by: Thiever Base <<thiever@lely.com>> Co-authored-by: Christian Henkel <<6976069+ct2034@users.noreply.github.com>>
-
Contributors: Christian Henkel, Daan Wijffels
4.4.2 (2025-02-10)
4.3.1 (2024-07-30)
4.3.0 (2024-06-27 14:08)
3.2.1 (2024-06-27 11:00)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |
Launch files
Messages
Services
Plugins
Recent questions tagged diagnostic_remote_logging at Robotics Stack Exchange
|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Version | 4.0.7 |
| 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 | 2026-05-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
- Christian Henkel
Authors
- Daan Wijffels
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 influxdb_connector 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 influxdb_connector node supports several parameters. Below is an example configuration:
/influxdb_connector:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token: ""
bucket: ""
organization: ""
send:
diagnostics: true
period: 1.0
top_level_state: true
-
send.diagnostics: Enables or disables subscription to the/diagnosticstopic. -
send.period: Specifies the interval in seconds for sending diagnostic data to InfluxDB. During each period, all incoming/diagnosticsmessages are collected and transmitted as a batch to InfluxDB. -
send.top_level_state: Enables or disables subscription to the/diagnostics_toplevel_statetopic.
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 influxdb_connector --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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. - Add the following to the telegraf configuration file to enable the InfluxDB v2 listener:
[[inputs.influxdb_v2_listener]]
service_address = ":8187" # different port than the default 8086
-
Update the
influxdb_connectornode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxdb_connectornode, thenhttp://localhost:8187/api/v2/writeshould work. -
Leave the following parameters empty in the
influxdb_connectornode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influxdb_connector --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
4.0.7 (2026-05-26)
- Updating package.xml s (#616)
- Stop flooding the terminal by default with matches of aggregators (#364) Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Some fixes that came apparent when building for lyrical / resolute (#609)
- Option [publish_values]{.title-ref} to control whether aggregated state should contain values (#597) Co-authored-by: Denis Draca <<denis.draca@greenroomrobotics.com>> Co-authored-by: David Revay <<daverevay@gmail.com>> Co-authored-by: David Revay <<MrBlenny@users.noreply.github.com>>
- Aggregate to stale if one underlying is stale (#593) Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>> Co-authored-by: Tim Clephas <<tim.clephas@nobleo.nl>>
- Implement onParametersSet for handling only analyzers node parameters (#551) Co-authored-by: Christian Henkel <<christian.henkel2@de.bosch.com>>
- Adding analyzer tests again (#555)
- Adding aggregator tests again (#467)
- Contributors: Christian Henkel, Ferry Schoenmakers, Noel Jiménez García
4.0.6 (2025-05-26)
- C++17 and cmake 3.20 everywhere (#510)
- Contributors: Christian Henkel
4.0.4 (2025-05-12)
4.0.3 (2025-04-03)
-
cleanup (#450 <<https://github.com/ros/diagnostics/issues/450>>)
-
Grafana Integration (#425 <<https://github.com/ros/diagnostics/issues/425>>)
- First working version of remote_logging
- Added more error handling, and skipping values when new line is present in stat
- Changed default telegraf url to reflect the change to influxdb_v2_listener
- Made node composable and changed name to influx to better reflect use cases
* Added README ---------Co-authored-by: Daan Wijffels <mailto:dwijffels@lely.com> Co-authored-by: Thiever Base <mailto:thiever@lely.com> Co-authored-by: Christian Henkel <mailto:6976069+ct2034@users.noreply.github.com>
-
Contributors: Christian Henkel, Daan Wijffels
4.0.2 (2025-02-10)
4.0.0 (2024-06-27)
3.2.0 (2024-03-22)
3.1.2 (2023-03-24)
3.1.1 (2023-03-16)
3.1.0 (2023-01-30)
3.0.0 (2022-06-10)
2.1.3 (2021-08-03)
2.1.2 (2021-03-03)
2.1.1 (2021-01-28)
2.1.0 (2021-01-12)
2.0.2 (2020-06-03)
2.0.0 (2019-09-03)
1.9.3 (2018-05-02)
1.9.2 (2017-07-15 20:34)
1.9.1 (2017-07-15 16:38)
1.9.0 (2017-04-25)
1.8.10 (2016-06-14)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| diagnostic_msgs | |
| rclcpp_components | |
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest |
System Dependencies
| Name |
|---|
| curl |
Dependant Packages
| Name | Deps |
|---|---|
| diagnostics |