├── README.md └── snmp.yml /README.md: -------------------------------------------------------------------------------- 1 | ## Prometheus iDrac SNMP Exporter Dell Module 2 | 3 | I've generated a Dell iDrac Module for use with the Prometheus SNMP Exporter. A good use case for this is monitoring your ESXi system health via iDrac SNMP as vCenter plugins and golang binaries (for basic exporters) can't run on ESXi systems. I am going to assume most people already know how to use the prometheus snmp exporter below. 4 | 5 | ### How to use the Module 6 | 7 | 1. Copy the contents of snmp.yml in this repository into the snmp.yml file that the prometheus snmp exporter is using, or use the snmp.yml file as your configuration file for prometheus's snmp exporter if all you care about are Dell metrics. 8 | 2. Look below at how to configure your prometheus.yml file to use the `dell` module. 9 | 10 | 11 | ### Dell OID Status's 12 | Most Dell OID's will provide a integer as a value, the status of those integers are usually, for most cases, the following: 13 | More seen here: http://www.dell.com/support/manuals/us/en/19/dell-opnmang-srvr-admin-v8.2/snmp_idrac8-v4/idrac-mib?guid=guid-e686536d-bc8e-4e09-8e8b-de8eb052efee&lang=en-us 14 | ``` 15 | 1. Other 16 | 2. Unknown 17 | 3. OK 18 | 4. Non-critical 19 | 5. Critical 20 | 6. Non-recoverable 21 | ``` 22 | 23 | ### Prometheus.yml configuration 24 | 25 | Add the below to your prometheus.yaml file, this will use the dell module that we added to the snmp exporter. 26 | 27 | ``` 28 | - job_name: 'snmp' 29 | static_configs: 30 | - targets: 31 | - 'host.example.com' 32 | metrics_path: /snmp 33 | params: 34 | module: [dell_idrac] 35 | relabel_configs: 36 | - source_labels: [__address__] 37 | target_label: __param_target 38 | - source_labels: [__param_target] 39 | target_label: instance 40 | - target_label: __address__ 41 | replacement: 127.0.0.1:9116 # The SNMP exporter's real hostname:port. 42 | ``` 43 | -------------------------------------------------------------------------------- /snmp.yml: -------------------------------------------------------------------------------- 1 | dell_idrac: 2 | walk: 3 | - 1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.20 4 | - 1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.24 5 | - 1.3.6.1.4.1.674.10892.5.2.1 6 | - 1.3.6.1.4.1.674.10892.5.2.3 7 | - 1.3.6.1.4.1.674.10892.5.2.4 8 | metrics: 9 | #OID for your raid components status 10 | - name: idrac_virtualDiskComponentStatus 11 | oid: 1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.20 12 | type: gauge 13 | help: The status of the virtual disk itself without the propagation of any contained 14 | component status - 1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.20 15 | indexes: 16 | - labelname: virtualDiskNumber 17 | type: gauge 18 | #OID for your physical disk status 19 | - name: idrac_physicalDiskComponentStatus 20 | oid: 1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.24 21 | type: gauge 22 | help: The status of the physical disk itself without the propagation of any contained 23 | component status - 1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.24 24 | indexes: 25 | - labelname: physicalDiskNumber 26 | type: gauge 27 | #Global System Health 28 | - name: idrac_globalSystemStatus 29 | oid: 1.3.6.1.4.1.674.10892.5.2.1 30 | type: gauge 31 | help: This attribute defines the overall rollup status of all components in the 32 | system being monitored by the remote access card - 1.3.6.1.4.1.674.10892.5.2.1 33 | #Global Storage Health 34 | - name: idrac_globalStorageStatus 35 | oid: 1.3.6.1.4.1.674.10892.5.2.3 36 | type: gauge 37 | help: This attribute defines the overall storage status being monitored by the 38 | remote access card. - 1.3.6.1.4.1.674.10892.5.2.3 39 | #Global Power System Health 40 | - name: idrac_systemPowerState 41 | oid: 1.3.6.1.4.1.674.10892.5.2.4 42 | type: gauge 43 | help: This attribute defines the power state of the system. - 1.3.6.1.4.1.674.10892.5.2.4 44 | --------------------------------------------------------------------------------