PowerFlex: PFMP_SUPPORT – Supportpakkeindsamlingsværktøj
Résumé: pfmp_support – indsamle PowerFlex Manager-diagnosticeringsdata og pakke dem ind i en supportpakke
Instructions
pfmp_support [VALGMULIGHEDER]
BESKRIVELSE
pfmp_support er et diagnosticeringsværktøj, der indsamler fejlfindingsoplysninger fra en PowerFlex Manager- eller PowerFlex Manager-installationsvært og arkiverer dem i en komprimeret pakke til analyse af supportpersonalet.
Forsyningen indsamler data fra flere kilder, herunder:
- Kubernetes-diagnosticeringsdata, -konfiguration og -logge
- Oplysninger om Helm-frigivelse
- Docker- og containerkørselsdata
- PowerFlex Manager-installationslogfiler
- Operativsystemkonfiguration, logge og driftstilstand
- Hardware opgørelse
Når der indsamles data fra flere Kubernetes-klyngenoder, skal der indsamles et standardbundt (--skip-kubernetes-shared not specified) fra mindst én node, hvor kubectl og helm er tilgængelige og med adgang til Kubernetes-kontrolplanet. På efterfølgende noder --skip-kubernetes-shared kan anvendes til at reducere størrelsen af de indsamlede data.
Den resulterende pakke er et enkelt komprimeret arkiv (tar/gz som standard), der kan overføres til PowerFlex-support med henblik på yderligere analyse.
Kun én forekomst af pfmp_support kan køre på en vært ad gangen. Hvis der ikke er nok ledig plads til dens output, nægter den at køre (medmindre pladskontrol udtrykkeligt springes over).
MULIGHEDER
Generelle indstillinger
-
-ADIR, --installer-root-path=DIR
Brug DIR som basismappe for PowerFlex Manager-installationsprogrammet. Nyttig ved indsamling af PowerFlex Installer-data og installationsbeholderen (
atlantic_installer) kører ikke. Standard: automatisk registreret, eller/var. -
-d OUT_DIR, --output-dir=OUT_DIR
Gem det resulterende bundt under mappe OUT_DIR. Standard:
<WORK_DIR>/powerflex-pfmpsupport(se --work-dir). -
-h, --hjælp
Vis hjælpemeddelelsen, og afslut. Når det kombineres med --tech, vises også teknikermuligheder.
-
-J, --xz
Brug tar/xz-format til det indsamlede bundt i stedet for standardværdien tar/gz. Ignoreres, hvis systemets
tar(1)understøtter ikke--use-compress-programellerxz(1)ikke fundet. -
-n NAMESPACE, --namespace=NAMESPACE
Indsaml yderligere data fra programspecifikt Kubernetes-navneområde NAMESPACE. Standard:
powerflex. -
-N, --skip-space-check
Spring bekræftelse af ledig diskplads over før dataindsamling.
-
-P PATH, --collect-path=PATH
Indsaml den ekstra sti PATH. Kun absolutte stier accepteres. Accepterer jokertegn; Jokertegn skal angives. Denne indstilling kan angives flere gange for at indsamle flere stier.
-
-q, --stille, --tavs
Undertryk meddelelser på standardoutput.
-
-s, --skip-kubernetes-shared
Spring indsamling af delte (klyngedækkende) Kubernetes-data over. Kubernetes-data og værtsdata pr. node indsamles stadig. Nyttig til samlinger med flere noder for at reducere størrelsen; Klyngedata skal indsamles fra mindst én node.
-
-w WORK_DIR, --work-dir=WORK_DIR
Brug biblioteks WORK_DIR til midlertidige filer. Standard:
/tmp. -
-x FIL,--output-fil = FIL
Gem det indsamlede bundt som fil med navnet FILE. Det relevante filnavnsuffiks (
.tgz,.ziposv.) tilføjes automatisk. Hvis FILEN er-(bindestreg), skriv bundtet til standardoutput (indebærer --stille). Når bundtet skrives til standardoutput, oprettes der ingen bundtfil på disken. Standard:pfmpSupport. -
-z, --zip
Brug zip-format til det indsamlede bundt i stedet for standard tar/gz. Ignoreret, hvis
zip(1)findes ikke i systemet. -
--overskriv-output-fil
Overskriv outputfilen, hvis den allerede findes. Når en outputfil eller mappe udtrykkeligt er angivet (via -x eller -d), er standardadfærden at nægte at overskrive; Denne indstilling tilsidesætter dette.
-
--Tech
Medtag teknikerindstillinger i outputtet af hjælpemeddelelsen.
Teknikermuligheder
Følgende indstillinger er beregnet til brug af supportteknikere og vises kun i hjælpemeddelelsen, når --tech er angivet.
-
--keep-work-dir
Behold den genererede midlertidige arbejdsmappe efter oprettelse af pakken (normalt ryddes der automatisk op).
-
--gamle-pod-logs
Indsaml ældre Kubernetes-pod-logfiler fra det lokale rsyslog-lager. Når den udelades, vil den aktuelle (
kubectl logs) og tidligere (kubectl logs --previous) indsamles der stadig containerlogfiler.
BUNDTSTRUKTUR
Outputbundtet er et enkelt komprimeret arkiv.
- Bundtbiblioteket på øverste niveau er værtsnavnet for det indsamlede system.
- Generelle værtskommandooutput går ind i en
server/Undermappe. Filnavnet er<command>+-<arguments>+ suffiks (.txtsom standard). Mellemrum erstattet med_, fjernes ikke-alfanumeriske tegn.
Eksempel:server/ip_-s_addr.txt - output of ip -s addr - Kubectl-, Helm- og Docker-kommandooutput går ind i deres respektive undermapper. De er yderligere organiseret efter omfang,
<namespace>/<pod>/<container>, hvor det er relevant.
Kommandonavn, omfang og argumenter, der er relateret til outputformat, fjernes. Filnavnet er<subcommand>+-<arguments>+ suffiks (.txtsom standard). Mellemrum erstattet med_, fjernes ikke-alfanumeriske tegn.
Kubectl exec-kommandoudgange gemmes underexec/i pod'ens undermappe.
Eksempler:kubectl/version.txt- produktion afkubectl versionkubectl/all-namespaces/get_pods.yaml- output afkubectl -o=yaml get --all-namespaces podskubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt- produktion afkubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtkkubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt- produktion afkubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream reporthelm/powerflex/get_all_asmmanager.txt- produktion afhelm get -n powerflex all asmmanagerdocker/ps_-a.txt- produktion afdocker ps -a
- Filer, der udpakkes fra pod-objektbeholdere, placeres under beholderens mappe på deres filsystemsti i beholderen.
Eksempel:kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log- kopi af/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.logudvundet indefrathin-deployercontainer afthin-deployer-5657659bc7-gzbq4Pod - Værtsfilsystemfiler placeres på deres filsystemsti i forhold til bundtroden.
Eksempler: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
- Skjulte filer (punktum-præfiks) "skjules" ved at fjerne den førende prik.
- Utility udførelse log,
pfmp_support.log, placeret direkte under værtsnavnet>/roden<.
Bundtmappetræstruktur:
<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)
DISKPLADS
Krav til diskplads til midlertidige filer og den resulterende pakke kan variere betydeligt.
Værktøjet forsøger at minimere midlertidigt pladsforbrug; Det er begrænset til kommandoudgange og kopier af indsamlet virtuelt filsystem (/proc og /sys) filer.
For at minimere diskpladsforbruget på PowerFlex Manager-værten kan pakken streames fra en fjernvært med --output-file=-. Ved streaming skrives bundtfilen direkte til standardoutput (stdout); Den er ikke oprettet på disken.
Før der indsamles data, estimerer værktøjet den nødvendige diskplads til både den midlertidige arbejdsmappe og outputbundtet.
Hvis den anslåede nødvendige plads overstiger den tilgængelige plads på de(t) relevante filsystem(er), afsluttes værktøjet med en fejl. Denne kontrol kan omgås med --skip-space-check.
Arbejdsmappen og outputmappen kan være placeret på forskellige filsystemer; Hver kontrolleres uafhængigt.
Det estimerede pladsbehov skrives til forsyningsselskabets logfil, pfmp_support.log.
STATUS FOR AFSLUTNING
| 0 | Fuldført |
| 1 | Fejl (ugyldige argumenter, utilstrækkelig plads, en anden forekomst, der allerede kører, fejl ved generering af bundt, fanget signal osv.) |
FILER
<WORK_DIR>/pfmp_support.log |
Udførelseslog (også inkluderet i pakken) |
<WORK_DIR>/powerflex-pfmpsupport-tmp/ |
Midlertidig arbejdsmappe (ryddet op efter succes) |
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz |
Standardplacering for outputpakke |
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/ |
Valgfri ekstra diagnostiske datamapper |
/tmp/powerflex-pfmpsupport-backup/ |
Midlertidige sikkerhedskopier af ændrede konfigurationsfiler (automatisk oprettet) |
MILJØ
Forudsætninger
- Hjælpeprogrammet skal køres som root (eller en bruger med tilstrækkelige rettigheder til at læse systemfiler, udføre diagnosticeringskommandoer, interagere med Kubernetes-klyngen og få adgang
/proc,/sysosv.). - Standard hjælpeprogrammer:
tar,gzip,stat,find,awk,sed,getopt(1)(udvidet)nice. - Valgfri:
zip(til--zip),xz(til--xz).
Samtidighed
Kun én forekomst af pfmp_support må køre ad gangen. Hjælpeprogrammet kontrollerer, om der er en eksisterende kørende forekomst via pidof(1) og afsluttes, hvis der findes en.
Signalhåndtering
Hjælpeprogrammerne fælder: INT, EXITog TERM signaler under dataindsamling. Ved modtagelse af et signal:
- Gendanner alle sikkerhedskopierede konfigurationsfiler.
- Rydder op i midlertidige mapper.
- Afslut med status 1.
Udførelsesloggen bevares, og dens sti udskrives til standardfejl.
EKSEMPLER
Saml en standardsupportpakke:
pfmp_support
Indsaml pakker fra flere noder i en Kubernetes-klynge.
- På én node med
kubectloghelmfå adgang til, indsamle alle Kubernetes-data:pfmp_support - Ved efterfølgende noder skal du springe delte Kubernetes-data over:
pfmp_support --skip-kubernetes-shared
Stream et bundt via en SSH-forbindelse uden at oprette en pakkefil på den eksterne PowerFlex Manager-vært:
ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz
Brug en anden arbejdsmappe for at undgå at fylde op /tmp:
pfmp_support --work-dir=/var/tmp
Medtag tilpassede stier i bundtet:
pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'