VNC konsolu açılamıyor
Belirti
Sanal makine (VM) konsolu web arayüzünde açılmıyor ve bağlantı kurulmuyor.
Nasıl kontrol edilir
Bu adımları sırayla izleyin: her adım yalnızca önceki kontrol başarılı olduğunda anlamlıdır.
- Makine durumu. Konsol yalnızca çalışan bir makine için açılır: VM listesindeki State sütununu kontrol edin. Durdurulmuş bir makinenin konsol düğmesi yoktur.
- İzinler.
Access VM Consoleyetkisi (1102) konsolun açılmasına izin verir. Bu yetki olmadan çağrı-403döndürür. - Güvenlik günlüğü.
Security Event Logbölümünde Category filtresinivirtual machinesolarak ayarlayın. Başarılı bir bağlantıvm.console_connected, başarısız bir bağlantıvm.console_connect_failed, konsol isteğinin kendisi isevm.console_accesskaydını oluşturur. Bunlar, isteğin WSS köprüsüne ulaşıp ulaşmadığını veya daha önce başarısız olup olmadığını gösterir. İlk iki olay türü 3.0.5'te eklendi. - HTTPS uç noktasına giden ağ yolu. WebSocket bağlantısı tüm yolu geçebilmelidir:
Upgradebaşlığını iletmeyen proxy'ler ve yük dengeleyiciler konsol bağlantısını bozar, normal API çağrıları ise çalışmaya devam eder.
Neden
Konsol, kümenin HTTPS uç noktasındaki WebSocket proxy'si üzerinden çalışır. Kullanılamama durumu genellikle süresi dolmuş bir oturumdan veya HTTPS uç noktasına giden yolda engellenen bir WebSocket bağlantısından kaynaklanır.
Daha az belirgin üçüncü bir neden de vardır: "konsol belirteci–makine" eşlemesi dağıtıcı belleğinde 300 saniye tutulur; bu aynı zamanda WSS köprüsünün varsayılan ömrüdür. Eşleme bilinçli olarak kalıcı değildir. Bunun iki sonucu vardır. Bir konsol bağlantısı daha sonra açılamaz: beş dakika sonra artık hiçbir şeyle ilişkili değildir. Dağıtıcının yeniden başlatılması eşlemeyi kaybettirir. Açık konsollar çalışmaya devam eder, çünkü köprüyü kümenin HTTPS uç noktası sürdürür. Günlük zenginleştirmesi kaybolur: bağlantı olayı kullanıcı veya makine bilgisi olmadan kaydedilir ve kayıtta yalnızca belirteç parmak izi ile istemci adresi kalır.
Konsol çağrısının kendi hatalarının ayrı kodları vardır: -3103, bu kimliğe sahip bir
makinenin bulunmadığı veya makinenin görünürlük kapsamınızın dışında olduğu anlamına
gelir; -3112, desteklenmeyen bir konsol türünün istendiği anlamına gelir; -403,
yetkinin eksik olduğu anlamına gelir; -78 ise bir veritabanı hatası anlamına gelir.
Çözüm
Oturumu yenileyin (yeniden oturum açın) ve kümenin HTTPS uç noktasına giden ağ yolunun WebSocket bağlantılarına izin verdiğini doğrulayın, ardından konsolu yeniden açın.
Günlükte vm.console_connect_failed görünüyorsa istek köprüye ulaşmıştır ve sorun ağda
veya eşlemenin ömründedir: konsolu kaydedilmiş bir bağlantıdan değil, arayüzden yeniden
açın. Günlükte bu üç olayın hiçbiri yoksa hata köprüden önce meydana gelmiştir: makine
durumunu ve yetkiyi kontrol edin.
API yöntemleri
Bu sayfada ele alınan API işlemleri vm-console, vm-get ve security-event-list
yöntemleridir. Bkz. API başvurusu.
Ayrıca bkz.
- VM gücü ve konsol—konsolun nasıl açılacağı ve neleri desteklediği.
- Günlüğü okuma ve olayları filtreleme—kategoriye göre filtreleme ve tek bir kaydı inceleme.
- Roller ve yetkiler—
Access VM Consoleyetkisinin nerede bulunacağı.