PowerFlex: PFMP_SUPPORT – Verktyg för insamling av supportpaket
Résumé: pfmp_support – samla in PowerFlex Manager-diagnostikdata och packa ner dem i ett supportpaket
Instructions
pfmp_support[ALTERNATIV]
BESKRIVNING
pfmp_support är ett diagnostikverktyg som samlar in felsökningsinformation från en PowerFlex Manager- eller PowerFlex Manager Installer-värd och arkiverar den i ett komprimerat paket för analys av supportpersonal.
Verktyget samlar in data från flera källor, inklusive:
- Diagnostikdata, konfiguration och loggar för Kubernetes
- Information om Helm-version
- Docker- och containerkörningsdata
- Installationsloggar för PowerFlex Manager
- Operativsystemets konfiguration, loggar och körningsstatus
- Maskinvaruinventering
När du samlar in data från flera Kubernetes-klusternoder bör ett standardpaket (--skip-kubernetes-shared inte anges) samlas in från minst en nod, där kubectl och helm är tillgängliga och med åtkomst till Kubernetes-kontrollplanet. På efterföljande noder --skip-kubernetes-shared användas för att minska storleken på de insamlade uppgifterna.
Det resulterande paketet är ett enda komprimerat arkiv (tar/gz som standard) som kan överföras till PowerFlex-support för vidare analys.
Endast en instans av pfmp_support kan köras på en värd åt gången. Om det inte finns tillräckligt med ledigt utrymme för dess utdata kommer den att vägra att köras (såvida inte utrymmeskontroll uttryckligen hoppas över).
ALTERNATIV
Allmänna alternativ
-
-A DIR, --installer-root-path=DIR
Använd DIR som baskatalog för PowerFlex Manager Installer. Användbart när du samlar in PowerFlex-installationsdata och installationsbehållaren (
atlantic_installer) körs inte. Standard: identifieras automatiskt, eller/var. -
-d OUT_DIR, --output-dir=OUT_DIR
Lagra det resulterande paketet under katalogen OUT_DIR. Default:
<WORK_DIR>/powerflex-pfmpsupport(se --work-dir). -
-h, --help
Visa hjälpmeddelandet och avsluta. I kombination med --tech, kan du även visa teknikeralternativ.
-
-J, --xz
Använd tar/xz-format för det insamlade paketet i stället för standard-tar/gz. Ignoreras om systemets
tar(1)Stöder inte--use-compress-programellerxz(1)hittades inte. -
-n NAMNRYMD,--namnrymd=NAMNRYMD
Samla in ytterligare data från programspecifik Kubernetes-namnrymd NAMESPACE. Default:
powerflex. -
-N, --skip-blankstegskontroll
Hoppa över verifiering av ledigt diskutrymme före datainsamling.
-
-P SÖKVÄG,--collect-path=SÖKVÄG
Samla in den ytterligare sökvägen PATH. Endast absoluta sökvägar accepteras. Jokertecken accepteras. Jokertecken ska anges. Det här alternativet kan anges flera gånger för att samla in flera sökvägar.
-
-q, --tyst, --tyst
Ignorera meddelanden vid standardutmatning.
-
-s, --skip-kubernetes-shared
Hoppa över insamling av delade (klusteromfattande) Kubernetes-data. Kubernetes-data per nod och värddata samlas fortfarande in. Användbart för samlingar med flera noder för att minska storleken. Klusterdata ska samlas in från minst en nod.
-
-w WORK_DIR, --work-dir=WORK_DIR
Använd katalog WORK_DIR för temporära filer. Default:
/tmp. -
-x FIL,--output-file=FIL
Lagra det insamlade paketet som en fil med namnet FILE. Lämpligt filnamnssuffix (
.tgz,.zipoch så vidare.) läggs till automatiskt. Om FIL är-(bindestreck), skriv paketet till standardutdata (implicerar --quiet). När paketet skrivs till standardutdata skapas ingen paketfil på disken. Default:pfmpSupport. -
-z, --zip
Använd zip-format för det insamlade paketet i stället för standard-tar/gz. Ignoreras om
zip(1)finns inte i systemet. -
--overwrite-output-file --overwrite-output-file --overwrite-output-file
Skriv över utdatafilen om den redan finns. När en utdatafil eller katalog uttryckligen anges (via -x eller -d) är standardbeteendet att vägra att skriva över. Det här alternativet åsidosätter det.
-
--Tech
Inkludera teknikeralternativ i hjälpmeddelandets utdata.
Teknikeralternativ
Följande flaggor är avsedda att användas av supporttekniker och visas endast i hjälpmeddelandet när --tech har angetts.
-
--behålla- arbete-dir
Behåll den genererade tillfälliga arbetskatalogen när paketet har skapats (rensas vanligtvis automatiskt).
-
--gammal-pod-loggar
Samla in äldre Kubernetes-poddloggar från lokal rsyslog-lagring. När det utelämnas visas den aktuella (
kubectl logs) och tidigare (kubectl logs --previous) behållarloggar samlas fortfarande in.
PAKETSTRUKTUR
Utdatapaketet är ett enda komprimerat arkiv.
- Katalogen på den översta paketnivån är värdnamnet för det insamlade systemet.
- Allmänna kommandoutdata för värd hamnar i en
server/underkatalog. Filnamnet är<command>+<arguments>+ suffix (.txtsom standard). Blanksteg ersatta med_, icke-alfanumeriska tecken borttagna.
Exempel:server/ip_-s_addr.txt - output of ip -s addr - kubectl-, helm- och docker-kommandoutdata hamnar i sina respektive underkataloger. De är vidare ordnade efter omfattning,
<namespace>/<pod>/<container>Tillämpliga.
Argument för kommandonamn, omfång och utdataformat tas bort. Filnamnet är<subcommand>+<arguments>+ suffix (.txtsom standard). Blanksteg ersatta med_, icke-alfanumeriska tecken borttagna.
kubectl exec-kommandoutdata lagras underexec/i poddens underkatalog.
Exempel:kubectl/version.txt- Utmatning avkubectl versionkubectl/all-namespaces/get_pods.yaml-- utdata frånkubectl -o=yaml get --all-namespaces podskubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt- Utmatning avkubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtkkubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt- Utmatning avkubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream reporthelm/powerflex/get_all_asmmanager.txt- Utmatning avhelm get -n powerflex all asmmanagerdocker/ps_-a.txt- Utmatning avdocker ps -a
- Filer som extraheras från poddcontainrar placeras under containerns katalog på sökvägen till filsystemet i containern.
Exempel:kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log- kopia av/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.logextraheras frånthin-deployerbehållaren förthin-deployer-5657659bc7-gzbq4Pod - Värdfilsystemfiler placeras på filsystemets sökväg i förhållande till paketroten.
Exempel:etc/os-release - copy of /etc/os-releasevar/log/messages - copy of /var/log/messagesproc/cpuinfo - copy of /proc/cpuinfovar/lib/rancher/rke2/agent/logs/kubelet.log - copy of /var/lib/rancher/rke2/agent/logs/kubelet.log
- Dolda filer (med punktprefix) döljs genom att den inledande punkten tas bort.
- Körningslogg för verktyg,
pfmp_support.log, placerad direkt under värdnamnet>/roten<.
Trädstruktur för buntkatalog:
<hostname>/
|-- pfmp_support.log Utility execution log
|-- server/ General command output directory
| |-- ip_-s_addr.txt
| |-- uptime.txt
| |-- uname_-a.txt
| |-- ps_-elF.txt
| |-- dmesg_-T.txt
| +-- ... (one file per collected command)
|
|-- kubectl/ kubectl command output directory
| |-- version.txt Non-namespace-specific commands
| |-- ...
| |-- all-namespaces/ Cross-namespace commands
| | |-- get_pods.txt
| | |-- get_pods.yaml
| | +-- ...
| +-- <namespace>/ Per-namespace Kubernetes data
| +-- <pod>/ Per-pod data
| +-- <container>/ Per-container data
| |-- logs.txt Current container logs
| |-- exec/ Commands executed within container (if any)
| | +-- ...
| |-- <dir>/ Files extracted from container (if any)
| +-- ...
|-- helm/ helm command output directory
|-- docker/ docker command output directory
|
|-- etc/ Host files
| |-- os-release
| |-- sysconfig/
| |-- network/
| +-- ...
|-- var/
| |-- log/
| | |-- messages
| | +-- ...
| |-- lib/rancher/rke2/
| +-- ...
|-- proc/
| |-- cpuinfo
| |-- meminfo
| +-- ...
|-- sys/
|-- ...
|
|-- powerflex-pfmpsupport-extra/ Extra diagnostic data (if present)
+-- powerflex-pfmpsupport-backup/ Backed-up configuration files (if any)
DISKUTRYMME
Diskutrymmeskraven för temporära filer och det resulterande paketet kan variera avsevärt.
Verktyget försöker minimera tillfällig utrymmesanvändning; Den är begränsad till kommandoutdata och kopior av insamlade virtuella filsystem (/proc och /sys) filer.
För att minimera användningen av diskutrymme på PowerFlex Manager-värden kan paketet direktuppspelas från en fjärrvärd med --output-file=-. Vid strömning skrivs paketfilen direkt till standardutdata (stdout); Den skapas inte på disken.
Innan data samlas in gör verktyget en uppskattning av diskutrymmet som krävs för både den tillfälliga arbetskatalogen och utdatapaketet.
Om det uppskattade utrymmet som krävs överskrider det tillgängliga utrymmet i relevanta filsystem avslutas verktyget med ett fel. Den här kontrollen kan kringgås med --skip-space-check.
Arbetskatalogen och utdatakatalogen kan finnas på olika filsystem. Var och en kontrolleras oberoende av varandra.
De uppskattade utrymmeskraven skrivs till verktygets loggfil, pfmp_support.log.
AVSLUTNINGSSTATUS
| 0 | Framgångsrikt slutförande |
| 1 | Fel (ogiltiga argument, otillräckligt utrymme, en annan instans som redan körs, fel på paketgenerering, signal fångad osv.) |
FILER
<WORK_DIR>/pfmp_support.log |
Körningslogg (ingår också i paketet) |
<WORK_DIR>/powerflex-pfmpsupport-tmp/ |
Tillfällig arbetskatalog (rensad när det lyckades) |
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz |
Standardplats för utdatapaket |
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/ |
Extra kataloger med diagnostikdata som tillval |
/tmp/powerflex-pfmpsupport-backup/ |
Temporära säkerhetskopior av ändrade konfigurationsfiler (skapas automatiskt) |
MILJÖ
Förutsättningar
- Verktyget måste köras som rotanvändare (alternativt en användare med tillräcklig behörighet för att läsa systemfiler, köra diagnostikkommandon, interagera med Kubernetes-klustret och komma åt
/proc,/sys, etc.). - Standardverktyg:
tar,gzip,stat,find,awk,sed,getopt(1)(förbättrad),nice. - Valfri:
zip(för--zip),xz(för--xz).
Samtidighet
Endast en instans av pfmp_support kan köras åt gången. Verktyget söker efter en befintlig instans som körs via pidof(1) och avslutas om en sådan hittas.
Signalhantering
Verktygsfällorna INT, EXIToch TERM signaler under datainsamlingen. När den tar emot en signal
- Återställer alla säkerhetskopierade konfigurationsfiler.
- Rensar tillfälliga kataloger.
- Avslutar med status 1.
Körningsloggen bevaras och sökvägen skrivs ut till standardfelet.
EXEMPEL
Skaffa ett standardsupportpaket:
pfmp_support
Samla in paket från flera noder i ett Kubernetes-kluster.
- På en nod med
kubectlochhelmsamlar du in alla Kubernetes-data:pfmp_support - På efterföljande noder hoppar du över delade Kubernetes-data:
pfmp_support --skip-kubernetes-shared
Strömma ett paket via en SSH-anslutning utan att skapa en paketfil på PowerFlex Manager-fjärrvärden:
ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz
Använd en annan arbetskatalog för att undvika att fylla upp /tmp:
pfmp_support --work-dir=/var/tmp
Inkludera anpassade sökvägar i paketet:
pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'