Cloud Assistant komut yürütme sonuçlarını kontrol edin, hataları hata kodlarına göre tanılama adımlarını uygulayın ve yaygın sorunları çözün.
Arka plan
Komutlar eksik bağımlılıklar, ağ sorunları, söz dizimi hataları, hata ayıklama başarısızlıkları veya anormal örnek durumları gibi çeşitli nedenlerle başarısız olabilir. Konsol üzerinden veya API çağrılarıyla yürütme sonuçlarında yer alan hata ayrıntılarını kontrol edin.
Yürütme sonuçlarını görüntüleme
Konsol
ECS konsolu - Cloud Assistant sayfasına gidin.
Sayfanın sol üst köşesinde bir bölge ve kaynak grubu seçin.
-
Command execution result sekmesine tıklayın.
-
Bir komut başarıyla yürütüldüğünde:
Execution Status değeri Successful olan sonucu bulun.
Actions sütununda View öğesine tıklayın.
-
Instances sayfasının Task Completed sekmesinde komut çıktısını görüntüleyin.
Yürütme sonuçları tablosunda Execution Status sütunu Success değerini gösterir ve ExitCode değeri
0olur. Aşağıdaki alanda komut tarafından döndürülen JSON çıktısı görüntülenir.
-
Bir komut başarısız olduğunda:
Execution Status değeri Task Failed olan sonucu bulun.
Actions sütununda View öğesine tıklayın.
-
Instances sayfasının Task Failed sekmesinde hata bilgilerini görüntüleyin.
Yaygın hatalar ve çözümleri için Yaygın yürütme hataları ve çözümleri bölümüne bakın.
Örnekte ExitCode değeri
5olup hata açıklaması The command execution ended with a non-zero exit code şeklindedir. Komut çıktısındaki önemli bilgiler şunlardır:Not ECS : False(örneğin bir ECS örneği olduğunu gösterir). Diğer çıktılar arasındaVersion : 3.5.12,Region ID: cn-hangzhouveCPU Type : amd64yer alır.
-
Zamanlanmış bir komut için:
Execution Status değeri Scheduled olan sonucu bulun.
Actions sütununda View öğesine tıklayın.
Instances sayfasında zamanlanmış yürütme ayrıntılarını görüntüleyin.
-
CLI
CLI kullanımı hakkında bilgi için Alibaba Cloud CLI ile Alibaba Cloud kaynaklarını yönetme konusuna bakın.
InvokeId değerini RunCommand veya InvokeCommand yanıtından alın.
-
Sonuçları InvokeId ve RegionId parametreleriyle sorgulayın. Aşağıdaki örnekte China (Shanghai) bölgesi kullanılmıştır. Diğer bölge kimlikleri için Bölgeler ve alanlar bölümüne bakın.
-
DescribeInvocationskomutuyla yürütme durumunu görüntüleyin:aliyun ecs DescribeInvocations --RegionId cn-shanghai --InvokeId t-sh054h***** -
DescribeInvocationResultskomutuyla yürütme sonuçlarını görüntüleyin:aliyun ecs DescribeInvocationResults --RegionId cn-shanghai --InvokeId t-sh054h******
-
API
InvokeId değerini RunCommand veya InvokeCommand yanıtından alın.
InvokeId ve bölge kimliği parametreleriyle DescribeInvocations veya DescribeInvocationResults API işlemini çağırın.
Sorun giderme
Yaygın hatalar
|
Hata kodu |
Hata mesajı |
Öneri |
|
InstanceNotRunning |
Komut verildiğinde örnek çalışmıyordu. |
Örneğin Running durumunda olduğundan emin olun. |
|
InstanceRestarted |
Komut yürütülürken örnek yeniden başlatıldı. |
Komut yürütme sırasında örneği yeniden başlatmaktan kaçının. |
|
ClientNotRunning |
Cloud Assistant Agent çalışmıyor. |
Cloud Assistant Agent durdurulmuş veya yüklenmemiş. Aracı başlatın veya yükleyin:
Not
Cloud Assistant Agent yine de başlatılamazsa yeniden yüklemek için Cloud Assistant Agent'ı yükleme konusuna bakın. |
|
ClientNetworkBlocked |
Örnekte ağ bağlantısı sorunları var. |
Not
|
|
SecurityGroupRuleDenied |
Bir güvenlik grubu kuralı Cloud Assistant hizmetine erişimi engelliyor. |
|
|
ClientNotResponse |
Cloud Assistant Agent yanıt vermedi. |
Cloud Assistant Agent günlüklerini kontrol edin:
|
|
ClientNeedUpgrade |
Belirtilen özelliği desteklemek için Cloud Assistant Agent yükseltilmelidir. |
|
|
ClientNotOnline |
Cloud Assistant Agent Cloud Assistant sunucusuna bağlı değil. |
Cloud Assistant Agent'ı yeniden başlatın. Bkz. Cloud Assistant Agent'ı durdurma ve kaldırma. |
|
DeliveryTimeout |
Cloud Assistant sunucusu komutu Cloud Assistant Agent'a gönderemedi. |
Komutu tekrar çalıştırın. |
|
ExecutionTimeout |
Komut yürütmesi zaman aşımına uğradı. |
Gerektiğinde komut zaman aşımı süresini artırın.
|
|
ExecutionException |
Komut yürütme sırasında bir özel durum oluştu. |
Ayrıntılar için ErrorInfo alanını kontrol edin. |
|
ExitCodeNonzero |
Komut sıfırdan farklı bir çıkış koduyla tamamlandı. |
Komut betiğini ve çıktısını kontrol edin. |
|
ClientRestarted |
Cloud Assistant Agent yeniden başlatıldığı için komut kesintiye uğradı. |
Aracı yeniden başlattıktan sonra komutu tekrar çalıştırın. Aracı durumunu Cloud Assistant konsolundan kontrol edebilir veya DescribeCloudAssistantStatus API işlemini çağırabilirsiniz. |
|
InstanceReleased |
Komut yürütülürken örnek serbest bırakıldı. |
Hedef örnek serbest bırakıldığı için komut başarısız oldu. |
|
DirectoryNotExists |
Belirtilen çalışma dizini örnekte mevcut değil. |
Örnekte çalışma dizinini oluşturun, ardından komutu tekrar çalıştırın. |
Komut çalıştırma
|
Hata kodu |
Hata mesajı |
Çözüm |
|
ClientIsUpgrading |
Cloud Assistant Agent yükseltiliyor. |
Yükseltme tamamlandıktan sonra komutu tekrar çalıştırın. Aracı durumunu Cloud Assistant konsolundan kontrol edebilir veya DescribeCloudAssistantStatus API işlemini çağırabilirsiniz. |
|
InstanceDeregistered |
Yönetilen örnek kaydından silindi. |
Yönetilen örnek kaydından silindiği için komut başarısız oldu. |
|
InvalidSystemBuiltInParameter |
Yerleşik ortam parametresi geçersiz. |
Yerleşik ortam parametresi desteklenmiyor. Desteklenen parametreler için RunCommand içindeki |
|
DefaultWorkingDirectoryNotAvailable |
Örnekteki varsayılan çalışma dizini kullanılamıyor. |
Varsayılan çalışma dizinini kontrol edin:
Konsoldan veya RunCommand API işleminin |
|
CommandNotApplicable |
Komut türü belirtilen örnek için geçerli değil. |
Her komut türü aşağıdaki işletim sistemlerini destekler:
|
|
InvalidCommandText |
Komut içeriği geçersiz. |
Komut içeriğini doğrulayın. İçerik düz metin veya Base64 kodlu olabilir. |
|
CommandContentDecodeError |
Komut içeriği decode edilemedi. |
Base64 kodlu ise kodlamanın doğru olduğunu doğrulayın. |
|
AccountNotExists |
Belirtilen kullanıcı örnekte mevcut değil. |
Komutu çalıştırmadan önce örnekte kullanıcıyı oluşturun.
Konsoldan veya RunCommand API işleminin |
Zamanlanmış komut çalıştırma
|
Hata kodu |
Hata mesajı |
Çözüm |
|
BadCronExpression |
Cron ifadesi geçersiz. |
Cron ifadesini düzeltin. Bkz. Saat tabanlı zamanlama. |
|
CronExpressionExpired |
Cron ifadesinin süresi doldu. Zamanlanmış görev çalışmayacaktır. |
Süresi dolmamış bir cron ifadesi belirtin. |
|
InvalidGMTOffsetForTimezone |
Cron ifadesinde geçersiz GMT ofset saat dilimi biçimi var. |
GMT ofset saat dilimi biçimini kontrol edin. Desteklenen aralık: GMT-12:59 ile GMT+14:59. Dakikalar: 0-59. Saat değeri için baştaki sıfırlar desteklenmez. |
|
InvalidGMTOffsetHourForTimezone |
Cron ifadesindeki GMT ofset saati geçersiz. |
GMT ofset saat diliminin saat değerini kontrol edin. Desteklenen aralık: GMT-12:59 ile GMT+14:59. Saat değeri için baştaki sıfırlar desteklenmez. |
|
InvalidGMTOffsetMinuteForTimezone |
Cron ifadesindeki GMT ofset dakikası geçersiz. |
GMT ofset saat diliminin dakika değerini kontrol edin. Geçerli değerler: 0 ila 59. |
|
TimezoneInformationCorrupt |
Saat dilimi dosyası bozuk olduğu için Cloud Assistant Agent saat dilimi bilgilerini ayrıştıramıyor. |
Not
Saat dilimi dosyası yoksa komutu çalıştırmadan önce dosyayı oluşturun. |
|
InvalidRateExpression |
Rate ifadesi geçersiz. |
Rate ifadesini düzeltin. Bkz. Sabit aralıklı yürütme. |
|
RateFrequencyTooLarge |
Zamanlanmış yürütme sıklığı çok yüksek. |
Yürütme sıklığı 7 günü aşamaz. |
|
InvalidAtExpression |
Zaman damgası (at ifadesi) geçersiz. |
Zaman damgasını düzeltin. Bkz. Belirtilen bir zamanda komutu yalnızca bir kez çalıştırma. |
|
AtExpressionExpired |
Zaman damgasının (at ifadesi) süresi doldu. Zamanlanmış görev çalışmayacaktır. |
Süresi dolmamış bir zaman damgası belirtin. |
Konteynerde komut çalıştırma
|
Hata kodu |
Hata mesajı |
Çözüm |
|
InvalidContainerName |
Konteyner adı geçersiz. |
Ad bir harf veya rakamla başlamalı, yalnızca harfler, rakamlar, noktalar (.), alt çizgiler (_) ve tireler (-) içermeli ve 255 karakterden kısa olmalıdır. |
|
UnsupportedContainerRuntime |
Konteyner kimliğinde belirtilen konteyner çalışma zamanı desteklenmiyor. |
Yalnızca docker, containerd veya cri-o çalışma zamanlarında Kubernetes tarafından CRI belirtimi üzerinden yönetilen konteynerler desteklenir. |
|
InvalidContainerId |
Konteyner kimliği geçersiz. |
Konteyner kimliği 64 bitlik onaltılık bir dize olmalıdır. Çalışma zamanını belirtmek için isteğe bağlı olarak bir ön ek ( |
|
ContainerConnectFailed |
Konteynere bağlanılamıyor. |
Konteynerin çalışıp çalışmadığını kontrol edin. Konteyner durumunu kontrol etmek için
|
|
ContainerStateAbnormal |
Konteyner durumu anormal. |
Konteynerin çalıştığından emin olun. Cloud Assistant yalnızca çalışan konteynerlerde komut çalıştırır. Durumu kontrol etmek için |
|
ContainerNotFound |
Konteyner mevcut değil. |
Konteynerin ada veya kimliğe göre mevcut olduğunu doğrulayın. Yöntem 1: kubectl kullanma
Yöntem 2: Cloud Assistant Agent kullanma
|
|
ContainerNameDuplicated |
Düğümdeki birden fazla konteyner aynı adı paylaştığı için hedef konteyner tanımlanamıyor. |
|
|
ContainerNameAndIdNotMatch |
Belirtilen konteyner kimliği ile konteyner adı eşleşmiyor. |
Konteyner kimliği ve adının aynı konteynere atıfta bulunduğunu doğrulayın. |
Windows'ta varsayılan olmayan bir kullanıcı olarak komut çalıştırma
Windows örneğinde varsayılan olmayan bir kullanıcı olarak komut çalıştırırken aşağıdaki sorunlar oluşabilir.
|
|
|
|
|
|
|
|
|
|
|
Parolanın CloudOps Orchestration Service parametre deposunda bulunduğunu doğrulayın. Bkz. Şifreli parametreler. Örnek RAM rolünün gerekli izinlere sahip olduğunu doğrulayın. Bkz. Windows örneği için RAM rolü yapılandırma. |
|
|
|
|
Komut durdurma
|
|
|
|
|
|
|
|
Dosya gönderme
|
Hata kodu |
Hata mesajı |
Çözüm |
|
FileAlreadyExists |
Hedef yolda aynı ada sahip bir dosya zaten var. |
Bu sorunu aşağıdaki yöntemlerden biriyle çözün:
3. Hedef örnekteki hedef yolu veya dosya adını değiştirin. |
|
FileNameInvalid |
Dosya adı geçersiz. |
Dosya adının Windows veya Linux adlandırma kurallarına uygun olduğundan emin olun.
|
|
FilePathInvalid |
Dosya yolu geçersiz. |
Dosya yolunun Windows veya Linux yol kurallarına uygun olduğundan emin olun.
|
|
FileAuthorityInvalid |
Dosya izinleri geçersiz. |
Dosya izinlerini ayarlayın. Bu yalnızca Linux örnekleri için geçerlidir ve chmod ile aynı biçimi kullanır. |
|
UserGroupNotExists |
Belirtilen kullanıcı grubu örnekte mevcut değil. |
Varsayılan grup: root. Linux örneğinde kullanıcı grubunu oluşturun. Örnek komut: |
SSS
S: Windows sunucusunda Cloud Assistant ile bir PowerShell betiği çalıştırdığımda çıktı neden bozuk karakterler gösterir ve bunu nasıl düzeltebilirim?
C: Cloud Assistant tarafından kullanılan PowerShell ortamı varsayılan olarak UTF-8 çıktı kodlamasını kullanmaz.
Konsol bunları doğru şekilde ayrıştıramadığı için ASCII dışı karakterler (Çince gibi) bozuk metin olarak görüntülenir.
İki çözüm:
-
Betikte değişiklik yapma: Betiğin başına UTF-8 kodlaması ekleyin.
Windows Server 2022'de Cloud Assistant Çince karakter kodlamasını varsayılan olarak doğru şekilde işler. Manuel UTF-8 ayarı gerekmez.
PowerShell betiğinizin başına şunu ekleyin:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 Write-Output "Testing Chinese output..." -
Launcher'ı değiştirme: Cloud Assistant gelişmiş seçeneklerinde yürütmeden önce kodlamayı ayarlayın.
Gelişmiş seçeneklerde Launcher alanına şunu girin:
powershell -command [Console]::OutputEncoding=[System.Text.Encoding]::UTF8;{{ACS::ScriptFileName|Ext(.ps1)}};exit $LastExitCodeBu işlem bu görevdeki tüm PowerShell betiklerine UTF-8 kodlaması uygular. Tek tek betiklerde değişiklik yapmanız gerekmez.