summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/megacli/metadata.yaml
blob: 8e65059e0682390676b289eacfeb9fe0a94210db (plain)
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
# yaml-language-server: $schema=https://raw.githubusercontent.com/netdata/netdata/master/integrations/schemas/collection-single-module.json
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}