-
ZenPacks.zenoss.OpenStackSwift-4.2.5_0.7.0-1.lbn19.noarch
All monitoring is performed through the optional swift-recon API endpoint that can be enabled on all of your Swift object servers. Before using this ZenPack you must install and configure swift-recon on your Swift object servers.
Usage
Installing the ZenPack will add the following objects to your Zenoss system.
Configuration Properties
zSwiftObjectServerPort: Listening port of swift-object-server. Defaults to 6000.
Monitoring Templates
SwiftObjectServer in /Devices
Process Classes
OpenStack/Swift
swift-account-auditor
swift-account-reaper
swift-account-replicator
swift-account-server
swift-container-auditor
swift-container-replicator
swift-container-server
swift-container-sync
swift-container-updater
swift-object-auditor
swift-object-replicator
swift-object-server
swift-object-updater
swift-proxy-server
Event Classes
/Status/Swift
/Perf/Swift
The zSwiftObjectServerPort property is used by the SwiftObjectServer monitoring template to control what port it will attempt to find the recon API on. Normally the default of 6000/tcp will work unless you've chosen a different port for your swift-object-server process.
By default the SwiftObjectServer monitoring template will not be bound to any devices. To make use of it you will need to either bind it directly to your Swift object server devices, or put your object servers into their own device class and bind the template to that device class. Typically this will be under either /Server/Linux or /Server/SSH/Linux so you get normal operating system monitoring in addition to the Swift-specific monitoring.
Swift Metrics
Assuming you have swift-recon and Zenoss setup properly you can expect to see the following extra graphs on your Swift object servers.
Swift Object Server - Async Pending
Trend of asynchronous pending tasks. When a Swift proxy server updates an object it attempts to synchronously update the object's container with the new object information. There is a three second timeout on this task and if it can't be completed in that time, it will be put into an asynchronous pending bucket to be executed later. By trending and thresholding on how many tasks are pending you can get an early read on cluster performance problems. By default a maximum threshold of 10 is set on this metric and will raise a warning severity event in the /Perf/Swift event class when it is breached.
Swift Object Server - Disks
Trend of total and unmounted disks on the storage node. Swift's mechanism for detecting failing or failed drives and taking them offline is to unmount them. By proactively monitoring for unmounted disks and replacing them you can keep your cluster healthy. By default a maximum threshold of 0 is set on unmounted disks and will raise a warning severity event in the /Status/Swift event class.
Swift Object Server - Quarantine
Trend of accounts, containers and objects that have been quarantined. Swift has an auditor process that will find corrupt items and move them into a quarantine area so good objects will be replicated back into their place.
Sudden increases in quarantined items can indicate hardware problems on storage nodes. Additionally quarantine is not automatically pruned and can result in some storage nodes filling up their disk at a faster rate than others and running out of space. By default a maximum threshold of 100 is set individually on quarantined accounts, containers and objects. A warning event will be raised in the /Status/Swift event class if it is breached.
Swift Object Server - Replication Time
Trend of replication time. Swift has a replicator process that cycles continually. If a single replication cycle takes more than 30 minutes it can reduce the resiliency of the cluster. By default a maximum threshold of 30 minutes is set on replication time and will raise a warning severity event in the /Perf/Swift event class when breached.
Swift Object Server - Load Averages
Trend of 1, 5 and 15 minute operating system load average. Additionally the 15 minute load average divided by total disks is calculated. A perfectly efficient storage node will run at a load average of 1.0 per disk. By default a maximum treshold of 2.0 is set on 15 minute load average divided by total disks and will raise a warning severity event in the /Perf/Swift event class when breached.
Swift Object Server - Process Churn
Trend of processes created per second. High process churn can indicate a broken process being unnecessarily restarted. By default a maximum treshold of 100 processes per second is set and will raise a warning severity event in the /Perf/Swift event class when breached.
Swift Object Server - Disk Usages
Trend of maximum, average and minimum disk usage for all disks in the storage node. These are the primary storage capacity metrics within a cluster. Depending on the size of each individual disk, weights and the skew of store object sizes, an entire cluster can exceed capacity if a single disk runs out of capacity. By default a maximum threshold is set on the maximum usage metric. It will raise a warning severity in the /Status/Swift event class when breached.
Swift Object Server - Disk Sizes
Trend of maximum, average and minimum disk sizes for all disks in the storage node. Ideally all disks in a storage node will be the same size unless weights are closely managed. No default thresholds are set on these metrics.
Swift Object Server - Processes
Trend of total and running processes. No default thresholds are set on these metrics.
Process Monitoring
All Swift processes will be discovered and monitored based on the process classes listed above. If one of the processes is found to not be running on a node where it should be, an error severity event will be raised in the /Status/OSProcess event class.
Each of the individual Swift process will also be monitored for its CPU and memory utilization.
Located in
LBN
/
…
/
Zenoss 4
/
BastionLinux 19
-
ZenPacks.zenoss.PostgreSQL-4.2.5_1.0.8dev-1.lbn13.noarch
Once the PostgreSQL ZenPack is installed you will have the following new
zProperties which should be set either for device classes or individual
devices.
* zPostgreSQLPort - Port where PostgreSQL is listening. Default: 5432
* zPostgreSQLUseSSL - Whether to use SSL or not. Default: False
* zPostgreSQLUsername - Must be a superuser. Default: postgres
* zPostgreSQLPassword - Password for user. No default.
In addition to setting these properties you must add the zenoss.PostgreSQL
modeler plugin to a device class or individual device. This modeler plugin
will discover all databases and tables using the connectivity information
provided through the above settings. Each database and table will
automatically be monitored.
The following elements are discovered:
* Databases
* Tables
The following performance metrics are collected.
* Server
* Summaries of all databases and tables.
* Databases
* Latencies
* Connection
* SELECT 1
* Connections
* Total
* Active
* Idle
* Durations
* Active Transactions (min/avg/max)
* Idle Transactions (min/avg/max)
* Queries (min/avg/max)
* Size
* Backends
* Efficiencies
* Transaction Rollback Percentage
* Tuple Fetch Percentage
* Transaction Rates
* Commits/sec
* Rollbacks/sec
* Tuple Rates
* Returned/sec
* Fetched/sec
* Inserted/sec
* Updated/sec
* Deleted/sec
* Locks
* Total
* Granted
* Waiting
* Exclusive
* AccessExclusive
* Summaries of all tables.
* Tables
* Scan Rates
* Sequential/sec
* Indexed/sec
* Tuple Rates
* Sequentially Read/sec
* Index Fetched/sec
* Inserted/sec
* Updated/sec
* Hot Updated/sec
* Deleted/sec
* Tuples
* Live
* Dead
Located in
LBN
/
…
/
Zenoss 4
/
BastionLinux 13
-
ZenPacks.zenoss.PostgreSQL-5.0.5_1.0.9dev-1.lbn19.noarch
Once the PostgreSQL ZenPack is installed you will have the following new
zProperties which should be set either for device classes or individual
devices.
* zPostgreSQLPort - Port where PostgreSQL is listening. Default: 5432
* zPostgreSQLUseSSL - Whether to use SSL or not. Default: False
* zPostgreSQLUsername - Must be a superuser. Default: postgres
* zPostgreSQLPassword - Password for user. No default.
In addition to setting these properties you must add the zenoss.PostgreSQL
modeler plugin to a device class or individual device. This modeler plugin
will discover all databases and tables using the connectivity information
provided through the above settings. Each database and table will
automatically be monitored.
The following elements are discovered:
* Databases
* Tables
The following performance metrics are collected.
* Server
* Summaries of all databases and tables.
* Databases
* Latencies
* Connection
* SELECT 1
* Connections
* Total
* Active
* Idle
* Durations
* Active Transactions (min/avg/max)
* Idle Transactions (min/avg/max)
* Queries (min/avg/max)
* Size
* Backends
* Efficiencies
* Transaction Rollback Percentage
* Tuple Fetch Percentage
* Transaction Rates
* Commits/sec
* Rollbacks/sec
* Tuple Rates
* Returned/sec
* Fetched/sec
* Inserted/sec
* Updated/sec
* Deleted/sec
* Locks
* Total
* Granted
* Waiting
* Exclusive
* AccessExclusive
* Summaries of all tables.
* Tables
* Scan Rates
* Sequential/sec
* Indexed/sec
* Tuple Rates
* Sequentially Read/sec
* Index Fetched/sec
* Inserted/sec
* Updated/sec
* Hot Updated/sec
* Deleted/sec
* Tuples
* Live
* Dead
Located in
LBN
/
…
/
Zenoss 5
/
BastionLinux 19
-
ZenPacks.zenoss.PostgreSQL-4.2.5_1.0.8dev-1.lbn19.noarch
Once the PostgreSQL ZenPack is installed you will have the following new
zProperties which should be set either for device classes or individual
devices.
* zPostgreSQLPort - Port where PostgreSQL is listening. Default: 5432
* zPostgreSQLUseSSL - Whether to use SSL or not. Default: False
* zPostgreSQLUsername - Must be a superuser. Default: postgres
* zPostgreSQLPassword - Password for user. No default.
In addition to setting these properties you must add the zenoss.PostgreSQL
modeler plugin to a device class or individual device. This modeler plugin
will discover all databases and tables using the connectivity information
provided through the above settings. Each database and table will
automatically be monitored.
The following elements are discovered:
* Databases
* Tables
The following performance metrics are collected.
* Server
* Summaries of all databases and tables.
* Databases
* Latencies
* Connection
* SELECT 1
* Connections
* Total
* Active
* Idle
* Durations
* Active Transactions (min/avg/max)
* Idle Transactions (min/avg/max)
* Queries (min/avg/max)
* Size
* Backends
* Efficiencies
* Transaction Rollback Percentage
* Tuple Fetch Percentage
* Transaction Rates
* Commits/sec
* Rollbacks/sec
* Tuple Rates
* Returned/sec
* Fetched/sec
* Inserted/sec
* Updated/sec
* Deleted/sec
* Locks
* Total
* Granted
* Waiting
* Exclusive
* AccessExclusive
* Summaries of all tables.
* Tables
* Scan Rates
* Sequential/sec
* Indexed/sec
* Tuple Rates
* Sequentially Read/sec
* Index Fetched/sec
* Inserted/sec
* Updated/sec
* Hot Updated/sec
* Deleted/sec
* Tuples
* Live
* Dead
Located in
LBN
/
…
/
Network Monitoring
/
BastionLinux 19
-
ZenPacks.zenoss.PostgreSQL-4.2.5_1.0.8dev-1.lbn19.noarch
Once the PostgreSQL ZenPack is installed you will have the following new
zProperties which should be set either for device classes or individual
devices.
* zPostgreSQLPort - Port where PostgreSQL is listening. Default: 5432
* zPostgreSQLUseSSL - Whether to use SSL or not. Default: False
* zPostgreSQLUsername - Must be a superuser. Default: postgres
* zPostgreSQLPassword - Password for user. No default.
In addition to setting these properties you must add the zenoss.PostgreSQL
modeler plugin to a device class or individual device. This modeler plugin
will discover all databases and tables using the connectivity information
provided through the above settings. Each database and table will
automatically be monitored.
The following elements are discovered:
* Databases
* Tables
The following performance metrics are collected.
* Server
* Summaries of all databases and tables.
* Databases
* Latencies
* Connection
* SELECT 1
* Connections
* Total
* Active
* Idle
* Durations
* Active Transactions (min/avg/max)
* Idle Transactions (min/avg/max)
* Queries (min/avg/max)
* Size
* Backends
* Efficiencies
* Transaction Rollback Percentage
* Tuple Fetch Percentage
* Transaction Rates
* Commits/sec
* Rollbacks/sec
* Tuple Rates
* Returned/sec
* Fetched/sec
* Inserted/sec
* Updated/sec
* Deleted/sec
* Locks
* Total
* Granted
* Waiting
* Exclusive
* AccessExclusive
* Summaries of all tables.
* Tables
* Scan Rates
* Sequential/sec
* Indexed/sec
* Tuple Rates
* Sequentially Read/sec
* Index Fetched/sec
* Inserted/sec
* Updated/sec
* Hot Updated/sec
* Deleted/sec
* Tuples
* Live
* Dead
Located in
LBN
/
…
/
Zenoss 4
/
BastionLinux 19
-
ZenPacks.zenoss.PySamba-4.2.4_1.0.2-6.lbn13.x86_64
This package provides the python interface to the Samba C library and
executable targets used by other ZenPacks for Windows device monitoring.
This package does not itself provide any additional functionality for Zenoss.
Located in
LBN
/
…
/
Zenoss 4
/
BastionLinux 13
-
ZenPacks.zenoss.PythonCollector-4.2.5_1.6.0-4.lbn13.noarch
This ZenPack provides a new Python data source type. It also provides a new zenpython collector daemon that is responsible for collecting these data sources.
The goal of the Python data source type is to replicate some of the standard COMMAND data source type's functionality without requiring a new shell and shell subprocess to be spawned each time the data source is collected. The COMMAND data source type is infinitely flexible, but because of the shell and subprocess spawning, it's performance and ability to pass data into the collection script are limited. The Python data source type circumvents the need to spawn subprocesses by forcing the collection code to be asynchronous using the Twisted library. It circumvents the problem with passing data into the collection logic by being able to pass any basic Python data type without the need to worry about shell escaping issues.
The Python data source type is intended to be used in one of two ways. The first way is directly through the creation of Python data sources through the web interface or in a ZenPack. When used in this way, it is the responsibility of the data source creator to implement the required Python class specified in the data source's Python Class Name property field. The second way the Python data source can be used is as a base class for another data source type. Used in this way, the ZenPack author will create a subclass of PythonDataSource to provide a higher-level functionality to the user. The user is then not responsible for writing a Python class to collect and process data.
Located in
LBN
/
…
/
Zenoss 4
/
BastionLinux 13
-
ZenPacks.zenoss.PythonCollector-5.0.5_1.8.0dev-4.lbn19.noarch
This ZenPack provides a new Python data source type. It also provides a new zenpython collector daemon that is responsible for collecting these data sources.
The goal of the Python data source type is to replicate some of the standard COMMAND data source type's functionality without requiring a new shell and shell subprocess to be spawned each time the data source is collected. The COMMAND data source type is infinitely flexible, but because of the shell and subprocess spawning, it's performance and ability to pass data into the collection script are limited. The Python data source type circumvents the need to spawn subprocesses by forcing the collection code to be asynchronous using the Twisted library. It circumvents the problem with passing data into the collection logic by being able to pass any basic Python data type without the need to worry about shell escaping issues.
The Python data source type is intended to be used in one of two ways. The first way is directly through the creation of Python data sources through the web interface or in a ZenPack. When used in this way, it is the responsibility of the data source creator to implement the required Python class specified in the data source's Python Class Name property field. The second way the Python data source can be used is as a base class for another data source type. Used in this way, the ZenPack author will create a subclass of PythonDataSource to provide a higher-level functionality to the user. The user is then not responsible for writing a Python class to collect and process data.
Located in
LBN
/
…
/
Zenoss 5
/
BastionLinux 19
-
ZenPacks.zenoss.PythonCollector-4.2.5_1.6.0-4.lbn19.noarch
This ZenPack provides a new Python data source type. It also provides a new zenpython collector daemon that is responsible for collecting these data sources.
The goal of the Python data source type is to replicate some of the standard COMMAND data source type's functionality without requiring a new shell and shell subprocess to be spawned each time the data source is collected. The COMMAND data source type is infinitely flexible, but because of the shell and subprocess spawning, it's performance and ability to pass data into the collection script are limited. The Python data source type circumvents the need to spawn subprocesses by forcing the collection code to be asynchronous using the Twisted library. It circumvents the problem with passing data into the collection logic by being able to pass any basic Python data type without the need to worry about shell escaping issues.
The Python data source type is intended to be used in one of two ways. The first way is directly through the creation of Python data sources through the web interface or in a ZenPack. When used in this way, it is the responsibility of the data source creator to implement the required Python class specified in the data source's Python Class Name property field. The second way the Python data source can be used is as a base class for another data source type. Used in this way, the ZenPack author will create a subclass of PythonDataSource to provide a higher-level functionality to the user. The user is then not responsible for writing a Python class to collect and process data.
Located in
LBN
/
…
/
Network Monitoring
/
BastionLinux 19
-
ZenPacks.zenoss.PythonCollector-4.2.5_1.6.0-4.lbn19.noarch
This ZenPack provides a new Python data source type. It also provides a new zenpython collector daemon that is responsible for collecting these data sources.
The goal of the Python data source type is to replicate some of the standard COMMAND data source type's functionality without requiring a new shell and shell subprocess to be spawned each time the data source is collected. The COMMAND data source type is infinitely flexible, but because of the shell and subprocess spawning, it's performance and ability to pass data into the collection script are limited. The Python data source type circumvents the need to spawn subprocesses by forcing the collection code to be asynchronous using the Twisted library. It circumvents the problem with passing data into the collection logic by being able to pass any basic Python data type without the need to worry about shell escaping issues.
The Python data source type is intended to be used in one of two ways. The first way is directly through the creation of Python data sources through the web interface or in a ZenPack. When used in this way, it is the responsibility of the data source creator to implement the required Python class specified in the data source's Python Class Name property field. The second way the Python data source can be used is as a base class for another data source type. Used in this way, the ZenPack author will create a subclass of PythonDataSource to provide a higher-level functionality to the user. The user is then not responsible for writing a Python class to collect and process data.
Located in
LBN
/
…
/
Zenoss 4
/
BastionLinux 19