PowerFlex: PFMP_SUPPORT – støtte for samlingsverktøy
Résumé: pfmp_support – samle inn PowerFlex Manager-diagnosedata og pakk dem inn i en støttepakke
Instructions
pfmp_support [ALTERNATIVER]
BESKRIVELSE
pfmp_support er et diagnoseverktøy som samler inn feilsøkingsinformasjon fra en vert for PowerFlex Manager eller et PowerFlex Manager-installasjonsprogram, og arkiverer den i en komprimert pakke for analyse av kundestøttepersonell.
Verktøyet samler inn data fra flere kilder, inkludert:
- Kubernetes-diagnosedata, konfigurasjon og logger
- Informasjon om utgivelse av ror
- Kjøretidsdata for docker og container
- Installasjonslogger for PowerFlex Manager
- Operativsystemkonfigurasjon, logger og kjøretidstilstand
- Maskinvarebeholdning
Når du samler inn data fra flere Kubernetes-klyngenoder, bør en standardpakke (--skip-kubernetes-shared not specified) samles inn fra minst én node, der kubectl og helm er tilgjengelige og med tilgang til Kubernetes-kontrollplanet. På påfølgende noder --skip-kubernetes-shared kan brukes til å redusere størrelsen på de innsamlede dataene.
Den resulterende bunten er et enkelt komprimert arkiv (tar/gz som standard) som kan overføres til støtte for PowerFlex for videre analyse.
Bare én forekomst av pfmp_support kan kjøres på en vert om gangen. Hvis det ikke er nok ledig plass til utdataene, vil den nekte å kjøre (med mindre plasskontroll eksplisitt hoppes over).
ALTERNATIVER
Generelle alternativer
-
-A DIR,--installer-root-path = DIR
Bruk DIR som basiskatalog for installasjonsprogrammet for PowerFlex Manager. Nyttig ved innsamling av data fra installasjonsprogrammet for PowerFlex og installasjonsbeholderen (
atlantic_installer) kjører ikke. Standard: automatisk oppdaget, eller/var. -
-d OUT_DIR, --output-dir=OUT_DIR
Lagre den resulterende bunten under katalog OUT_DIR. Standard:
<WORK_DIR>/powerflex-pfmpsupport(se --work-dir). -
-h, --hjelp
Vis hjelpemeldingen og avslutt. Når det kombineres med --tech, også vise tekniker alternativer.
-
-J, --XZ
Bruk tar/xz-format for den innsamlede pakken i stedet for standard tar/gz. Ignorert hvis systemets
tar(1)Støtter ikke--use-compress-programellerxz(1)er ikke funnet. -
-n NAVNEROM, --navnerom = NAVNEROM
Samle inn tilleggsdata fra applikasjonsspesifikt Kubernetes-navneområde NAVNEOMRÅDE. Standard:
powerflex. -
-N, --hopp-over-mellomrom-sjekk
Hopp over ledig diskplassverifisering før datainnsamling.
-
-P PATH,--collect-path = PATH
Samle inn den ekstra banen. Bare absolutte baner aksepteres. Godtar jokertegn; Jokertegn skal oppgis. Dette alternativet kan angis flere ganger for å samle inn flere baner.
-
-q, --stille, --stille
Undertrykk meldinger på standard utdata.
-
-s, --skip-kubernetes-delt
Hopp over innsamling av delte Kubernetes-data (hele klyngen). Per-node Kubernetes-data og vertsdata samles fortsatt inn. Nyttig for samlinger med flere noder for å redusere størrelsen; Klyngedata bør samles inn fra minst én node.
-
-w WORK_DIR, --arbeid-dir=WORK_DIR
Bruk katalog-WORK_DIR for midlertidige filer. Standard:
/tmp. -
-x FIL, --output-file=FIL
Lagre den innsamlede bunten som filnavngitt FIL. Det riktige filnamnssuffikset (
.tgz,.ziposv.) legges til automatisk. Hvis FILEN er-(dash), skriv bunten til standard utgang (innebærer --stille). Når bunten skrives til standard utdata, opprettes det ingen pakkefil på disken. Standard:pfmpSupport. -
-z, --zip
Bruk zip-format for den innsamlede pakken i stedet for standard tar/gz. Ignorert hvis
zip(1)finnes ikke på systemet. -
--overwrite-output-file
Skriv over utdatafilen hvis den allerede eksisterer. Når en utdatafil eller katalog er eksplisitt angitt (via -x eller -d), er standard oppførsel å nekte å overskrive; Dette alternativet overstyrer dette.
-
--Tech
Inkluder teknikeralternativer i utdataene for hjelpemeldinger.
Teknikeralternativer
Følgende alternativer er beregnet for bruk av kundestøtteteknikere og vises bare i hjelpemeldingen når --tech er angitt.
-
--holde-arbeid-dir
Behold den genererte midlertidige arbeidskatalogen etter at pakken er opprettet (ryddes vanligvis opp automatisk).
-
--gammel-pod-logger
Samle inn eldre Kubernetes pod-logger fra lokal rsyslog-lagring. Når utelatt, gjeldende (
kubectl logs) og forrige (kubectl logs --previous) Containerlogger samles fortsatt inn.
BUNT STRUKTUR
Utdatabunten er et enkelt komprimert arkiv.
- Katalogen på øverste nivå er vertsnavnet til det innsamlede systemet.
- Generelle vertskommandoutdata går inn i en
server/Underkatalog. Filnavnet er<command>+<arguments>+ suffiks (.txtsom standard). Mellomrom erstattet med_, strippes ikke-alfanumeriske tegn.
Eksempel:server/ip_-s_addr.txt - output of ip -s addr - Kubectl-, Helm- og Docker-kommandoutganger går inn i sine respektive underkataloger. De er videre organisert etter omfang,
<namespace>/<pod>/<container>, der det er aktuelt.
Argumenter som er relatert til kommandonavn, omfang og utdataformat, fjernes. Filnavnet er<subcommand>+<arguments>+ suffiks (.txtsom standard). Mellomrom erstattet med_, strippes ikke-alfanumeriske tegn.
Kubectl exec-kommandoutganger lagres underexec/i podens underkatalog.
Eksempler:kubectl/version.txt- utgang avkubectl versionkubectl/all-namespaces/get_pods.yaml-- utgang avkubectl -o=yaml get --all-namespaces podskubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt- utgang avkubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtkkubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt- utgang avkubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream reporthelm/powerflex/get_all_asmmanager.txt- utgang avhelm get -n powerflex all asmmanagerdocker/ps_-a.txt- utgang avdocker ps -a
- Filer som pakkes ut fra pod-beholdere, plasseres under beholderens katalog i filsystembanen i beholderen.
Eksempel:kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log- kopi av/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.logHentet fra innsiden avthin-deployerbeholder avthin-deployer-5657659bc7-gzbq4Pod - Vertsfilsystemfiler plasseres på filsystembanen i forhold til buntroten.
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 (punkt-prefikset) "vises" ved å fjerne den ledende prikken.
- Utility execution log,
pfmp_support.log, plassert direkte under vertsnavnet>/roten<.
Katalogtrestruktur for bunt:
<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)
DISKPLASS
Krav til diskplass for midlertidige filer og den resulterende pakken kan variere betydelig.
Verktøyet forsøker å minimere midlertidig plassbruk; Det er begrenset til kommandoutganger og kopier av innsamlet virtuelt filsystem (/proc og /sys) filer.
For å minimere bruken av diskplass på PowerFlex Manager-verten kan bunten strømmes fra en ekstern vert med --output-file=-. Ved streaming skrives pakkefilen direkte til standard utgang (stdout); Den er ikke opprettet på disken.
Før dataene samles inn, beregner verktøyet den nødvendige diskplassen for både den midlertidige arbeidsmappen og utdatabunten.
Hvis den beregnede nødvendige plassen overskrider den tilgjengelige plassen på det aktuelle filsystemet, avsluttes verktøyet med en feil. Denne sjekken kan omgås med --skip-space-check.
Arbeidskatalogen og utdatakatalogen kan ligge på forskjellige filsystemer; Hver kontrolleres uavhengig.
De estimerte plasskravene skrives til verktøyets loggfil, pfmp_support.log.
AVSLUTT-STATUS
| 0 | Fullført |
| 1 | Feil (ugyldige argumenter, ikke nok plass, en annen forekomst som allerede kjører, feil ved pakkegenerering, fanget signal osv.) |
FILER
<WORK_DIR>/pfmp_support.log |
Utførelseslogg (også inkludert i pakken) |
<WORK_DIR>/powerflex-pfmpsupport-tmp/ |
Midlertidig arbeidskatalog (ryddet opp i suksess) |
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz |
Standard plassering av utdatabunt |
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/ |
Valgfrie ekstra diagnosedatakataloger |
/tmp/powerflex-pfmpsupport-backup/ |
Midlertidige sikkerhetskopier av modifiserte konfigurasjonsfiler (automatisk opprettet) |
MILJØ
Forhåndskrav
- Verktøyet må kjøres som root (eller en bruker med tilstrekkelige rettigheter til å lese systemfiler, utføre diagnostiske kommandoer, samhandle med Kubernetes-klyngen og få tilgang
/proc,/sys, osv.). - Standard verktøy:
tar,gzip,stat,find,awk,sed,getopt(1)(forbedret),nice. - Valgfritt:
zip(for--zip),xz(for--xz).
Samtidighet
Bare én forekomst av pfmp_support kan kjøres om gangen. Verktøyet ser etter en eksisterende kjørende forekomst via pidof(1) og avsluttes hvis en blir funnet.
Signalhåndtering
Verktøyfellene INT, EXITog TERM signaler under datainnsamling. Ved mottak av et signal, det:
- Gjenoppretter alle sikkerhetskopierte konfigurasjonsfiler.
- Rydder opp midlertidige kataloger.
- Avslutter med status 1.
Utførelsesloggen bevares, og banen skrives ut til standardfeil.
EKSEMPLER
Samle en standard støttepakke:
pfmp_support
Samle bunter fra flere noder i en Kubernetes-klynge.
- På én node med
kubectloghelmfå tilgang til, samle inn alle Kubernetes-data:pfmp_support - På påfølgende noder hopper du over delte Kubernetes-data:
pfmp_support --skip-kubernetes-shared
Strøm en bunt over en SSH-tilkobling, uten å opprette en buntfil på den eksterne PowerFlex Manager-verten:
ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz
Bruk en annen arbeidskatalog for å unngå å fylles opp /tmp:
pfmp_support --work-dir=/var/tmp
Inkluder egendefinerte baner i pakken:
pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'