plugin_name: python.d.plugin modules: - meta: plugin_name: python.d.plugin module_name: hpssa monitored_instance: name: HP Smart Storage Arrays link: 'https://buy.hpe.com/us/en/software/server-management-software/server-management-software/smart-array-management-software/hpe-smart-storage-administrator/p/5409020' categories: - data-collection.storage-mount-points-and-filesystems icon_filename: 'hp.svg' related_resources: integrations: list: [] info_provided_to_referring_integrations: description: '' keywords: - storage - hp - hpssa - array most_popular: false overview: data_collection: metrics_description: 'This collector monitors HP Smart Storage Arrays metrics about operational statuses and temperatures.' method_description: 'It uses the command line tool `ssacli`. The exact command used is `sudo -n ssacli ctrl all show config detail`' supported_platforms: include: [] exclude: [] multi_instance: false additional_permissions: description: '' default_behavior: auto_detection: description: 'If no configuration is provided, the collector will try to execute the `ssacli` binary.' limits: description: '' performance_impact: description: '' setup: prerequisites: list: - title: 'Enable the hpssa collector' description: | The `hpssa` collector is disabled by default. To enable it, use `edit-config` from the Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration.md), which is typically at `/etc/netdata`, to edit the `python.d.conf` file. ```bash cd /etc/netdata # Replace this path with your Netdata config directory, if different sudo ./edit-config python.d.conf ``` Change the value of the `hpssa` setting to `yes`. Save the file and restart the Netdata Agent with `sudo systemctl restart netdata`, or the [appropriate method](https://github.com/netdata/netdata/blob/master/packaging/installer/README.md#maintaining-a-netdata-agent-installation) for your system. - title: 'Allow user netdata to execute `ssacli` as root.' description: | This module uses `ssacli`, which can only be executed by root. It uses `sudo` and assumes that it is configured such that the `netdata` user can execute `ssacli` as root without a password. - Add to your `/etc/sudoers` file: `which ssacli` shows the full path to the binary. ```bash netdata ALL=(root) NOPASSWD: /path/to/ssacli ``` - Reset Netdata's systemd unit [CapabilityBoundingSet](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Capabilities) (Linux distributions with systemd) 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 `ssacli` using `sudo`. As the `root` user, do the following: ```cmd 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/hpssa.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: name description: Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works. default_value: '' required: false - name: ssacli_path description: Path to the `ssacli` command line utility. Configure this if `ssacli` is not in the $PATH default_value: '' required: false - name: use_sudo description: Whether or not to use `sudo` to execute `ssacli` default_value: 'True' required: false examples: folding: enabled: false title: "Config" list: - name: Local simple config description: A basic configuration, specyfing the path to `ssacli` folding: enabled: false config: | local: ssacli_path: /usr/sbin/ssacli troubleshooting: problems: list: [] alerts: [] metrics: folding: title: Metrics enabled: false description: "" availability: [] scopes: - name: global description: "These metrics refer to the entire monitored application." labels: [] metrics: - name: hpssa.ctrl_status description: Status 1 is OK, Status 0 is not OK unit: "Status" chart_type: line dimensions: - name: ctrl_{adapter slot}_status - name: cache_{adapter slot}_status - name: battery_{adapter slot}_status per adapter - name: hpssa.ctrl_temperature description: Temperature unit: "Celsius" chart_type: line dimensions: - name: ctrl_{adapter slot}_temperature - name: cache_{adapter slot}_temperature per adapter - name: hpssa.ld_status description: Status 1 is OK, Status 0 is not OK unit: "Status" chart_type: line dimensions: - name: a dimension per logical drive - name: hpssa.pd_status description: Status 1 is OK, Status 0 is not OK unit: "Status" chart_type: line dimensions: - name: a dimension per physical drive - name: hpssa.pd_temperature description: Temperature unit: "Celsius" chart_type: line dimensions: - name: a dimension per physical drive