![]() |
diagnostic_remote_logging package from diagnostics repodiagnostic_aggregator diagnostic_common_diagnostics diagnostic_remote_logging diagnostic_updater diagnostics self_test |
|
Package Summary
Tags | No category tags. |
Version | 4.3.1 |
License | BSD-3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/diagnostics.git |
VCS Type | git |
VCS Version | ros2-humble |
Last Updated | 2025-03-04 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
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:
agg: true
top_level_state: true
-
send.agg
: Enables or disables subscription to the/diagnostics_agg
topic. -
send.top_level_state
: Enables or disables subscription to the/diagnostics_toplevel_state
topic.
InfluxDB Configuration
Set the following parameters in your configuration to match your InfluxDB instance:
-
connection.url
: The URL of your InfluxDB write API endpoint. -
connection.token
: Your InfluxDB authentication token. -
connection.bucket
: The target bucket in InfluxDB. -
connection.organization
: The name of your InfluxDB organization.
Starting the node
Afterward all configurations are set run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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
influx
node configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinflux
node, the defaulthttp://localhost:8086/api/v2/write
should work. -
Leave the following parameters empty in the
influx
node configuration when using Telegraf as a proxy:connection.token
connection.bucket
connection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 4.3.1 |
License | BSD-3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/diagnostics.git |
VCS Type | git |
VCS Version | ros2-jazzy |
Last Updated | 2025-03-04 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
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:
agg: true
top_level_state: true
-
send.agg
: Enables or disables subscription to the/diagnostics_agg
topic. -
send.top_level_state
: Enables or disables subscription to the/diagnostics_toplevel_state
topic.
InfluxDB Configuration
Set the following parameters in your configuration to match your InfluxDB instance:
-
connection.url
: The URL of your InfluxDB write API endpoint. -
connection.token
: Your InfluxDB authentication token. -
connection.bucket
: The target bucket in InfluxDB. -
connection.organization
: The name of your InfluxDB organization.
Starting the node
Afterward all configurations are set run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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
influx
node configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinflux
node, the defaulthttp://localhost:8086/api/v2/write
should work. -
Leave the following parameters empty in the
influx
node configuration when using Telegraf as a proxy:connection.token
connection.bucket
connection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 4.3.1 |
License | BSD-3-Clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/diagnostics.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-03-04 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
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:
agg: true
top_level_state: true
-
send.agg
: Enables or disables subscription to the/diagnostics_agg
topic. -
send.top_level_state
: Enables or disables subscription to the/diagnostics_toplevel_state
topic.
InfluxDB Configuration
Set the following parameters in your configuration to match your InfluxDB instance:
-
connection.url
: The URL of your InfluxDB write API endpoint. -
connection.token
: Your InfluxDB authentication token. -
connection.bucket
: The target bucket in InfluxDB. -
connection.organization
: The name of your InfluxDB organization.
Starting the node
Afterward all configurations are set run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Using a Telegraf Proxy
To configure Telegraf as a proxy for InfluxDB:
- 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
influx
node configuration to point to the appropriate URL. For example, if Telegraf is running on the same host as theinflux
node, the defaulthttp://localhost:8086/api/v2/write
should work. -
Leave the following parameters empty in the
influx
node configuration when using Telegraf as a proxy:connection.token
connection.bucket
connection.organization
-
Afterwards run the node with the following command:
ros2 run diagnostic_remote_logging influx --ros-args --params-file <path_to_yaml_file>
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_msgs | |
rclcpp_components | |
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ament_cmake_gtest |
System Dependencies
Name |
---|
curl |