Download - Open stack swift architecture and monitoring
AptiraOpenStack Architecture
and Monitoring
Indian Openstack users group 5th May 2012
● Explain OpenStack Swift Architecture● Look at key components to be monitored● Look at various options available that work
today
Agenda
– Diagram
OpenStack Architecture
• Proxy Server
• The Ring
• The Object Server/Storage nodes
• Account Server
• Replication
• Updaters and Auditors
Swift Components
● Hardware failure
● Operating System failure
● Swift Cluster health
● Swift Cluster telemetry
What to monitor?
● Hard drive failure detection in Swift
Use swift-drive-audit
•Other Common metrics like
• CPU usage
• RAM usage
• Network usage etc.
Hardware Failure and Operating Systems
● Use swift-dispersion-report tool
Based on config file /etc/swift/dispersion.conf
OpenStack Swift Cluster health monitoring
● swift-recon middleware
The Swift Recon middleware can provide general machine stats (load average, socket stats, /proc/meminfo contents, etc.) as well as Swift-specific metrics:
The MD5 sum of each ring file.
The most recent object replication time.
Count of each type of quarantined file: account, container, or object.
Count of “async_pendings” (deferred container updates) on disk.
Cluster Telemetry and Monitoring
Config section to be added in object-server.conf
Following information available
Swift-Recon
● A lot of development going on around OpenStack in the community. Existing enterprise grade systems have written modules for OpenStack
● Nagios
● Zenoss
What works today?
● Nagios Exchange Addon check_swift
– http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
● The components
– check_swift : tries to upload, download and delete a file in a Swift container to check that it works correctly
– check_swift_dispersion: uses swift-dispersion tools to report dispersion analysis and checks that all copies of objects are OK
– check_swift_object_servers : uses swift-recon to query all clusters servers and ensure they all have the same copy of the object ring.
● Compatible with Nagios 3.x
What works today?
● Zenoss Zen Pack Open Stack Swift
– https://github.com/zenoss/ZenPacks.zenoss.OpenStackSwift
● All of the monitoring currently performance is done 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.
● Compatible with versions 3.2 to 4.0
What works today?
The End
Questions?