PowerFlex: PFMP_SUPPORT - Destek Paketi Toplama Yardımcı Programı
Résumé: pfmp_support - PowerFlex Manager tanılama verilerini toplayın ve bir destek paketinde paketleyin
Instructions
pfmp_support [OPTIONS]
AÇIKLAMA
pfmp_support, bir PowerFlex Manager veya PowerFlex Manager Yükleyicisi ana bilgisayarından hata ayıklama bilgilerini toplayan ve destek personeli tarafından analiz edilmek üzere sıkıştırılmış bir paket halinde arşivleyen bir tanılama yardımcı programıdır.
Yardımcı program, aşağıdakiler de dahil olmak üzere birden çok kaynaktan veri toplar:
- Kubernetes tanılama verileri, yapılandırması ve günlükleri
- Helm sürüm bilgileri
- Docker ve kapsayıcı çalışma zamanı verileri
- PowerFlex Manager yükleyici günlükleri
- İşletim sistemi yapılandırması, günlükler ve çalışma zamanı durumu
- Donanım envanteri
Birden çok Kubernetes küme düğümünden veri toplarken en az bir düğümden standart bir paket (--skip-kubernetes-shared not specified) toplanmalıdır. kubectl ve helm kullanılabilir ve Kubernetes kontrol düzlemine erişimi vardır. Sonraki düğümlerde --skip-kubernetes-shared toplanan verilerin boyutunu küçültmek için kullanılabilir.
Ortaya çıkan paket, daha fazla analiz için PowerFlex desteğine aktarılabilen tek bir sıkıştırılmış arşivdir (varsayılan olarak tar/gz).
Bir ana bilgisayarda belirli bir anda yalnızca bir pfmp_support örneği çalıştırılabilir. Çıktısı için yeterli boş alan yoksa, çalışmayı reddedecektir (alan denetimi açıkça atlanmadığı sürece).
SEÇENEKLER
Genel Seçenekler
-
-A DIR,--installer-root-path=DIR
PowerFlex Manager Yükleyicisinin temel dizini olarak DIR i kullanın. PowerFlex Yükleyici verilerini ve yükleyici kapsayıcısını (
atlantic_installer) çalışmıyor. Varsayılan: otomatik olarak algılanır veya/var. -
-d OUT_DIR, --output-dir=OUT_DIR
Elde edilen paketi dizin OUT_DIR altında depolayın. Default (Varsayılan):
<WORK_DIR>/powerflex-pfmpsupport(bkz. --work-dir). -
-h, --yardım
Yardım mesajını gösterip çıkın. --tech ile birleştirildiğinde, teknisyen seçeneklerini de görüntüleyin.
-
-J, --xz
Toplanan paket için varsayılan tar/gz yerine tar/xz biçimini kullanın. Sistemin
tar(1)Desteklemez--use-compress-programveyaxz(1)bulunamadı. -
-n NAMESPACE, --namespace=NAMESPACE
Uygulamaya özgü Kubernetes ad alanı NAMESPACE'den ek veri toplayın. Default (Varsayılan):
powerflex. -
-N, --skip-space-check
Veri toplama işleminden önce boş disk alanı doğrulamasını atlayın.
-
-P YOL,--collect-path=YOL
Ek yol PATH'i toplayın. Yalnızca mutlak yollar kabul edilir. Joker karakterleri kabul eder; Joker karakterler alıntılanmalıdır. Bu seçenek, birden fazla yol toplamak için birden çok kez belirtilebilir.
-
-q, --sessiz, --sessiz
Standart çıktıdaki mesajları bastırın.
-
-s, --skip-kubernetes-shared
Paylaşılan (küme genelinde) Kubernetes verilerinin toplanmasını atlayın. Düğüm başına Kubernetes verileri ve ana bilgisayar verileri toplanmaya devam eder. Boyutu küçültmek için çok düğümlü koleksiyonlar için kullanışlıdır; Küme verileri en az bir düğümden toplanmalıdır.
-
-w WORK_DIR, --work-dir=WORK_DIR
Geçici dosyalar için dizin WORK_DIR kullanın. Default (Varsayılan):
/tmp. -
-x DOSYA,--output-file=DOSYA
Toplanan paketi FILE adlı dosya olarak depolayın. Uygun dosya adı son eki (
.tgz,.zip, vb.) otomatik olarak eklenir. FILE ise-(kısa çizgi), paketi standart çıktıya yazın (--sessiz anlamına gelir). Paket standart çıktıya yazıldığında diskte paket dosyası oluşturulmaz. Default (Varsayılan):pfmpSupport. -
-z, --zip
Toplanan paket için varsayılan tar/gz yerine zip biçimini kullanın. Şu durumlarda yok sayılır:
zip(1)sistemde bulunamadı. -
--overwrite-output-file
Zaten mevcutsa çıktı dosyasının üzerine yazın. Bir çıktı dosyası veya dizini açıkça belirtildiğinde (-x veya -d aracılığıyla), varsayılan davranış üzerine yazmayı reddetmektir; Bu seçenek bunu geçersiz kılar.
-
--Teknoloji
Yardım mesajı çıktısına teknisyen seçeneklerini dahil edin.
Teknisyen Seçenekleri
Aşağıdaki seçenekler destek teknisyenleri tarafından kullanılmak üzere tasarlanmıştır ve yalnızca --tech belirtildiğinde yardım mesajında gösterilir.
-
--keep-work-dir
Paket oluşturulduktan sonra oluşturulan geçici çalışma dizinini koruyun (normalde otomatik olarak temizlenir).
-
--eski-pod-günlükleri
Yerel rsyslog deposundan eski Kubernetes pod günlüklerini toplayın. İhmal edildiğinde, akım (
kubectl logs) ve önceki (kubectl logs --previous) konteyner günlükleri hala toplanır.
PAKET YAPISI
Çıktı paketi, sıkıştırılmış tek bir arşivdir.
- Paket üst düzey dizini, toplanan sistemin ana bilgisayar adıdır.
- Genel ana bilgisayar komut çıktıları,
server/Alt. Dosya adı<command>+<arguments>+ son eki (.txtvarsayılan olarak). Boşluklar şununla değiştirilir:_, alfanümerik olmayan karakterler çıkarılmış.
Örnek:server/ip_-s_addr.txt - output of ip -s addr - Kubectl, helm ve docker komut çıktıları ilgili alt dizinlerine gider. Kapsama göre daha da düzenlenirler,
<namespace>/<pod>/<container>, uygulanabilir olduğunda.
Komut adı, kapsam ve çıktı biçimiyle ilgili bağımsız değişkenler çıkarılır. Dosya adı<subcommand>+<arguments>+ son eki (.txtvarsayılan olarak). Boşluklar şununla değiştirilir:_, alfanümerik olmayan karakterler çıkarılmış.
Kubectl exec komut çıktıları altında depolanırexec/bölmenin alt dizininin.
Örnekler:kubectl/version.txt- çıktısıkubectl versionkubectl/all-namespaces/get_pods.yaml-- çıktısıkubectl -o=yaml get --all-namespaces podskubectl/powerflex/asmui-7d6944dcb8-zqqtk/asmui/logs_--previous.txt- çıktısıkubectl logs -n powerflex --container asmui --previous asmui-7d6944dcb8-zqqtkkubectl/powerflex/nats-server-box-6d685b4b7d-cf278/nats-box/exec/nats_stream_report.txt- çıktısıkubectl exec -n powerflex --container nats-box nats-server-box-6d685b4b7d-cf278 -- nats stream reporthelm/powerflex/get_all_asmmanager.txt- çıktısıhelm get -n powerflex all asmmanagerdocker/ps_-a.txt- çıktısıdocker ps -a
- Kapsül kapsayıcılarından ayıklanan dosyalar, kapsayıcı dizininin altına, kapsayıcı içi dosya sistemi yoluna yerleştirilir.
Örnek:kubectl/powerflex/thin-deployer-5657659bc7-gzbq4/thin-deployer/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.log- kopyası/opt/Dell/ASM/deployments/8aaa809298a9efe10198aa58c8874f35/deployment.logiçinden çıkarılanthin-deployerkonteynerithin-deployer-5657659bc7-gzbq4Pod - Ana bilgisayar dosya sistemi dosyaları, paket köküne göre dosya sistemi yollarına yerleştirilir.
Örnekler: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
- Gizli dosyalar (nokta önekli), baştaki nokta kaldırılarak "gösterilmez".
- Yardımcı program yürütme günlüğü,
pfmp_support.log, doğrudan ana bilgisayar adının>/kökün <altına yerleştirilir.
Paket dizin ağacı yapısı:
<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)
DISK ALANI
Geçici dosyalar ve ortaya çıkan paket için disk alanı gereksinimleri önemli ölçüde farklılık gösterebilir.
Yardımcı program, geçici alan kullanımını en aza indirmeye çalışır; Komut çıktıları ve toplanan sanal dosya sisteminin kopyaları ile sınırlıdır (/proc ve /sys) dosyaları.
PowerFlex Manager ana bilgisayarında disk alanı kullanımını en aza indirmek için paketin akışı uzak bir ana bilgisayardan --output-file=- ile yapılabilir. Akış sırasında, paket dosyası doğrudan standart çıktıya (stdout) yazılır; Diskte oluşturulmadı.
Veri toplamadan önce, yardımcı program hem geçici çalışma dizini hem de çıktı paketi için gerekli disk alanını tahmin eder.
Tahmini gerekli alan, ilgili dosya sistemlerindeki kullanılabilir alanı aşarsa yardımcı program bir hata ile sonlandırılır. Bu kontrol --skip-space-check ile atlanabilir.
Çalışma dizini ve çıktı dizini farklı dosya sistemlerinde bulunabilir; Her biri bağımsız olarak kontrol edilir.
Tahmini alan gereksinimleri yardımcı programın günlük dosyasına yazılır. pfmp_support.log.
ÇIKIŞ DURUMU
| 0 | Başarıyla tamamlandı |
| 1 | Hata (geçersiz bağımsız değişkenler, yetersiz alan, zaten çalışan başka bir örnek, paket oluşturma hatası, sinyal yakalandı vb.) |
DOSYALARI
<WORK_DIR>/pfmp_support.log |
Yürütme günlüğü (pakete de dahildir) |
<WORK_DIR>/powerflex-pfmpsupport-tmp/ |
Geçici çalışma dizini (başarılı olunca temizlenir) |
/tmp/powerflex-pfmpsupport/pfmpSupport.tgz |
Varsayılan çıktı paketi konumu |
<WORK_DIR>/powerflex-pfmpsupport-extra/
/tmp/powerflex-pfmpsupport-extra/ |
İsteğe bağlı ek tanılama veri dizinleri |
/tmp/powerflex-pfmpsupport-backup/ |
Değiştirilen yapılandırma dosyalarının geçici yedeklemeleri (otomatik olarak oluşturulur) |
ORTAM
Önkoşullar
- Yardımcı program kök olarak (veya sistem dosyalarını okumak, tanılama komutlarını yürütmek, Kubernetes kümesiyle etkileşim kurmak ve erişmek için yeterli ayrıcalıklara sahip bir kullanıcı) olarak çalıştırılmalıdır.
/proc,/sys, vb.). - Standart yardımcı programlar:
tar,gzip,stat,find,awk,sed,getopt(1)(geliştirilmiş),nice. - İsteğe Bağlı:
zip(İçin--zip),xz(İçin--xz).
Eşzamanlılık
Aynı anda yalnızca bir pfmp_support örneği çalıştırılabilir. Yardımcı program, çalışan mevcut bir örneği şu yollarla kontrol eder: pidof(1) ve bulunursa sona erer.
Sinyal İşleme
Şebeke tuzakları INT, EXITve TERM veri toplama sırasındaki sinyaller. Bir sinyal aldıktan sonra:
- Yedeklenmiş yapılandırma dosyalarını geri yükler.
- Geçici dizinleri temizler.
- Durum 1 ile çıkar.
Yürütme günlüğü korunur ve yolu standart hataya yazdırılır.
ÖRNEKLER
Standart bir destek paketi toplayın:
pfmp_support
Bir Kubernetes kümesindeki birden çok düğümden paket toplayın.
- ile bir düğümde
kubectlvehelmerişim, tüm Kubernetes verilerini toplama:pfmp_support - Sonraki düğümlerde, paylaşılan Kubernetes verilerini atlayın:
pfmp_support --skip-kubernetes-shared
Uzak PowerFlex Manager ana bilgisayarında paket dosyası oluşturmadan SSH bağlantısı üzerinden paket akışı yapın:
ssh <host> 'pfmp_support --output-file=-' > pfmpSupport-<host>.tgz
Doldurmayı önlemek için farklı bir çalışma dizini kullanın /tmp:
pfmp_support --work-dir=/var/tmp
Pakete özel yollar ekleyin:
pfmp_support --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'