Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion LegacyLearnCorrelateLinksWithGHURLs.json
Original file line number Diff line number Diff line change
Expand Up @@ -3563,5 +3563,6 @@
"https://learn.netdata.cloud/docs/network-performance-monitoring/syslog-from-network-devices/integrations/syslog-from-network-devices": "https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/snmp/npm-catalog/integrations/syslog_from_network_devices.md",
"https://learn.netdata.cloud/docs/logs-management/windows-event-logs/windows-events-plugin-reference": "https://github.com/netdata/netdata/blob/master/src/collectors/windows-events.plugin/README.md",
"https://learn.netdata.cloud/docs/logs-management/macos-unified-logs/macos-logs-plugin-reference": "https://github.com/netdata/netdata/blob/master/src/collectors/macos-logs.plugin/README.md",
"https://learn.netdata.cloud/docs/network-performance-monitoring/syslog/syslog-from-network-devices": "https://github.com/netdata/netdata/blob/master/docs/npm/syslog-pointer.md"
"https://learn.netdata.cloud/docs/network-performance-monitoring/syslog/syslog-from-network-devices": "https://github.com/netdata/netdata/blob/master/docs/npm/syslog-pointer.md",
"https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-experimental-go-collector": "https://github.com/netdata/netdata/blob/master/src/go/plugin/ipmi/collector/ipmi/README.md"
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ slug: "/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose"
# Cloud Foundry Firehose


<img src="https://netdata.cloud/img/cloud-foundry.svg" width="150" alt="Cloud Foundry Firehose" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="medium"/>
<img src="https://netdata.cloud/img/cloud-foundry.svg" width="150" alt="Cloud Foundry Firehose" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>


Plugin: go.d.plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ slug: "/collecting-metrics/collectors/cloud-and-devops/cloud-foundry"
# Cloud Foundry


<img src="https://netdata.cloud/img/cloud-foundry.svg" width="150" alt="Cloud Foundry" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="medium"/>
<img src="https://netdata.cloud/img/cloud-foundry.svg" width="150" alt="Cloud Foundry" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>


Plugin: go.d.plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
<img custom-image src="https://netdata.cloud/img/bosh.png" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="high"/>
</Box>
<Box banner="by Community" banner_color="rgba(0, 0, 0, 0.25)" to="/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry" title="Cloud Foundry">
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="medium"/>
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Community" banner_color="rgba(0, 0, 0, 0.25)" to="/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose" title="Cloud Foundry Firehose">
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="medium"/>
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Community" banner_color="rgba(0, 0, 0, 0.25)" to="/docs/collecting-metrics/collectors/cloud-and-devops/concourse" title="Concourse">
<img custom-image src="https://netdata.cloud/img/concourse.png" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="high"/>
Expand Down
4 changes: 2 additions & 2 deletions docs/Collecting Metrics/Collectors/Collectors Page 3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
<img custom-image src="https://netdata.cloud/img/clash.png" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="high"/>
</Box>
<Box banner="by Community" banner_color="rgba(0, 0, 0, 0.25)" to="/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry" title="Cloud Foundry">
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="medium"/>
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Community" banner_color="rgba(0, 0, 0, 0.25)" to="/docs/collecting-metrics/collectors/cloud-and-devops/cloud-foundry-firehose" title="Cloud Foundry Firehose">
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="medium"/>
<img custom-image src="https://netdata.cloud/img/cloud-foundry.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Community" banner_color="rgba(0, 0, 0, 0.25)" to="/docs/collecting-metrics/collectors/databases/clustercontrol-cmon" title="ClusterControl CMON">
<img custom-image src="https://netdata.cloud/img/cluster-control.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="low" data-logo-contrast-confidence="medium"/>
Expand Down
2 changes: 1 addition & 1 deletion docs/Collecting Metrics/Collectors/Collectors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -492,7 +492,7 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/networking/ipfw" title="ipfw">
<img custom-image src="https://netdata.cloud/img/firewall.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-experimental-go-collector" title="IPMI (experimental Go collector)">
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-go-collector" title="IPMI (Go collector)">
<img custom-image src="https://netdata.cloud/img/microchip.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/networking/ipv6-socket-statistics" title="IPv6 Socket Statistics">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/hardware-and-sensors/intelligent-platform-management-interface-ipmi" title="Intelligent Platform Management Interface (IPMI)">
<img custom-image src="https://netdata.cloud/img/netdata.png" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="ok" data-logo-contrast-dark="ok" data-logo-contrast-confidence="high"/>
</Box>
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-experimental-go-collector" title="IPMI (experimental Go collector)">
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-go-collector" title="IPMI (Go collector)">
<img custom-image src="https://netdata.cloud/img/microchip.svg" style={{width: '90%', maxHeight: '100%', verticalAlign: 'middle' }} alt="" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
</Box>
<Box banner="by Netdata" banner_color="#00ab44" to="/docs/collecting-metrics/collectors/hardware-and-sensors/linux-hardware-sensors-libsensors" title="Linux Hardware Sensors (libsensors)">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/ipmi/collector/ipmi/metadata.yaml"
sidebar_label: "IPMI (experimental Go collector)"
sidebar_label: "IPMI (Go collector)"
learn_status: "Published"
toc_max_heading_level: "6"
toc_collapsible: "true"
Expand All @@ -9,15 +9,15 @@ keywords: [ipmi, bmc, openipmi, hardware sensors, system event log]
description: "Monitor hardware sensor readings, sensor health and System Event Log entries through IPMI."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
sidebar_position: "160"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-experimental-go-collector"
slug: "/collecting-metrics/collectors/hardware-and-sensors/ipmi-experimental-go-collector"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/ipmi-go-collector"
slug: "/collecting-metrics/collectors/hardware-and-sensors/ipmi-go-collector"
---


# IPMI (experimental Go collector)
# IPMI (Go collector)


<img src="https://netdata.cloud/img/microchip.svg" width="150" alt="IPMI (experimental Go collector)" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>
<img src="https://netdata.cloud/img/microchip.svg" width="150" alt="IPMI (Go collector)" data-integration-logo="true" data-logo-contrast-light="unknown" data-logo-contrast-dark="unknown" data-logo-contrast-confidence="low"/>


Plugin: ipmi.plugin
Expand All @@ -42,19 +42,20 @@ This collector supports collecting metrics from multiple instances of this integ
| Read/write access to the selected OpenIPMI device | Collecting locally with `driver: open`. |
| BMC account with User privilege and LAN access | Collecting remotely with `driver: lan` or `driver: lanplus`. Some BMC policies require a higher session privilege. |

Installation grants no setuid mode, capabilities or device permissions. Remote collection requires no
elevated privileges on the Agent host.
Installers give the dedicated `ipmi.plugin` binary root ownership and setuid permission, restricted to
the Netdata group, for local device access. Containers must expose the device, for example with
`--device /dev/ipmi0`. Remote collection needs no local device access.


### Default Behavior

#### Auto-Detection

No jobs start by default. Build the experimental plugin explicitly and configure the target.
On standard Linux installations, the stock job attempts to collect the local OpenIPMI device 0 every ten seconds. Containers require ipmi=yes in the plugins section of netdata.conf and an exposed device for local collection. Hosts without an accessible device do not collect local IPMI metrics. Netdata prefers this plugin when both IPMI implementations are installed and enabled. An existing freeipmi=no keeps collection disabled; non-blank legacy command options keep C when FreeIPMI is enabled. Set ipmi=yes explicitly in the plugins section of netdata.conf to migrate either case to Go.

#### Limits

This experimental plugin requires Linux. Keep FreeIPMI for legacy direct drivers, OEM interpretation or custom FreeIPMI interpretation files. Unknown or unavailable sensor readings leave gaps. Default FreeIPMI policy treats non-critical threshold assertions as nominal. Do not run both IPMI plugins against the same host with the canonical ipmi job name because chart IDs overlap. The Go collector uses separate ipmi_go.* contexts and the ipmi-go-sensors Function.
This plugin requires Linux. Keep FreeIPMI for legacy direct drivers, bridged sensors, OEM interpretation or custom FreeIPMI interpretation files. Unknown or unavailable sensor readings leave gaps. Default FreeIPMI policy treats non-critical threshold assertions as nominal. Netdata starts only one IPMI implementation; switch implementations by changing netdata.conf and restarting the Agent.

#### Performance Impact

Expand All @@ -65,13 +66,13 @@ IPMI command latency grows with sensor count. Increase update_every when a compl

### Prerequisites

#### Build the experimental plugin
#### Install the IPMI plugin

Run `sudo ./netdata-installer.sh --enable-plugin-ipmi` from a source checkout. The option is OFF in production builds. Installation uses ordinary executable permissions.
Linux source and static builds include the Go IPMI plugin by default. For DEB/RPM installations, install the optional netdata-plugin-ipmi package separately. Source builds can disable it with --disable-plugin-ipmi.

#### Select one IPMI plugin
#### Migrate an existing FreeIPMI configuration

Before collecting the same host with the canonical ipmi job name, set `freeipmi = no` in the `[plugins]` section of netdata.conf. Use a trusted configuration and explicit sudo invocation for local debugging when the device is root-only. For normal Agent execution, arrange device access according to the host security policy.
Configure the target in ipmi/ipmi.conf, set `ipmi = yes` in the `[plugins]` section of netdata.conf, and restart Netdata. C command options are not translated. To switch back, install netdata-plugin-freeipmi if needed, set `ipmi = no` and `freeipmi = yes`, and restart Netdata.

#### Enable remote BMC access

Expand All @@ -95,7 +96,7 @@ Options apply to each IPMI job. Configure one local device or remote BMC per job
| | username | BMC account for LAN/LAN+. Leave empty only for anonymous access. | | no |
| | password | BMC account password for LAN/LAN+. Leave empty only if the account has no password. | | no |
| | privilege_level | Session privilege requested from the BMC. User privilege is sufficient for standard sensor and SEL commands. | user | no |
| **Collection** | update_every | Data collection frequency in seconds. | 5 | no |
| **Collection** | update_every | Data collection frequency in seconds. | 10 | no |
| | timeout | Timeout for session setup and for each IPMI command. | 5s | no |
| | collect_sel | Collect the System Event Log entry count. | yes | no |
| **Virtual Node** | vnode | Associates this job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes). | | no |
Expand Down Expand Up @@ -124,7 +125,7 @@ Monitor the first kernel IPMI device.

```yaml
jobs:
- name: ipmi
- name: local
driver: open

```
Expand Down Expand Up @@ -164,8 +165,8 @@ The following alerts are available:

| Alert name | On metric | Description |
|:------------|:----------|:------------|
| [ ipmi_go_sensor_state ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipmi.conf) | ipmi_go.sensor_state | IPMI sensor $\{label:sensor} ($\{label:component}) state |
| [ ipmi_events ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipmi.conf) | ipmi.events | number of events in the IPMI System Event Log (SEL) |
| [ ipmi_sensor_state ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipmi.conf) | ipmi.sensor_state | IPMI sensor $\{label:sensor} ($\{label:component}) state |
| [ ipmi_events ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipmi.conf) | ipmi.sel | number of events in the IPMI System Event Log (SEL) |



Expand All @@ -175,7 +176,7 @@ Metrics grouped by *scope*.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Each sensor has its own reading and state chart. SEL is the raw repository entry count, including records FreeIPMI may filter during interpretation. The stock SEL alarm targets the canonical local ipmi.events chart; other job chart IDs include the job name.
Each sensor has its own reading and state chart. SEL is the raw repository entry count, including records FreeIPMI may filter during interpretation. The stock ipmi_events alert template matches the ipmi.sel context and applies to every Go job and to the C collector.


### Per sensor
Expand All @@ -194,17 +195,17 @@ Metrics:

| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| ipmi_go.sensor_temperature_c | IPMI Sensor Temperature | temperature | Celsius |
| ipmi_go.sensor_temperature_f | IPMI Sensor Temperature | temperature | Fahrenheit |
| ipmi_go.sensor_voltage | IPMI Sensor Voltage | voltage | Volts |
| ipmi_go.sensor_ampere | IPMI Sensor Current | ampere | Amps |
| ipmi_go.sensor_fan_speed | IPMI Sensor Fan Speed | rotations | RPM |
| ipmi_go.sensor_power | IPMI Sensor Power | power | Watts |
| ipmi_go.sensor_reading_percent | IPMI Sensor Percentage Reading | percentage | % |
| ipmi_go.sensor_state | IPMI Sensor State | nominal, warning, critical, unknown | state |
| ipmi.sensor_temperature_c | IPMI Sensor Temperature | temperature | Celsius |
| ipmi.sensor_temperature_f | IPMI Sensor Temperature | temperature | Fahrenheit |
| ipmi.sensor_voltage | IPMI Sensor Voltage | voltage | Volts |
| ipmi.sensor_ampere | IPMI Sensor Current | ampere | Amps |
| ipmi.sensor_fan_speed | IPMI Sensor Fan Speed | rotations | RPM |
| ipmi.sensor_power | IPMI Sensor Power | power | Watts |
| ipmi.sensor_reading_percent | IPMI Sensor Percentage Reading | percentage | % |
| ipmi.sensor_state | IPMI Sensor State | nominal, warning, critical, unknown | state |


### Per IPMI (experimental Go collector) instance
### Per IPMI (Go collector) instance

The selected BMC System Event Log.

Expand All @@ -214,7 +215,7 @@ Metrics:

| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| ipmi_go.sel | IPMI System Event Log Entries | events | events |
| ipmi.sel | IPMI System Event Log Entries | events | events |



Expand All @@ -228,7 +229,7 @@ Show current readings and default FreeIPMI health states, with sensor counts by

| Aspect | Description |
|:-------|:------------|
| Name | `Ipmi-go-sensors` |
| Name | `Ipmi-sensors` |
| Require Cloud | no |
| Performance | Reads the latest completed snapshot without additional BMC requests. |
| Security | Read-only sensor data from the configured target. |
Expand Down Expand Up @@ -273,4 +274,4 @@ The plugin account cannot open the local IPMI device for reading and writing.

**Fix**

Grant device access through the host security policy, or run a trusted local test explicitly with sudo. Rebuilding the plugin does not grant device access.
Check that the dedicated binary retains the ownership and setuid permissions installed by Netdata. In a container, expose the IPMI device. For a manually built binary, grant device access through the host security policy or run a trusted local test explicitly with sudo.
Loading
Loading