92 lines
3.2 KiB
Markdown
92 lines
3.2 KiB
Markdown
# IPMI Sensor Input Plugin
|
|
|
|
Get bare metal metrics using the command line utility
|
|
[`ipmitool`](https://sourceforge.net/projects/ipmitool/files/ipmitool/).
|
|
|
|
If no servers are specified, the plugin will query the local machine sensor stats via the following command:
|
|
|
|
```
|
|
ipmitool sdr
|
|
```
|
|
|
|
When one or more servers are specified, the plugin will use the following command to collect remote host sensor stats:
|
|
|
|
```
|
|
ipmitool -I lan -H SERVER -U USERID -P PASSW0RD sdr
|
|
```
|
|
|
|
### Configuration
|
|
|
|
```toml
|
|
# Read metrics from the bare metal servers via IPMI
|
|
[[inputs.ipmi_sensor]]
|
|
## optionally specify the path to the ipmitool executable
|
|
# path = "/usr/bin/ipmitool"
|
|
##
|
|
## optionally force session privilege level. Can be CALLBACK, USER, OPERATOR, ADMINISTRATOR
|
|
# privilege = "ADMINISTRATOR"
|
|
##
|
|
## optionally specify one or more servers via a url matching
|
|
## [username[:password]@][protocol[(address)]]
|
|
## e.g.
|
|
## root:passwd@lan(127.0.0.1)
|
|
##
|
|
## if no servers are specified, local machine sensor stats will be queried
|
|
##
|
|
# servers = ["USERID:PASSW0RD@lan(192.168.1.1)"]
|
|
|
|
## Recomended: use metric 'interval' that is a multiple of 'timeout' to avoid
|
|
## gaps or overlap in pulled data
|
|
interval = "30s"
|
|
|
|
## Timeout for the ipmitool command to complete. Default is 20 seconds.
|
|
timeout = "20s"
|
|
```
|
|
|
|
### Measurements
|
|
|
|
- ipmi_sensor:
|
|
- tags:
|
|
- name
|
|
- unit
|
|
- server (only when retrieving stats from remote servers)
|
|
- fields:
|
|
- status (int)
|
|
- value (float)
|
|
|
|
|
|
#### Permissions
|
|
|
|
When gathering from the local system, Telegraf will need permission to the
|
|
ipmi device node. When using udev you can create the device node giving
|
|
`rw` permissions to the `telegraf` user by adding the following rule to
|
|
`/etc/udev/rules.d/52-telegraf-ipmi.rules`:
|
|
|
|
```
|
|
KERNEL=="ipmi*", MODE="660", GROUP="telegraf"
|
|
```
|
|
|
|
### Example Output
|
|
|
|
When retrieving stats from a remote server:
|
|
```
|
|
ipmi_sensor,server=10.20.2.203,unit=degrees_c,name=ambient_temp status=1i,value=20 1458488465012559455
|
|
ipmi_sensor,server=10.20.2.203,unit=feet,name=altitude status=1i,value=80 1458488465012688613
|
|
ipmi_sensor,server=10.20.2.203,unit=watts,name=avg_power status=1i,value=220 1458488465012776511
|
|
ipmi_sensor,server=10.20.2.203,unit=volts,name=planar_3.3v status=1i,value=3.28 1458488465012861875
|
|
ipmi_sensor,server=10.20.2.203,unit=volts,name=planar_vbat status=1i,value=3.04 1458488465013072508
|
|
ipmi_sensor,server=10.20.2.203,unit=rpm,name=fan_1a_tach status=1i,value=2610 1458488465013137932
|
|
ipmi_sensor,server=10.20.2.203,unit=rpm,name=fan_1b_tach status=1i,value=1775 1458488465013279896
|
|
```
|
|
|
|
When retrieving stats from the local machine (no server specified):
|
|
```
|
|
ipmi_sensor,unit=degrees_c,name=ambient_temp status=1i,value=20 1458488465012559455
|
|
ipmi_sensor,unit=feet,name=altitude status=1i,value=80 1458488465012688613
|
|
ipmi_sensor,unit=watts,name=avg_power status=1i,value=220 1458488465012776511
|
|
ipmi_sensor,unit=volts,name=planar_3.3v status=1i,value=3.28 1458488465012861875
|
|
ipmi_sensor,unit=volts,name=planar_vbat status=1i,value=3.04 1458488465013072508
|
|
ipmi_sensor,unit=rpm,name=fan_1a_tach status=1i,value=2610 1458488465013137932
|
|
ipmi_sensor,unit=rpm,name=fan_1b_tach status=1i,value=1775 1458488465013279896
|
|
```
|