Raspberry Pi integration for Grafana Cloud
The Raspberry Pi integration for Grafana Cloud uses the agent to collect metrics related to the operating system (Linux-based), including aspects like CPU usage, load average, memory usage, and disk and networking I/O. It also supports system logs being scraped by the agent using promtail.
This integration includes eight useful alerts and two pre-built dashboards to help monitor and visualize your Raspberry Pi metrics and logs.
Install Raspberry Pi integration for Grafana Cloud
- In your Grafana instance, click Integrations and Connections (lightning bolt icon)
- Navigate to the Raspberry Pi tile and review the prerequisites. Then click Install integration.
- Once the integration is installed, follow the steps on the Configuration Details page to setup Grafana Agent and start sending Raspberry Pi metrics to your Grafana Cloud instance.
Post-install configuration for the Raspberry Pi integration
If you want to show logs and metrics signals correlated in your dashboards, ensure the following:
job
andinstance
label values must match fornode_exporter
integration config undermetrics
andlogs
.job
label must be set tointegrations/raspberrypi-node
both for the integration and log scrapes.instance
label must be set to a value that uniquely identifies your Raspberry Pi node. Replace the defaulthostname
value according to your environment. Note that if you uselocalhost
for multiple nodes, the dashboards will not be able to filter correctly by instance.
Note: Ensure each deployed Grafana Agent has a configuration that matches the node it is deployed to.
Refer to the following preferred agent configuration example, with logs collected from systemd:
integrations:
node_exporter:
enabled: true
relabel_configs:
- replacement: hostname
target_label: instance
- replacement: integrations/raspberrypi-node
target_label: job
logs:
configs:
- name: integrations
scrape_configs:
- job_name: integrations/node_exporter_journal_scrape
journal:
max_age: 24h
labels:
instance: hostname
job: integrations/raspberrypi-node
relabel_configs:
- source_labels: ['__journal__systemd_unit']
target_label: 'unit'
- source_labels: ['__journal__boot_id']
target_label: 'boot_id'
- source_labels: ['__journal__transport']
target_label: 'transport'
- source_labels: ['__journal_priority_keyword']
target_label: 'level'
If systemd is not an option, you can scrape log files instead:
integrations:
node_exporter:
enabled: true
relabel_configs:
- replacement: hostname
target_label: instance
- replacement: integrations/raspberrypi-node
target_label: job
logs:
configs:
- name: integrations
scrape_configs:
- job_name: integrations/node_exporter_direct_scrape
static_configs:
- targets:
- localhost
labels:
instance: hostname
__path__: /var/log/{syslog,messages,*.log}
job: integrations/raspberrypi-node
Dashboards
The Raspberry Pi integration installs the following dashboards in your Grafana Cloud instance to help monitor your metrics.
- Node Exporter / Raspberry
Raspberry Pi overview
Raspberry Pi logs
Alerts
This integration includes the following useful alerts:
Group: node-exporter
Alert | Description |
---|---|
NodeFilesystemAlmostOutOfSpace | Warning: Filesystem has less than 5% space left. |
NodeFilesystemAlmostOutOfSpace | Critical: Filesystem has less than 3% space left. |
NodeFilesystemFilesFillingUp | Warning: Filesystem is predicted to run out of inodes within the next 24 hours. |
NodeFilesystemFilesFillingUp | Critical: Filesystem is predicted to run out of inodes within the next 4 hours. |
NodeFilesystemAlmostOutOfFiles | Warning: Filesystem has less than 5% inodes left. |
NodeFilesystemAlmostOutOfFiles | Critical: Filesystem has less than 3% inodes left. |
NodeNetworkReceiveErrs | Warning: Network interface is reporting many receive errors. |
NodeNetworkTransmitErrs | Warning: Network interface is reporting many transmit errors. |
Metrics
The following metrics are automatically written to your Grafana Cloud instance by connecting your Raspberry Pi instance through this integration:
- node_cpu_seconds_total
- node_disk_io_time_seconds_total
- node_disk_io_time_weighted_seconds_total
- node_disk_read_bytes_total
- node_disk_written_bytes_total
- node_filesystem_avail_bytes
- node_filesystem_files
- node_filesystem_files_free
- node_filesystem_readonly
- node_filesystem_size_bytes
- node_load1
- node_load15
- node_load5
- node_memory_Buffers_bytes
- node_memory_Cached_bytes
- node_memory_MemAvailable_bytes
- node_memory_MemFree_bytes
- node_memory_MemTotal_bytes
- node_memory_Slab_bytes
- node_network_receive_bytes_total
- node_network_receive_drop_total
- node_network_receive_errs_total
- node_network_receive_packets_total
- node_network_transmit_bytes_total
- node_network_transmit_drop_total
- node_network_transmit_errs_total
- node_network_transmit_packets_total
- node_uname_info
- node_vmstat_pgmajfault
Changelog
# 0.0.1 - September 2022
* Initial release
Cost
By connecting your Raspberry Pi instance to Grafana Cloud you might incur charges. To view information on the number of active series that your Grafana Cloud account uses for metrics included in each Cloud tier, see Active series and dpm usage and Cloud tier pricing.