Farklı Alibaba Cloud hesaplarına ait Container Service for Kubernetes (ACK) kümelerinden konteyner günlüklerini toplayın ve bunları tek bir Simple Log Service projesinde merkezileştirin.
Arka Plan
Bir e-ticaret şirketi, Çin (Hangzhou) bölgesindeki Kubernetes kümelerinde iki uygulama çalıştırır ve günlüklerini yönetmek için aynı bölgedeki Simple Log Service hizmetini kullanır.
A Uygulaması, Alibaba Cloud A hesabına (12****456) ait bir Kubernetes kümesinde dağıtılmıştır. Bu uygulamanın günlükleri, aynı hesaptaki Simple Log Service tarafından yönetilir.
B Uygulaması, Alibaba Cloud B hesabına (17****397) ait bir Kubernetes kümesinde dağıtılmıştır. Bu uygulamanın günlükleri, aynı hesaptaki Simple Log Service tarafından yönetilir.
Şirket, her iki uygulamadan gelen günlükleri Alibaba Cloud A hesabındaki (12****456) Simple Log Service projesinde merkezileştirmek ve her uygulamanın günlüklerini ayrı bir Logstore'da saklamak istemektedir. Bunu sağlamak için B Uygulaması adına bir Logtail toplama yapılandırması, makine grubu ve Logstore oluşturursunuz. A Uygulaması için mevcut günlük toplama kurulumu değişmez.
1. Adım: Alibaba Cloud hesap tanımlayıcısını ayarlayın
Loongcollector bileşeni
-
Kullanıcı tanımlayıcısını Alibaba Cloud A hesabı olarak ayarlayın.
Alibaba Cloud B hesabıyla ACK konsolunda oturum açın.
Clusters sayfasında, hedef kümenin adını tıklayın.
Sol gezinme bölmesinde seçeneklerini seçin.
Helm sayfasında kube-system ad alanını seçin ve loongcollector uygulamasının Actions sütunundaki Update seçeneğini tıklayın.
-
Update Release iletişim kutusunda, Target Helm Chart Values Configuration bölümünde aşağıdaki adımları uygulayın:
aliUid parametresini bir Alibaba Cloud hesabının ID değeriyle yapılandırın. Birden fazla hesap ID'sini virgül (,) ile ayırın; örneğin,
17****397,12****456.baseMachineGroupName değerini not edin. Bu, makine grubu için özel tanımlayıcıdır. Simple Log Service'te bir makine grubu oluştururken Custom Identifier parametresini bu değere ayarlayın; örneğin,
k8s-group-cc47****54428. Bu bölümde ayrıcaaccessKeyID,accessKeySecretveclusterAgentalanları da gereklidir.
I acknowledge that the current parameters will be completely overwritten during the update and I understand the related risks outlined in the "Disclaimer" onay kutusunu işaretleyin ve OK düğmesini tıklayın.
Sol gezinme bölmesinde seçeneklerini seçin. kube-system ad alanında loongcollector-ds öğesini tıklayarak ayrıntılar sayfasını açın. Tüm pod'ların Running durumunda olduğunu ve yapılandırma güncellemesinden sonra oluşturulduğunu doğrulayın.
Logtail-ds bileşeni
-
Kullanıcı tanımlayıcısını Alibaba Cloud A hesabı olarak ayarlayın.
Alibaba Cloud B hesabıyla ACK konsolunda oturum açın.
Clusters sayfasında hedef kümeyi tıklayın.
Sol gezinme bölmesinde seçeneklerini seçin.
Namespace değerini kube-system olarak ayarlayın, ardından ConfigMaps listesinde alibaba-log-configuration öğesini bulun ve Edit seçeneğini tıklayın.
-
Edit panelinde aşağıdaki adımları uygulayın ve ardından OK düğmesini tıklayın.
Alibaba Cloud A hesabının ID değerini log-ali-uid ConfigMap'e ekleyin ve bir makine grubu oluştururken Custom Identifier olarak kullanmak üzere log-machine-group ConfigMap'inin değerini (örneğin, k8s-group-cc47****54428) not edin.
Birden fazla hesap ID'sini virgül (,) ile ayırın. Örnek:
17****397,12****456.
-
Yapılandırmayı uygulamak için logtail-ds bileşenini yeniden başlatın.
logtail-ds ayrıntılar sayfasında tüm pod'ların Running durumunda olduğunu ve yapılandırma güncellemesinden sonra oluşturulduğunu doğrulayın.
2. Adım: Bir makine grubu oluşturun
Alibaba Cloud A hesabıyla Simple Log Service konsolunda oturum açın.
Projects bölümünde hedef Projeyi tıklayın.
Sol gezinme bölmesinde seçeneklerini seçin.
Machine Groups öğesinin sağ tarafında seçeneklerini tıklayın.
-
Create Machine Group iletişim kutusunda aşağıdaki parametreleri yapılandırın ve ardından OK düğmesini tıklayın.
Custom Identifier değeri, 1. Adım: Bir Alibaba Cloud hesabını kullanıcı tanımlayıcısı olarak ayarlama adımında elde ettiğiniz makine grubu tanımlayıcısına (örneğin, k8s-group-cc47****54428) ayarlanmalıdır. Diğer parametreler hakkında daha fazla bilgi için bkz. Özel tanımlayıcı içeren bir makine grubu oluşturma. Name değerini
k8s-groupolarak ayarlayın, Custom Identifier için Machine Group Identifier seçeneğini belirleyin ve Custom Identifier metin kutusunak8s-group-cc{Instance ID}gibi özel tanımlayıcı değerini girin. -
Makine grubundaki tüm sunucuların heartbeat durumunun OK olduğunu kontrol edin.
Makine grubu listesinde hedef makine grubunu tıklayın.
-
Machine Group Configurations sayfasında konteyner düğümlerinin (ECS) heartbeat durumunu görüntüleyin.
OK durumundaki bir Heartbeat durumu, konteyner düğümünün Simple Log Service'e bağlı olduğunu gösterir. Durum FAIL ise bkz. Logtail makine grubunda heartbeat yok. Tüm düğümler OK gösterdiğinde makine grubu kullanıma hazırdır.
3. Adım: Bir Logtail toplama yapılandırması oluşturun
Alibaba Cloud A hesabıyla Simple Log Service konsolunda oturum açın.
Data Collection alanında Kubernetes - File seçeneğini tıklayın.
Hedef Proje ve LogStore'u seçin ve Next düğmesini tıklayın.
Use Existing Machine Groups seçeneğini tıklayın.
2. Adım: Bir makine grubu oluşturma adımında oluşturduğunuz makine grubunu seçin, bunu Source Machine Group listesinden Applied Machine Group listesine taşıyın ve Next düğmesini tıklayın.
-
Logtail toplama yapılandırmasını ayarlayın ve Next düğmesini tıklayın.
Parametreler hakkında daha fazla bilgi için bkz. Konsolu kullanarak DaemonSet modunda konteyner metin günlüklerini toplama.
Önemli-
Varsayılan olarak, yalnızca bir Logtail toplama yapılandırması bir dosyayla eşleşebilir. B hesabı için toplama yapılandırması hala etkin olduğundan, A hesabı için yeni yapılandırma uygulanamaz. A hesabı için yapılandırmayı etkinleştirmek amacıyla aşağıdaki yöntemlerden birini kullanabilirsiniz:
B hesabı için günlük toplamayı durdurun. Bunu yapmak için B hesabıyla SLS konsolunda oturum açın ve Logtail toplama yapılandırmasını hedef makine grubundan kaldırın. Daha fazla bilgi için bkz. Belirtilen bir makine grubuna Logtail yapılandırması uygulama.
A hesabı için zorunlu bir toplama yapılandırması ekleyin. Daha fazla bilgi için bkz. Bir dosyadan birden çok kez günlük nasıl toplanır.
Logtail toplama yapılandırmasını oluşturduktan sonra, yinelenen günlük toplamayı önlemek için Alibaba Cloud B hesabına ait orijinal yapılandırmayı silin. Daha fazla bilgi için bkz. Logtail yapılandırmasını silme.
-
-
Verileri önizleyin, dizin ayarlayın ve Next düğmesini tıklayın.
Simple Log Service, varsayılan olarak tam metin dizin oluşturmayı etkinleştirir. Ayrıca, toplanan günlüklere göre manuel veya otomatik olarak alan dizinleri de oluşturabilirsiniz. Daha fazla bilgi için bkz. Dizin oluşturma.
İlgili işlemler
Geçmiş verileri Alibaba Cloud B hesabından mevcut Logstore'a aktarmak için kaynak Logstore'da bir veri dönüşümü işi oluşturun. Daha fazla bilgi için bkz. Bir LogStore'dan veri çoğaltma.
Hesaplar arasında veri dönüştürürken yetkilendirme için özel bir rol kullanmanız gerekir.
İlk Role ARN, veri dönüşümü görevine kaynak Logstore'a okuma erişimi verir. Daha fazla bilgi için bkz. Bir RAM rolüne kaynak LogStore'a salt okunur erişim izni verme.
İkinci Role ARN, veri dönüşümü görevine hedef Logstore'a yazma erişimi verir. Daha fazla bilgi için bkz. Bir RAM rolüne hedef LogStore'a veri yazma izni verme (hesaplar arası).
> Create Machine Group