Otomatik keşif ve izleme
Kavramları
"Ve bizim ölçeğimizde, insanlar tüm sistemlerimizin statülerini sürekli olarak izleyemez". - Netflix
Geleneksel APM araçları için bu değer, öncelikle performans ayarlaması uzmanları tarafından kullanılan ve üretimde darboğazları ve hataları tanımlamak için bilgileri el ile analiz etmek ve ilintilendirmek için kullanılır. Daha yüksek ölçekli ve dinamiklerle, bu görev samanlıkta iğne aramak gibi. İlintilendirmek için çok fazla hareketli parça ve metrik var.
Sistem yönetimine makine zekası yaklaşımı uygulanırsa, çekirdek model ve veri kümesi kusursuz olmalıdır. Mikro hizmet uygulamaları, oluşturma bloklarının 100s 'dan 1000s ' a ve sürekli olarak gelişmesine neden oluyor. Bu nedenle, bir keşif için gelişmiş yaklaşımtalep eden tüm öbekleri ve bağımlılıklarını anlamak gerekir.
Bileşenleri
Uygulama izleme gereksinimlerinin karşılanması gereken yapı blokları şunlardır:
Fiziksel bileşenler
- Veri merkezi/Kullanılabilirlik bölgeleri -Zones farklı kıtalarda ve bölgelerde olabilir. Bunlar başarısız olabilir ya da farklı performans özelliklerine sahip olabilir.
- Hosts/Machines (Anasistemler/Makineler)-Fiziksel, sanal ya da "hizmet olarak". Her anasistemin, bir darboğaz olabilen CPU, bellek ve GÇ gibi kaynakları vardır. Her anasistem tek bir bölgede çalışır.
- Containers (Taşıtlar)-Bir anasistemin üst kısmında çalışıyor ve Kubernetes ya da Apache Mesos gibi bir zamanlayıcı tarafından yönetilebilir.
- Süreçler -Taşıyıcı (genellikle taşıyıcı başına bir tane) ya da anasistemde Java ya da PHP gibi yürütme ortamları olabilir, ancak Tomcat, Oracleya da Elasticsearchgibi ara katman yazılımları da olabilir.
- Kümeler -Birçok hizmet, dış dünyaya bir dağıtılmış süreç olarak görünmeleri için bir grup ya da küme olarak işlev görebilirler. Küme içindeki eşgörünümlerin sayısı değişebilir ve küme performansları üzerinde bir etki yaratabilirler.
Mantıksal bileşenler
- Hizmetler -Bir önceki söz edilen fiziksel yapı bloklarının üzerinde çalışan birçok eşgörünümde ve farklı sürümlere sahip olacak mantıksal iş birimleri.
- Uç Noktalar -Sistemin geri kalanına belirli komutları göstermek için bir hizmetin genel API 'si.
- Uygulama perspektifleri (uygulamalar olarak da adlandırılır) -Ortak bir bağlamın tanımladığı hizmetler ve uç noktaları kümesine ilişkin perspektif (etiketler kullanılarak bildirilmiş).
- Traces -İzleme, hizmetler arasındaki zamanuyumlu ve zamanuyumsuz iletişimlerin sırasıdır. Hizmetler birbiriyle konuşur ve kullanıcı isteği için bir sonuç sağlar. Bir veri akışındaki verilerin dönüştürülmesi birçok hizmeti içerebilir.
- Çağrılar -İki hizmet arasındaki bir isteği açıklar. Bir izleme, bir ya da daha çok çağrıdan oluşur.
İş bileşenleri
- İş hizmetleri -İş Hizmetleri, benzersiz iş değeri ve hizmetleri sağlayan hizmetlerin ve uygulamaların konularının tutulabilmektedir.
- Business process (İş süreci)-Bir süreç oluşturan teknik izlerin birleşimi. For example, it might be the “buying” trace in e-commerce, followed by an order trace in ERP, followed by a trace of FedEx's logistics in delivery to the customers.
Farklı bölgelerdeki binlerce hizmet örneğinin, kullanıcılarına bir uygulama sağlamak için birden fazla kıtada farklı bölgelerdeki yüzlerce ev sahipliğini çalıştırma yaygın değildir. Bu, uygulamanın hizmet kalitesinin sağlanması ve iş değerinin teslim edilmesi için mükemmel bir şekilde çalışması gereken bileşenler arasında bir bağımlılıklar ağı oluşturur. Geleneksel bir izleme aracı, tek bir bileşenin bir eşiği geçtiğinde uyarılacağını sağlar. Ancak, bu bileşenlerden birinin ya da birçoğunun başarısızlığı, uygulamanın kalitesinin kesinlikle etkilendiği anlamına gelmez. Bu nedenle, modern bir izleme aracı, hizmet kalitesini izlemek, analiz etmek ve tahmin etmek için tüm bileşen ağını ve bunların bağımlılıklarını anlamalıdır.
Değişikliği tanımlama ve kataloğa alma
As described, the number of services and their dependencies is 10-100x higher than in SOA-based applications, which poses a challenge for monitoring tools. Ve durum gittikçe kötüleşiyor-sürekli dağıtım metodolojisi, otomasyon araçları ve konteyner platformları, uygulamaların değişme hızını artırarak, insanların değişikliklere ayak uydurmasını imkansız hale getiriyor veya yeni devreye alınan bloklara (örneğin, bir düzenleme aracı tarafından yeni bir konteyner spun gibi) izleme araçlarını sürekli olarak yapılandırabiliyor. Bu nedenle, bunları analiz etmeden ve anlamadan önce her bloğun otomatik ve anında keşfine sahip olmak için modern bir izleme çözümünün kullanılması gerekir.
Değişikliklerin kalıcı olması ve olayların araştırılması için herhangi bir zamanda bir kip yeniden oluşturulabilmesi için, değişikliklerin önceki anlık görüntüle bağlanması gerekir.
Herhangi bir zamanda yapı bloklarının herhangi birinde değişiklikler olabilir. Her bileşende değişiklik örnekleri için bu grafiğe bakın:

Yapbozun her parçasını ve her bir parçasını nasıl keşfeder
Instana Dynamic APM çözümünün önemli bir bileşeni bizim ajan mimarimiz ve özellikle de sensörler kullanımımız. Algılayıcılar mini ajanlardır-özellikle bir şeyi bağlamak ve izlemek için tasarlanmış küçük programlardır. Bunlar, anasistem üzerinde bağımsız bir işlem olarak ya da taşıyıcı zamanlayıcısı aracılığıyla bir taşıyıcı olarak konuşlandırılan tek aracımız (anasistem başına bir) tarafından otomatik olarak yönetilir.
The agent first automatically detects the physical components like zones in AWS, Docker containers that run on the host or Kubernetes, processes like HAProxy, Nginx, JVM, Spring Boot, Postgres, Cassandra or Elasticsearch, and clusters of these processes, like a Cassandra cluster. Algıladığı her bir bileşen için aracı, yapılandırma verilerini toplar ve değişiklikler için izlemeye başlar. It also starts sending important metrics for each component her saniye. Aracı, JMX ya da Dropwizard gibi hizmetler tarafından sağlanan metrikleri otomatik olarak algılar ve kullanır.

Sonraki bir adım olarak, aracı izleme işlevini hizmet koduna enjekte etmeye başlar. Örneğin, HTTP çağrılarını, veritabanı çağrılarını ve sorguları Elasticsearcholarak ele geçirmektedir. Yığın izlemeleri ya da bilgi yükü gibi her çağrıya ilişkin bağlamı yakalar.
Bu verileri izlere birleştiren zeka, bağımlılıkları ve hizmetleri keşfetme ve değişiklikleri ve sorunları sunucu üzerinde saptama. Bu nedenle, aracı hafiftir ve binlerce anasisteme enjekte edilebilir.
Otomatik, anında ve sürekli keşif, yeni nesil izleme çözümleri için bir gereksinime sahip olur. Anlık olarak bu gereksinimin çevresinde temel olarak tasarlanmıştır.
Instanca veri toplama
Anında, birden çok algılayıcı olan bir tek aracı kullanır ve şu anda bir yüz algılayıcıüzerinde destek sağlar. Bu algılayıcılar uzantılar değildosyası, tamamen aracı tarafından güncelleştirilir, yüklenirler ve boşa alınır. Aracı durumuna, tek tek algılayıcıların ve aracı günlüklerine erişim sağlayan, isteğe bağlı bir komut satırı arabirimi vardır.
Algılayıcı, belirli bir teknolojiyi otomatik olarak keşfetmek ve izlemek ve verilerini aracıya aktarmak için tasarlanmıştır. Aracı, Instana Service Quality Engine ile tüm iletişimleri yönetir. Algılayıcı, keşfedildikten sonra, bileşenin durumunun doğru bir gösterimini sağlamak için ayrıntıları ve metrik verileri toplar. Belirli bir algılayıcı, teknolojiye bağlı olarak değişen teknolojilerle ilgili belirli veri tiplerini toplar. Algılayıcılar aşağıdakileri toplar:
- Configuration (Yapılandırma)-Herhangi bir değişikliğin izlenmesini tutmak için geçerli ayarları ve durumları kataloglar.
- Events (Olaylar)-İlk keşif, tüm durum değişiklikleri (çevrimiçi ve çevrimdışı), varlıklarda başarısız olan sağlık kurallarına dayalı sorunları ya da olayları tetikleyen yerleşik olaylar ve herhangi bir varlığın tek bir metriğinin eşiklerine dayalı olarak sorunları ya da olayları tetikleyen özel olaylar.
- İzlemeler -İzleme programları, programlama dili altyapısına dayalı olarak yakalanır.
- Metrikler -Performansı belirten teknolojinin niteliksel nitelikleri.
Ayrıca, algılayıcı içinde keşif özyineli olur. Örneğin, Java Makine algılayıcısı yığını devam ettirir ve üzerinde çalışan çerçeveleri (Tomcat ya da SpringBootgibi) keşfeder, ardından aracı uygun ek algılayıcıları yüklemesine yardımcı olur.
Bu verileri izlere birleştiren zeka, bağımlılıkları ve hizmetleri keşfetme ve değişiklikleri ve sorunları sunucu üzerinde saptama. Bu nedenle, aracı hafiftir ve binlerce anasisteme enjekte edilebilir.

Instana arka ucu, ajanlardan saniyede milyonlarca olayı işelemek için akış teknolojisini kullanır. Bu akış motoru etkin bir şekilde gerçek zamanlı olarak, durumu işlemek ve kullanıcıya görüntülemek için yalnızca 3 saniye sürer.