swift-recon(1)
π swift-recon β the manual, but make it make sense π
okay bestie, sit down, hydrate, and let me tell you about swift-recon, aka the OpenStack Swift recon middleware cli tool. yes it's a mouthful. yes it's iconic. this is the page for section 1 of the manual, so buckle up π
β¨ NAME β¨
swift-recon β OpenStack Swift recon middleware cli tool π¦
πΈ SYNOPSIS πΈ
like, here's the whole vibe in one block:
swift-recon <server_type> [-v] [--suppress] [-a] [-r] [-u] [-d] [-l]
[-T] [--md5] [--auditor] [--updater] [--expirer] [--sockstat]
copy it exactly, no cap, every bracket matters π
π DESCRIPTION π
so the swift-recon cli tool is literally the girl who goes and retrieves various metrics and telemetry information about a cluster that has been collected by the swift-recon middleware. she's the messenger. she's the main character. she does not generate the data, she just shows up with receipts β¨
and here's the tea: if you actually wanna use the swift-recon middleware, you gotta update the object-server.conf file and enable the recon middleware by adding a pipeline entry and setting its option(s). the example section below has the details, so don't skip it, i'm watching π«Ά
π OPTIONS π
every single one, in order, no skipping. this is a full send.
<server_type>β your options areaccount|container|object. if you don't say anything it just Defaults to object server. she picks for you, she's confident like that π-h,--helpβ shows this help message and then dips. exit. gone. π-v,--verboseβ print verbose information, aka she tells you everything. oversharing as a service π£οΈ--suppressβ suppress most connection related errors. we're keeping it chill, we're not gonna spiral over every little hiccup π-a,--asyncβ get async stats π--auditorβ get auditor stats π--updaterβ get updater stats π--expirerβ get expirer stats β³-r,--replicationβ get replication stats πͺ-R,--reconstructionβ get reconstruction stats π§©-u,--unmountedβ check the cluster for unmounted devices π¨-d,--diskusageβ get disk usage stats πΎ--top=COUNTβ also show the topCOUNTentries in rank order. leaderboard behavior, we love a ranking π--lowest=COUNTβ also show the lowestCOUNTentries in rank order. someone's gotta be at the bottom, and we're gonna name names π--human-readableβ use human readable suffix for disk usage stats. numbers that actually fit in your brain, thank god π§-l,--loadstatsβ get cluster load average stats βοΈ-q,--quarantinedβ get cluster quarantine stats π¦--validate-serversβ validate servers on the ring β--md5β get md5sum of servers ring and compare to local copy. checksum girlies rise π--sockstatβ get cluster socket usage stats π§¦--driveauditβ get drive audit error stats π-T,--timeβ check time synchronization β°--swift-versionsβ check swift version π·οΈ--allβ perform all checks. and it's equivalent to-arudlqT --md5 --sockstat --auditor --updater --expirer --driveaudit --validate-servers --swift-versions. that's the whole menu, the whole platter, the entire vibe β¨--region=REGIONβ only query servers in specified region πΊοΈ-z ZONE,--zone=ZONEβ only query servers in specified zone π―-t SECONDS,--timeout=SECONDSβ time to wait for a response from a server. patience is a virtue but it is also a finite resource β±οΈ--swiftdir=PATHβ Default =/etc/swiftπ
π EXAMPLE π
here's her in her natural habitat, serving looks:
ubuntu:~$ swift-recon -q --zone 3
=================================================================
[2011-10-18 19:36:00] Checking quarantine dirs on 1 hosts...
[Quarantined objects] low: 4, high: 4, avg: 4, total: 4
[Quarantined accounts] low: 0, high: 0, avg: 0, total: 0
[Quarantined containers] low: 0, high: 0, avg: 0, total: 0
=================================================================
and then, finally β the way that you'd also wanna track asynchronous pending's β you will need to setup a cronjob to run the swift-recon-cron script periodically:
*/5 * * * * swift /usr/bin/swift-recon-cron /etc/swift/object-server.conf
that's the cron line. every 5 minutes. she's punctual. she has a schedule. she's booked and busy π
π DOCUMENTATION π
more documentation about OpenStack Swift can be found at https://docs.openstack.org/swift/latest/
also, more specific documentation about swift-recon can be found at https://docs.openstack.org/swift/latest/admin_guide.html
go read. i'll wait. bestie homework πβ¨
π«Ά SEE ALSO π«Ά
object-server.conf(5), β yes she's the one you gotta edit, we already said it, but the cross-reference is right there πΈ
okay that's the whole page!! this one was Linux, 8/26/2011, and it's filed under swift-recon(1) if you ever need to find her again. go forth, run your checks, and remember: rank order is a love language ππ bye bestie!!
π¦ where this page comes from
- debian bookworm: swift 2.30.1-0+deb12u1 Β· Apache-2
- debian bookworm: swift 2.30.1-0+deb12u3 Β· Apache-2
- debian trixie: swift 2.35.1-0+deb13u3 Β· Apache-2
- debian trixie: swift 2.35.1-0+deb13u4 Β· Apache-2
- nixos 26.05: python3.13-swift 2.37.1
- nixos 26.05: python3.14-swift 2.37.1
- nixpkgs unstable: python3.13-swift 2.38.3
- nixpkgs unstable: python3.14-swift 2.38.3
- ubuntu jammy: swift 2.29.1-0ubuntu1 Β· Apache-2
- ubuntu jammy: swift 2.29.2-0ubuntu1.1 Β· Apache-2
- ubuntu noble: swift 2.33.0-0ubuntu1 Β· Apache-2
- ubuntu noble: swift 2.33.0-0ubuntu1.1 Β· Apache-2
- ubuntu questing: swift 2.36.0-0ubuntu1
- ubuntu questing: swift 2.36.0-0ubuntu1.1
- ubuntu resolute: swift 2.37.1-0ubuntu2 Β· Apache-2
- ubuntu resolute: swift 2.37.1-0ubuntu2.1 Β· Apache-2
- ubuntu stonking: swift 2.38.2-0ubuntu1 Β· Apache-2
- Copyright (c) 2010-2011 OpenStack Foundation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms