PowerFlex: PFMP_SUPPORT – nástroj pro balíček podpory pro kolekci
Résumé: pfmp_support – shromáždění diagnostických dat nástroje PowerFlex Manager a jejich zabalení do balíčku podpory
Instructions
pfmp_support [MOŽNOSTI]
POPIS
pfmp_support je diagnostický nástroj, který shromažďuje informace o ladění z hostitele instalačního programu systému PowerFlex Manager nebo PowerFlex Manager a archivuje je do komprimovaného balíčku pro účely analýzy pracovníky podpory.
Nástroj shromažďuje data z více zdrojů, včetně:
- Diagnostická data, konfigurace a protokoly Kubernetes
- Informace o vydání Helmu
- Data modulu runtime Dockeru a kontejneru
- Protokoly instalačního programu PowerFlex Manager
- Konfigurace operačního systému, protokoly a stav modulu runtime
- Inventář hardwaru
Při shromažďování dat z více uzlů clusteru Kubernetes by se standardní sada (--skip-kubernetes-shared not specified) měla shromáždit alespoň z jednoho uzlu, kde kubectl a helm jsou k dispozici a mají přístup k řídicí rovině Kubernetes. Na dalších uzlech --skip-kubernetes-shared mohou být použity ke zmenšení velikosti shromažďovaných údajů.
Výsledný balíček je jeden komprimovaný archiv (ve výchozím nastavení tar/gz), který lze přenést do podpory PowerFlex k další analýze.
V daném okamžiku může být na hostiteli spuštěna pouze jedna instance pfmp_support. Pokud není dostatek volného místa pro jeho výstup, odmítne se spustit (pokud není kontrola místa explicitně přeskočena).
MOŽNOSTI
Obecné možnosti
-
-A DIR, --installer-root-path=DIR
Použijte DIR jako základní adresář instalačního programu PowerFlex Manager. Užitečné při shromažďování dat instalačního programu PowerFlex a instalačního kontejneru (
atlantic_installer) neběží. Výchozí hodnota: automaticky rozpoznána nebo/var. -
-d OUT_DIR, --output-dir=OUT_DIR
Výsledný balíček uložte do adresáře OUT_DIR. Výchozí:
<WORK_DIR>/powerflex-pfmpsupport(viz --work-dir). -
-h, --help
Zobrazte zprávu nápovědy a ukončete operaci. V kombinaci s volbou --tech zobrazí také možnosti technika.
-
-J, --xz
Pro shromážděný balíček použijte formát tar/xz místo výchozího tar/gz. Ignoruje se, pokud je systém
tar(1)Nepodporuje--use-compress-programneboxz(1)není nalezen. -
- n OBOR NÁZVŮ, --namespace=JMENNÝ PROSTOR
Shromážděte další data z oboru názvů Kubernetes specifického pro aplikaci. Výchozí:
powerflex. -
-N, --přeskočit-mezerník-check
Přeskočí ověření volného místa na disku před sběrem dat.
-
- P PATH,--collect-path=CESTA
Shromážděte další cestu PATH. Přípustné jsou pouze absolutní cesty. Přijímá zástupné znaky; Zástupné znaky by měly být v uvozovkách. Tuto možnost lze zadat vícekrát, chcete-li shromáždit více cest.
-
-q, --quiet, --silent
Potlačí zprávy na standardním výstupu.
-
-s, --skip-kubernetes-shared
Přeskočte shromažďování sdílených dat Kubernetes (v rámci celého clusteru). Data Kubernetes pro jednotlivé uzly a hostitelská data se stále shromažďují. Užitečné pro kolekce s více uzly ke zmenšení velikosti. Data clusteru by měla být shromažďována alespoň z jednoho uzlu.
-
-w WORK_DIR, --work-dir=WORK_DIR
Pro dočasné soubory použijte WORK_DIR adresáře. Výchozí:
/tmp. -
-x SOUBOR, --output-file=SOUBOR
Uložte shromážděný balíček jako soubor s názvem FILE. Příslušná přípona názvu souboru (
.tgz,.zip, atd.) se přidá automaticky. Pokud je SOUBOR-(dash), zapíše svazek na standardní výstup (implikuje --quiet). Když balíček zapíšete do standardního výstupu, na disku se nevytvoří žádný soubor balíčku. Výchozí:pfmpSupport. -
-z, --zip
Pro shromážděný balíček použijte formát zip namísto výchozího souboru tar/gz. Ignoruje se, pokud
zip(1)není v systému nalezen. -
--overwrite-output-file
Přepište výstupní soubor, pokud již existuje. Pokud je výstupní soubor nebo adresář explicitně zadán (pomocí -x nebo -d), výchozím chováním je odmítnutí přepsání; Tato možnost to přepíše.
-
--Tech
Do výstupu zprávy nápovědy zahrňte možnosti technika.
Možnosti technika
Následující možnosti jsou určeny pro použití techniky podpory a jsou zobrazeny ve zprávě nápovědy pouze v případě, že --tech je zadán.
-
--keep-work-dir
Po vytvoření balíčku zachovejte vygenerovaný dočasný pracovní adresář (obvykle se vyčistí automaticky).
-
--staré-pod-protokoly
Shromážděte starší protokoly podů Kubernetes z místního úložiště rsyslog. Je-li tento parametr vynechán, aktuální (
kubectl logs) a předchozí (kubectl logs --previous) se stále shromažďují protokoly kontejneru.
STRUKTURA SVAZKU
Výstupní balíček je jeden komprimovaný archiv.
- Adresář nejvyšší úrovně balíčku je název hostitele shromážděného systému.
- Obecné výstupy hostitelských příkazů přecházejí do
server/Podadresář. Název souboru je<command>+<arguments>+ přípona (.txtve výchozím nastavení). Mezery nahrazeny_, nealfanumerické znaky odstraněny.
Příklad:server/ip_-s_addr.txt - output of ip -s addr - kubectl, helma docker výstupy příkazů přejdou do příslušných podadresářů. Dále jsou uspořádány podle rozsahu,
<namespace>/<pod>/<container>, je-li to relevantní.
Dojde k odstranění argumentů souvisejících s názvem, oborem a výstupním formátem příkazu. Název souboru je<subcommand>+<arguments>+ přípona (.txtve výchozím nastavení). Mezery nahrazeny_, nealfanumerické znaky odstraněny.
Výstupy příkazů kubectl exec jsou uloženy v částiexec/podadresáře podu.
Příklady:kubectl/version.txt- výstupkubectl versionkubectl/all-namespaces/get_pods.yaml-- výstupkubectl -o=yaml get --all-namespaces podskubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt- výstupkubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtkkubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt- výstupkubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream reporthelm/powerflex/get_all_asmmanager.txt- výstuphelm get -n powerflex all asmmanagerdocker/ps_-a.txt- výstupdocker ps -a
- Soubory extrahované z kontejnerů podů se umístí do adresáře kontejneru v cestě k systému souborů v kontejneru.
Příklad:kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log- kopie/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.logextrahované zthin-deployerkontejnerthin-deployer-5657659bc7-gzbq4lusk - Hostitelské soubory systému souborů jsou umístěny v cestě systému souborů vzhledem ke kořenovému adresáři balíčku.
Příklady: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
- Skryté soubory (s tečkovou předponou) jsou "neskryté" odstraněním úvodní tečky.
- Protokol spuštění nástroje,
pfmp_support.log, umístěné přímo pod názvem> hostitele nebo kořenovým adresářem<.
Stromová struktura adresáře balíčku:
<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)
DISKU
Požadavky na místo na disku pro dočasné soubory a výsledný balíček se mohou značně lišit.
Nástroj se pokouší minimalizovat dočasné využití místa; Je omezen na výstupy příkazů a kopie shromážděného virtuálního souborového systému (/proc a /sys) soubory.
Chcete-li minimalizovat využití místa na disku hostitele PowerFlex Manager, lze balíček streamovat ze vzdáleného hostitele pomocí --output-file=-. Při streamování se soubor balíčku zapisuje přímo do standardního výstupu (stdout); Není vytvořen na disku.
Před shromážděním dat nástroj odhadne požadované místo na disku pro dočasný pracovní adresář i výstupní balíček.
Pokud odhadované požadované místo překročí dostupné místo v příslušných souborových systémech, nástroj se ukončí s chybou. Tuto kontrolu lze obejít pomocí --skip-space-check.
Pracovní adresář a výstupní adresář mohou být umístěny v různých souborových systémech; Každý z nich je kontrolován nezávisle.
Odhadované požadavky na místo se zapisují do souboru protokolu nástroje, pfmp_support.log.
STAV UKONČENÍ
| 0 | Úspěšné dokončení |
| 1 | Chyba (neplatné argumenty, nedostatek místa, již spuštěná jiná instance, selhání generování balíčku, zachycený signál atd.) |
SOUBORY
<WORK_DIR>/pfmp_support.log |
Protokol spuštění (rovněž součást balíčku) |
<WORK_DIR>/powerflex-pfmpsupport-tmp/ |
Dočasný pracovní adresář (vyčištěn při úspěchu) |
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz |
Výchozí umístění výstupního balíčku |
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/ |
Volitelné dodatečné adresáře diagnostických dat |
/tmp/powerflex-pfmpsupport-backup/ |
Dočasné zálohy upravených konfiguračních souborů (automaticky vytvořené) |
PROSTŘEDÍ
Požadavky
- Nástroj musí být spuštěn jako uživatel root (nebo uživatel s dostatečnými oprávněními ke čtení systémových souborů, provádění diagnostických příkazů, interakci s clusterem Kubernetes a přístupu
/proc,/sys, atd.). - Standardní nástroje:
tar,gzip,stat,find,awk,sed,getopt(1)(vylepšeno),nice. - Volitelné:
zip(pro--zip),xz(pro--xz).
Souběžnost
V jednom okamžiku může být spuštěna pouze jedna instance pfmp_support. Nástroj vyhledá existující spuštěnou instanci prostřednictvím pidof(1) a ukončí se, pokud je nalezen.
Manipulace se signálem
Pasti na inženýrské sítě INT, EXITa TERM signály během sběru dat. Po přijetí signálu:
- Obnoví všechny zálohované konfigurační soubory.
- Vyčistí dočasné adresáře.
- Ukončí se se stavem 1.
Protokol spuštění je zachován a jeho cesta je vytištěna na standardní chybu.
PŘÍKLADY
Shromážděte standardní balíček podpory:
pfmp_support
Shromažďujte sady z více uzlů v clusteru Kubernetes.
- Na jednom uzlu s
kubectlahelmpřístup a shromažďujte všechna data Kubernetes:pfmp_support - Na dalších uzlech přeskočte sdílená data Kubernetes:
pfmp_support --skip-kubernetes-shared
Streamování balíčku přes připojení SSH bez vytvoření souboru balíčku na vzdáleném hostiteli PowerFlex Manager:
ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz
Použijte jiný pracovní adresář, abyste se vyhnuli zaplnění /tmp:
pfmp_support --work-dir=/var/tmp
Zahrnutí vlastních cest do balíčku:
pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'