1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
plugin_name: python.d.plugin
modules:
- meta:
plugin_name: python.d.plugin
module_name: megacli
monitored_instance:
name: MegaCLI
link: "https://wikitech.wikimedia.org/wiki/MegaCli"
categories:
- data-collection.storage-mount-points-and-filesystems
icon_filename: "hard-drive.svg"
related_resources:
integrations:
list: []
info_provided_to_referring_integrations:
description: ""
keywords:
- storage
- raid-controller
- manage-disks
most_popular: false
overview:
data_collection:
metrics_description: "Examine MegaCLI metrics with Netdata for insights into RAID controller performance. Improve your RAID controller efficiency with real-time MegaCLI metrics."
method_description: |
Collects adapter, physical drives and battery stats using megacli command-line tool
Executed commands:
- `sudo -n megacli -LDPDInfo -aAll`
- `sudo -n megacli -AdpBbuCmd -a0`
supported_platforms:
include: []
exclude: []
multi_instance: false
additional_permissions:
description: "The module uses megacli, which can only be executed by root. It uses sudo and assumes that it is configured such that the netdata user can execute megacli as root without a password."
default_behavior:
auto_detection:
description: "After all the permissions are satisfied, netdata should be to execute commands via the megacli command line utility"
limits:
description: ""
performance_impact:
description: ""
setup:
prerequisites:
list:
- title: Grant permissions for netdata, to run megacli as sudoer
description: |
The module uses megacli, which can only be executed by root. It uses sudo and assumes that it is configured such that the netdata user can execute megacli as root without a password.
Add to your /etc/sudoers file:
which megacli shows the full path to the binary.
```bash
netdata ALL=(root) NOPASSWD: /path/to/megacli
```
- title: "Reset Netdata's systemd unit CapabilityBoundingSet (Linux distributions with systemd)"
description: |
The default CapabilityBoundingSet doesn't allow using sudo, and is quite strict in general. Resetting is not optimal, but a next-best solution given the inability to execute arcconf using sudo.
As root user, do the following:
```bash
mkdir /etc/systemd/system/netdata.service.d
echo -e '[Service]\nCapabilityBoundingSet=~' | tee /etc/systemd/system/netdata.service.d/unset-capability-bounding-set.conf
systemctl daemon-reload
systemctl restart netdata.service
```
configuration:
file:
name: "python.d/megacli.conf"
options:
description: |
There are 2 sections:
* Global variables
* One or more JOBS that can define multiple different instances to monitor.
The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
folding:
title: "Config options"
enabled: true
list:
- name: update_every
description: Sets the default data collection frequency.
default_value: 5
required: false
- name: priority
description: Controls the order of charts at the netdata dashboard.
default_value: 60000
required: false
- name: autodetection_retry
description: Sets the job re-check interval in seconds.
default_value: 0
required: false
- name: penalty
description: Indicates whether to apply penalty to update_every in case of failures.
default_value: yes
required: false
- name: do_battery
description: default is no. Battery stats (adds additional call to megacli `megacli -AdpBbuCmd -a0`).
default_value: no
required: false
examples:
folding:
enabled: true
title: "Config"
list:
- name: Basic
folding:
enabled: false
description: A basic example configuration per job
config: |
job_name:
name: myname
update_every: 1
priority: 60000
penalty: yes
autodetection_retry: 0
troubleshooting:
problems:
list: []
alerts:
- name: megacli_adapter_state
link: https://github.com/netdata/netdata/blob/master/health/health.d/megacli.conf
metric: megacli.adapter_degraded
info: "adapter is in the degraded state (0: false, 1: true)"
- name: megacli_pd_media_errors
link: https://github.com/netdata/netdata/blob/master/health/health.d/megacli.conf
metric: megacli.pd_media_error
info: number of physical drive media errors
- name: megacli_pd_predictive_failures
link: https://github.com/netdata/netdata/blob/master/health/health.d/megacli.conf
metric: megacli.pd_predictive_failure
info: number of physical drive predictive failures
- name: megacli_bbu_relative_charge
link: https://github.com/netdata/netdata/blob/master/health/health.d/megacli.conf
metric: megacli.bbu_relative_charge
info: average battery backup unit (BBU) relative state of charge over the last 10 seconds
- name: megacli_bbu_cycle_count
link: https://github.com/netdata/netdata/blob/master/health/health.d/megacli.conf
metric: megacli.bbu_cycle_count
info: average battery backup unit (BBU) charge cycles count over the last 10 seconds
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: global
description: "These metrics refer to the entire monitored application."
labels: []
metrics:
- name: megacli.adapter_degraded
description: Adapter State
unit: "is degraded"
chart_type: line
dimensions:
- name: a dimension per adapter
- name: megacli.pd_media_error
description: Physical Drives Media Errors
unit: "errors/s"
chart_type: line
dimensions:
- name: a dimension per physical drive
- name: megacli.pd_predictive_failure
description: Physical Drives Predictive Failures
unit: "failures/s"
chart_type: line
dimensions:
- name: a dimension per physical drive
- name: battery
description: "Metrics related to Battery Backup Units, each BBU provides its own set of the following metrics."
labels: []
metrics:
- name: megacli.bbu_relative_charge
description: Relative State of Charge
unit: "percentage"
chart_type: line
dimensions:
- name: adapter {battery id}
- name: megacli.bbu_cycle_count
description: Cycle Count
unit: "cycle count"
chart_type: line
dimensions:
- name: adapter {battery id}
|