İzleme AWS Fargate
Instana, Fargate ve Elastic Compute Cloud (EC2) olmak üzere iki başlatma tipi ile AWS Elastic Container Service 'i (ECS) destekler.
AWS Fargate üzerinde çalışan konteynerli uygulamaları izlemek için, Setting up Instana Fargate collectors bölümünde açıklandığı gibi Fargate toplayıcılarını kurun. Anasistem aracısını kurmanıza gerek yok.
AWS ECS 'nin EC2başlatma tipiyle kullanılması için bkz. AWS ECS' de anasistem aracısının EC2' de kurulması.
Not: AWS Fargate on Elastic Kubernetes Services (EKS) desteklenmez.
- Instana Fargate toplayıcılarının Ayarlanması
- Görev tanımlamasını yapılandırma
Instana Fargate toplayıcılarının Ayarlanması
AWS Fargate üzerinde çalışan uygulamaları izlemek için, YönOrtamıana aşağıdaki Fargate toplayıcılarını kullanır:
İzlemeye başlamak için bu toplayıcıları YönOrtama ayarla.
Node.js
Node.js Fargate toplayıcısı, toplayıcı dosyalarını ve bir kullanıma hazırlama komut dosyasını içeren bir Docker aracı görüntüsü katmanı üzerinden teslim edilir.
Uygulamanız CommonJSkullanılarak geliştirildiyse, CommonJS bölümündeki adımları izleyerek Node.js Fargate Collector olanağını ayarlayın.
Uygulamanız ECMAScript modüllerinde geliştirildiyse, ECMAScript modülleri bölümündeki adımları izleyerek Node.js Fargate toplayıcısını ayarlayın.
CommonJS
Dockerfileürününüzü, sonFROMyantümcesinden sonra herhangi bir yere ekleyin:COPY --from=icr.io/instana/aws-fargate-nodejs:latest /instana /instana RUN /instana/setup.sh ENV NODE_OPTIONS="--require /instana/node_modules/@instana/aws-fargate"Taşıyıcıyı oluşturun ve seçtiğiniz görüntü havuzuna itin.
Görev tanımlamasını yapılandırmakısmında açıklanan yapılandırma adımlarını tamamlayın.
ECMAScript modülleri
Dockerfileürününüzü, sonFROMyantümcesinden sonra herhangi bir yere ekleyin:COPY --from=icr.io/instana/aws-fargate-nodejs:latest /instana /instana RUN /instana/setup.sh ENV NODE_OPTIONS="--experimental-loader=/instana/node_modules/@instana/aws-fargate/esm-loader.mjs"Taşıyıcıyı oluşturun ve seçtiğiniz görüntü havuzuna itin.
Görev tanımlamasını yapılandırmakısmında açıklanan yapılandırma adımlarını tamamlayın.
Notlar:
- Çok aşamalı oluşturmalar kullanıyorsanız (yani,
Dockerfileiçinde birden çokFROMyantümcesi varsa), bu satırlarıDockerfileürününüzdeki sonFROMyantümcesinden sonra ekleyin. - AWS Fargate 'de Node.js işlemlerinin otomatik tanıtımı oluşturma desteklenmez.
Sürüm Oluşturma
icr.io/instana/aws-fargate-nodejs:latest Docker görüntüsü, geçerli ana sürümden bağımsız olarak en son kullanılabilir görüntü sürümünü kullanır. Örneğin, ana sürüm 4 serbest bırakılırsa ve şu anda resim sürümünüz 3 ise, :latestetiketini kullanırsanız, resim bir sonraki yeniden oluşturma işlemi için otomatik olarak sürüm 4 'e güncellenir.
Not: En son görüntü sürümünün kullanılabilir olmasını istemiyorsanız, icr.io/instana/aws-fargate-nodejs:1 (sürüm 1) gibi bir ana görüntü sürümü kullanın ve sonraki ana sürüme el ile güncelleyin.
Daha fazla bilgi için bkz. Node.js sürüm oluşturma.
Bağımlılıklar ve yerel eklentiler oluşturun
Yerel Node.js eklentileri oluşturmak için gerekli paketlere sahip olmayan Node.js kapsayıcılarınız için temel düzey bir görüntü kullanırsanız, Docker oluşturmanızda aşağıdaki uyarıyı görebilirsiniz:
gyp ERR! ...some error message from trying to rebuild native add-ons, for example:
gyp ERR! stack Error: Could not find any Python installation to use
...
Warning: Rebuilding native add-ons for @instana/fargate failed. Monitoring the Fargate tasks will work nonetheless, but you will miss some Node.js metrics (GC metrics, event loop metrics, ...). See https://www.instana.com/docs/ecosystem/aws-fargate/#build-dependencies-and-native-add-ons for details."
Günlük iletisi, Instana 'nın Node.js Fargate görevinizi izlediğini, ancak belirli metrikleri gözden kaçırdığını gösterir. Ölçüm kaybını önlemek için, oluşturma sırasında en azından geçici olarak eksik işletim sistemi paketlerini kurun. Bu paketler son görüntüde hariç tutulabilir. Paketlerin tipi ve nasıl kurulacağı dağıtımınıza bağlıdır.
Linux Alpineiçin aşağıdaki örnek Dockerfile parçacığına bakın:
COPY --from=icr.io/instana/aws-fargate-nodejs:latest /instana /instana
RUN apk add --no-cache --virtual .gyp \
build-base \
python \
&& /instana/setup.sh \
&& apk del .gyp python
ENV NODE_OPTIONS="--require /instana/node_modules/@instana/aws-fargate"
Debiantabanlı dağıtımlar için aşağıdaki örneğe bakın ( Ubuntudahil):
COPY --from=icr.io/instana/aws-fargate-nodejs:latest /instana /instana
RUN apt-get update \
&& apt-get install build-essential \
&& /instana/setup.sh \
&& apt-get remove -y build-essential
ENV NODE_OPTIONS="--require /instana/node_modules/@instana/aws-fargate"
yum paket yöneticisini kullanan dağıtımlar için ( CentOS ve RHEL gibi), gerekli paketleri kurmak için aşağıdaki komutu çalıştırın:
RUN yum groupinstall "Development Tools"
Node.js katmanının containers.instana.io öğesinden alınması
Docker katmanı, IBM kapsayıcı kayıt defterinde genel olarak bulunur. Node.js Instana Fargate resim katmanını buradan edinebilirsiniz. Diğer bir seçenek olarak, görüntü katmanını containers.instana.io kaydından da edinebilirsiniz. Örneğin, görüntü katmanının yalnızca kimliği doğrulanmış kayıt dosyasında containers.instana.iokullanılabilir olduğu diğer yürütme ortamları (Java ® gibi) ile birlikte Instana Fargate desteğini kullanırsanız ve tutarlılık istiyorsanız, IBM taşıyıcı kaydı yerine containers.instana.io adresinden Node.js görüntü katmanını alabilirsiniz.
Node.js görüntü katmanını containers.instana.io kaydından almak için aşağıdaki adımları tamamlayın:
containers.instana.iokayıt dosyası kimlik doğrulaması gerektirdiğinden, Docker oluşturmanızda kullanmadan önce aşağıdaki komutu çalıştırın:docker login -u _ -p <your-agent-key> containers.instana.io<your-agent-key>yer tutucusunu, Docker görüntünüzü oluşturacağınız sistemdeki Instana aracı anahtarınızla değiştirin.Dockerfileürününüzü, sonFROMyantümcesinden sonra herhangi bir yere ekleyin:COPY --from=containers.instana.io/instana/release/aws/fargate/nodejs:latest /instana /instana RUN /instana/setup.sh ENV NODE_OPTIONS="--require /instana/node_modules/@instana/aws-fargate"
.NET Çekirdeği
Fargate kaplarınızda .NET Core izlemesini kullanılabilir hale getirmeniz, diğer .NET Core konteynerli uygulamalarla aynıdır. İki seçeneğiniz var:
- Geliştirme sırasında uygulamanızda NuGet paketlerini kurma
- Dockerfile kullanarak NuGet paketlerini kurma
Geliştirme sırasında NuGet paketlerini kurma
Geliştirme sırasında NuGet paketlerini kurmak için, tasarım sırasında projenize yeniden yazıcıya ilişkin NuGet paketlerini ve yönetilen izleme uzantılarını eklemeniz ya da kapsayıcı görüntünüzü hazırlarken oluşturmanın bir parçası olarak aşağıdaki adımları tamamlamanız gerekir:
Rewriter programının kurulması
Kapsayıcınızı destekleyen işletim sistemine bağlı olarak, yerel koddan oluşturulan ve belirli sistem kitaplıklarını hedefleyen aşağıdaki yeniden yazma paketlerinden birini seçmeniz gerekir:
- Alpine Linuxtabanlı kapsayıcı görüntüleri için Alpine Rewriter Packageadlı paketi kullanın.
- Diğer Linuxürünleri için Linux Rewriter Packageadlı paketi kullanın.
İzleme paketinin kurulması
Paketler ayrıca, yeniden yazma programı paketi serbest bırakıldığında kullanılabilir olan izleme paketinin en son sürümünü de kurar. Ancak, uygulamanızın kullandığı izleme paketi sürümü üzerinde daha fazla denetim elde etmek için Instana tracing package for .NET Core paketini ekleyin.
.NET Core görev tanımlamasını yapılandır
Görev tanımlamasını yapılandırmabaşlıklı konuda açıklanan yapılandırma adımlarını izleyerek aşağıdaki ortam değişkenlerini ayarlayın:
CORECLR_ENABLE_PROFILING=1
Bu ayar, .NET Core profilinin oluşturulmasını sağlar.CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916dd}
Bu ayar, kullanılacak tanıtım oluşturucununclsidayarını tanımlar.CORECLR_PROFILER_PATH=/app/instana_tracing/CoreProfiler.so
Bu ayar,app' in uygulamanızın yolu olduğunu varsayan tanıtım oluşturucuyu içeren kitaplığı gösterir.DOTNET_STARTUP_HOOKS=/app/Instana.Tracing.Core.dll
Bu ayar, bağımsız .NET Core uygulamalarının ölçüm toplamasını ve desteklenmesini ayarlar.
Docker oluşturmasında NuGet paketlerini kurma
NuGet paketlerini bir Docker kapsayıcısına kurmak için aşağıdaki adımları tamamlayın:
Alpine Linuxtabanlı bir kapsayıcı görüntüsü kullanıyorsanız, ilk satırı aşağıdaki örnekte olduğu gibi
Alpinekullanan uygun NuGet paket postfix ile değiştirin. Tersi durumdaLinuxkullanın.# after building the project, right before publishing, add the nuget-packages RUN dotnet add <project_name>.csproj package Instana.Tracing.Core.Rewriter.<Linux|Alpine> --version <min-version 1.0.56> RUN dotnet add <project_name>.csproj package Instana.Tracing.Core --version <min-version 1.1.46> RUN dotnet publish -c Release -o out # where the files will end up WORKDIR /app COPY --from=publish /src/out . # set the env-vars as discussed above ENV CORECLR_ENABLE_PROFILING=1 ENV CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916dd} ENV CORECLR_PROFILER_PATH=/app/instana_tracing/CoreProfiler.so ENV DOTNET_STARTUP_HOOKS=/app/Instana.Tracing.Core.dll ... # Other stuff in your Docker imageGörev tanımlamasını yapılandırmabaşlıklı konuda açıklanan yapılandırma adımlarını izleyin.
Git
Go Fargate toplayıcısı, github.com/instana/go-sensor 1.14.0 ve sonraki sürümlerinde bulunur. Bu toplayıcı, Görev tanımlamasının yapılandırılması kısmında açıklanan ortam değişkenlerinin ayarlanması dışında ek yapılandırma gerektirmez. İzleyici, uygulamanın AWS Fargate üzerinde çalıştığını algılar ve Fargate toplayıcısını otomatik olarak etkinleştirir.
Ruby
Ruby Fargate Collector, github.com/instana/ruby-sensor 1.197.0 ve sonraki sürümlerinde bulunur. Bu toplayıcı, Görev tanımlamasını yapılandırma kısmında açıklanan standart yapılandırmayı kullanır. İzleyici, uygulamanın AWS Fargate üzerinde çalıştığını algılar ve Fargate toplayıcısını otomatik olarak etkinleştirir.
Java
Java ® Fargate toplayıcısı, toplayıcı dosyalarını içeren bir Docker aracı görüntüsü üzerinden teslim edilir.
Docker katmanı, containers.instana.io kayıt defterinde bulunur. Java resim katmanını Docker kaydından almak için aşağıdaki adımları tamamlayın:
Docker kaydı kimlik doğrulaması gerektirdiğinden, Docker oluşturmanızdaki kaydı kullanmadan önce aracı anahtarınızla kayıtta oturum açın:
docker login -u _ -p <your-agent-key> containers.instana.io<your-agent-key>yer tutucusunu, Docker görüntünüzü oluşturacağınız sistemdeki gerçek Instana aracı anahtarınızla değiştirin.Dockerfileürününüzü, sonFROMyantümcesinden sonra herhangi bir yere ekleyin:COPY --from=containers.instana.io/instana/release/aws/fargate/jvm:latest /instana /instana ENV JAVA_TOOL_OPTIONS="-javaagent:/instana/instana-fargate-collector.jar"Taşıyıcıyı oluşturun ve seçtiğiniz görüntü havuzuna itin.
Görev tanımlamasını yapılandırmakısmında açıklanan yapılandırma adımlarını izleyin.
Notlar:
Çok aşamalı oluşturmalar kullanıyorsanız (yani,
Dockerfileiçinde birden çokFROMyantümceniz varsa), sonFROMyantümcesinden sonraDockerfileiçine aşağıdaki satırları ekleyin.AWS Fargate 'de Java süreçlerinin otomatik tanıtımı oluşturma desteklenmez.
Sırları
Java Fargate toplayıcısı, anasistem aracısıgibi sırların soyunmasını destekler.
Güvenlik dizgileri için kalıplar belirtebilirsiniz; yani, veriler izleme ve süreç ayrıntılarından süzülür. Gizli olarak ele alınan veriler, işlenmek üzere SaaS YönOrtamı'naulaşmaz ve bu nedenle, YönOrtamıAna Kullanıcı Arabiriminde ya da API kullanılarak alınamaz.
Güvenlik sırları, INSTANA_SECRETS ortam değişkeni tarafından aşağıdaki biçim kullanılarak tanımlanır:
<matcher>:<secret>[,<secret>]
matcher , sağlanan güvenlik sırları için ilgili semantik ile aşağıdaki değerlerden biri olabilir:
equals-ignore-case, equals, contains-ignore-case, contains, regex
Herhangi bir güvenlik dizgisi yapılandırılmadıysa, varsayılan bir güvenlik dizgisi kullanılır. Güvenlik dizgisini almak için aşağıdaki ayar etkinleştirilir:
INSTANA_SECRETS=contains-ignore-case:key,password,secret
Bir anahtar, güvenlik dizgisi listesindeki bir girişle eşleşirse, değer düzeltiilir ve YönOrtamıana arka ucuna gönderilmez.
Altyapı ve platform düzeyinde güvenlik sırları, süreç ortamı değişkenleridir.
Çalıştırma zamanında güvenlik sırları:
- JDBC bağlantı dizgileri
https://my.domain/accounts/status?account=<secret_1>&user=<secret_2>gibi HTTP sorgu parametreleri (desteklenen tüm çalıştırma zamanları için aşağıdaki destek matrisine bakın)https://my.domain/accounts/account=<secret_1>;user=<secret_1>/statusgibi HTTP matris yolu parametreleri
Not:
Instana, bir URL yolundaki isteğe bağlı bölümlerin güvenlik dizgisi olarak kabul edilmesini desteklemez. Örneğin, URL
https://my.domain/accounts/<secret>/statusolarak yapılandırıldıysa. Örneğin, bölümlerin atılması için URL yollarındaki düzenli ifadelerin çalıştırılması engelleyici olur.Instana, saklanmış yordamlardan SQL değiştirgelerini yakalamamaktadır. Benzer şekilde, isteğe bağlı yol kesimleri için, SQL sorgularından gelen hazır bilgiler soyulmaz; parametreli sorguları kullanın.
Java İzleme SDK
Java Fargate toplayıcısı, aracıya benzer şekilde Java Trace SDK' yı destekler. Ancak, Java Fargate toplayıcısı aracı yapılandırması tarafından değil, INSTANA_INSTRUMENTATION_SDK_PACKAGES ortam değişkeni tarafından etkinleştirilir.
Java İzleme SDK ' nın kullanımına ilişkin ayrıntılı bilgileri belge sayfasındabulabilirsiniz.
INSTANA_INSTRUMENTATION_SDK_PACKAGES , SDK ' nın etkinleştirildiği virgülle ayrılmış Java paketi adlarının bir listesini içerebilir. Örneğin,
INSTANA_INSTRUMENTATION_SDK_PACKAGES=my.first.package,my.second.package
Python
Python Fargate Collector, standart Instana Python Paketi 1.25.0 ve sonraki sürümlerinde bulunur. Toplayıcı, Görev tanımlamasının yapılandırılması kısmında açıklanan ortam değişkenlerinin ayarlanması dışında ek yapılandırma gerektirmez. Paket, uygulamanın AWS Fargate üzerinde çalıştığını algılar ve Fargate toplayıcısını otomatik olarak etkinleştirir.
Görev tanımlamasının yapılandırılması
Notlar:
Görev tanımlamasının yapılandırılmasına ilişkin yönergeler, AWS Fargate üzerinde tüm YönOrtamıana toplayıcılarının ayarlanmasında ortaktır.
Görev tanımlamasını yapılandırmadan önce, taşıyıcı görüntülerinin, uygulamanızın kullandığı yürütme ortamına özgü yönergelere göre oluşturulduğundan emin olun.
Uygulamanız .NET Core tabanlı ise ve Geliştirme sırasında NuGet Paketlerini Kuriçinde açıklandığı gibi geliştirme sırasında YönOrtamı NuGet paketlerini kuruyorsanız, görev tanımlamanızda .NET Core görev tanımlamasını yapılandır içinde listelenen ortam değişkenlerini ayarladığınızdan emin olun.
AWS Fargate üzerindeki tüm YönOrtamıana toplayıcıları, YönOrtamıana arka ucuna bağlanmak ve kimlik doğrulaması gerçekleştirmek için ortak bir yapılanış değerleri kümesine gereksinim duyar. Görev tanımlamanızı yapılandırmak için aşağıdaki adımları izleyin:
AWS konsolunda oturum açın ve ECS ' ye gidin.
Gezinme panosunda Görev Tanımlamaları' nı tıklatın.
Görev tanımlaması yapılandırma sayfasında, görev tanımlamasının bir düzeltmesini yaratmak için Yeni düzeltme yarat öğesini tıklatın:

Node.js-based taşıyıcınızın taşıyıcı tanımlamasına gidin:

Kapsayıcı belirtimine aşağıdaki iki ortam değişkenini ekleyin:
INSTANA_ENDPOINT_URL: Bu ortam değişkeni, sunucsuz izleme uç noktanın. Bölgeniz içinhttps://serverless-ile başlayan doğru değeri kullandığınızdan emin olun.INSTANA_AGENT_KEY: Bu ortam değişkeni, aracı anahtarınız' dır.
Bu ortam değişkenleri için doğru değerleri almak için Diğer > Aracılar > Installing Instana Agents > Platform: "AWS" > Technology AWS Fargateöğelerini tıklatın.

AWS Fargate veri toplayıcılarının desteklediği ortam tabanlı yapılandırmalarla ilgili daha fazla bilgi için General Reference-Environment Variablesbaşlıklı konuya bakın.