SwiftStack Monitoring
Last updated on 02 October, 2024Overview
LogicMonitor’s SwiftStack monitoring package leverages the SwiftStack Controller API to monitor a large number of storage utilization, CPU, load, and performance metrics.
Setup Requirements
Add Resources Into Monitoring
Add your SwiftStack resource into monitoring. For more information on adding resources into monitoring, see Adding Devices.
Obtain Credentials
LogicMonitor must provide the appropriate credentials in order to successfully access the SwiftStack resource. These credentials must belong to a SwiftStack user account that has been assigned the following permissions:
Role | Description |
Read-only | These identities can read everything (except privileged headers) in the account. Specifically, a user with read-only account access can get a list of containers in the account, list the contents of any container, retrieve any object, and see the (non-privileged) headers of the account, any container, or any object. |
Assign Properties to Resources
The following custom properties must be set on the SwiftStack resource within LogicMonitor. For more information on setting properties, see Resource and Instance Properties.
Property | Value | Required? |
swiftstack.user | SwiftStack read-only username | Required |
swiftstack.pass | SwiftStack read-only password | Required |
Migration from Legacy LogicModules
In July of 2020, LogicMonitor released several new SwiftStack DataSources. The new DataSources contained optimizations and updates that required significant refactoring, resulting in the deprecation of the following five legacy DataSources.
Deprecated | Replaced by |
SwiftStack_Cluster_AccountStorageUsage | SwiftStack_Cluster_AccountStorageUtlization |
SwiftStack_Cluster_AccountTransferUtilization | SwiftStack_Cluster_AccountTransferUsage |
SwiftStack_Cluster_PolicyAccountStorageUsage | SwiftStack_Cluster_PolicyAccountStorageUtlization |
SwiftStack_Cluster_PolicyCapacity | SwiftStack_Cluster_PolicyUsage |
SwiftStack_Cluster_PolicyStorageUsage | SwiftStack_Cluster_PolicyStorageUtilization |
If you are currently using any of these legacy DataSources, you will not experience data loss upon importing the new DataSources. This is because DataSource names have been changed to eliminate module overwriting.
However, you will collect duplicate data and receive duplicate alerts for as long as both sets of DataSources are active. For this reason, we recommend that you disable the above-listed DataSources after importing the new set of DataSources and confirming that they are working as intended in your environment.
When a DataSource is disabled, it stops querying the host and generating alerts, but maintains all historical data. At some point in time, you may want to delete the legacy DataSources altogether, but consider this move carefully as all historical data will be lost upon deletion. For more information on disabling DataSources, see Disabling Monitoring for a DataSource or Instance.
LogicModules in Package
LogicMonitor’s package for SwiftStack consists of the following LogicModules. For full coverage, please ensure that all of these LogicModules are imported into your LogicMonitor platform.
Display Name | Type | Description |
addCategory_SwiftStack | PropertySource | Sets appropriate category for the system.categories property if device is SwiftStack controller or node with access to SwiftStack API. |
SwiftStack User Database Deployment Job State | DataSource | Collects user database deployment job state metrics. The User Database Deployment Job puts a request into the queue to push the newly created Accounts (Users) to the Cluster’s Nodes. The state of the Job, once created, can be one of the following with corresponding equated datapoint: NEW = 3 QUEUED = 2 IN_PROGRESS = 1 COMPLETED_SUCCESS = 0 COMPLETED_FAILED = -1 |
SwiftStack Node Performance | DataSource | Collects per-cluster node CPU, load, and RAM metrics. |
SwiftStack Gateway Deployment Job State | DataSource | Collects gateway database deployment job state metrics. The Gateway Deployment Job puts a request into the queue to deploy the configuration to the specific gateway node. |
SwiftStack Cluster Total Transfer Utilization | DataSource | Collects per-cluster total transfer utilization metrics. For a given cluster, aggregates transfer utilization data for all accounts in the cluster over the specified time ranges. |
SwiftStack Cluster Policy Usage | DataSource | Collects per-cluster, per-policy disk capacity metrics. |
SwiftStack Cluster Policy Storage Utilization | DataSource | Collects per-cluster, per-policy storage usage metrics over the specified time ranges over all Swift accounts. For a given cluster and Swift storage policy index, aggregates storage utilization data for all accounts over the specified time range. |
SwiftStack Cluster Policy Account Storage Utilization | DataSource | Collects per-cluster, per-policy storage utilization metrics over the specified time ranges for each Swift account. For a given cluster and Swift storage policy index, aggregates storage utilization data for each account over the specified time range. |
SwiftStack Cluster Performance | DataSource | Collects per-cluster disk, CPU, and load metrics. |
SwiftStack Cluster Account Transfer Usage | DataSource | Collects per-cluster, per-account transfer utilization metrics. For a given cluster, lists summarized storage utilization data for all accounts during the specified time range. |
SwiftStack Cluster Account Storage Utilization | DataSource | Collects per-cluster storage utilization metrics over the specified time ranges for each Swift account across policies. For a given cluster and Swift storage policy index, aggregates storage utilization data for each account over the specified time range. |
The DataSources in this package do not include predefined datapoint thresholds (that is, no alerts will trigger based on collected data). This is because the technology owner has not provided KPIs that can be reliably extended to the majority of users. If you’d like to receive alerts for collected data, you’ll need to manually create custom thresholds, as discussed in Tuning Static Thresholds for Datapoints.