|
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 4.0.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-humble |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
1.7.6 (2012-11-07 23:32)
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
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
| Tags | No category tags. |
| Version | 4.2.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-jazzy |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
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
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
| Tags | No category tags. |
| Version | 4.3.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-kilted |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
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)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
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
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
| Tags | No category tags. |
| Version | 4.4.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
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)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
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
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
| Tags | No category tags. |
| Version | 4.0.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-humble |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
1.7.6 (2012-11-07 23:32)
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
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
| Tags | No category tags. |
| Version | 4.0.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-humble |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
1.7.6 (2012-11-07 23:32)
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
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
| Tags | No category tags. |
| Version | 4.0.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-humble |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
1.7.6 (2012-11-07 23:32)
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
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
| Tags | No category tags. |
| Version | 4.0.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-humble |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
1.7.6 (2012-11-07 23:32)
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
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
| Tags | No category tags. |
| Version | 4.0.6 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | Packages related to gathering, viewing, and analyzing diagnostics data from robots. |
| Checkout URI | https://github.com/ros/diagnostics.git |
| VCS Type | git |
| VCS Version | ros2-humble |
| Last Updated | 2025-10-22 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Tags | monitoring ros diagnostics |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Daan Wijffels
Authors
General information about this repository, including legal information and known issues/limitations, are given in README.md in the repository root.
The diagnostic_remote_logging package
This package provides the influx node, which listens to diagnostic messages and integrates with InfluxDB v2 for monitoring and visualization. Specifically, it subscribes to the diagnostic_msgs/DiagnosticArray messages on the /diagnostics_agg topic and the diagnostic_msgs/DiagnosticStatus messages on the /diagnostics_toplevel_state topic. The node processes these messages, sending their statistics and levels to an InfluxDB database, enabling use with tools like Grafana.
As of now we only support InfluxDB v2, for support with older versions please use a proxy like Telegraf. See section Telegraf for an example on how to setup.
Node Configuration
You can send data to InfluxDB in two ways: directly to the database or via a proxy like Telegraf. While both methods are valid, using a proxy is generally recommended due to the following benefits:
- Efficient Data Transmission: Telegraf aggregates multiple measurements and sends them in a single request, reducing bandwidth usage and minimizing database load.
- Enhanced Reliability: Provides buffering in case of connection issues, ensuring no data is lost.
- Comprehensive Metric Collection: Telegraf can send additional system metrics (e.g., RAM, CPU, network usage) with minimal configuration.
- Data Filtering and Transformation: Supports preprocessing, such as filtering or transforming data, before sending it to InfluxDB.
To use either method, ensure you have a running instance of InfluxDB. The simplest way to set this up is through InfluxDB Cloud.
Parameters
The influx node supports several parameters. Below is an example configuration:
/influx:
ros__parameters:
connection:
url: http://localhost:8086/api/v2/write
token:
bucket:
organization:
send:
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 influx --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 = ":8086"
-
Update the
influxnode configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinfluxnode, the defaulthttp://localhost:8086/api/v2/writeshould work. -
Leave the following parameters empty in the
influxnode configuration when using Telegraf as a proxy:connection.tokenconnection.bucketconnection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Changelog for package diagnostic_remote_logging
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)
1.8.9 (2016-03-02)
1.8.8 (2015-08-06)
1.8.7 (2015-01-09)
1.8.6 (2014-12-10)
1.8.5 (2014-07-29)
1.8.4 (2014-07-24)
1.8.3 (2014-04-23)
1.8.2 (2014-04-08)
1.8.1 (2014-04-07)
1.8.0 (2013-04-03)
1.7.10 (2013-02-22)
1.7.9 (2012-12-14)
1.7.8 (2012-12-06)
1.7.7 (2012-11-10)
1.7.6 (2012-11-07 23:32)
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 |