Serverless Hizmetler için Özel İzleme Dashboards Oluşturma
Serverless hesaplama, takımların uygulamalarını nasıl inşa ettiğini ve dağıtmalarını, son derece ölçeklenebilirlik ve ödeme-per-execution fiyatlandırmasını sunmalarını sağladı.Ancak sunucusuz çekici olan aynı özellikler - kısa ömürlü uygulama ortamları, otomatik ölçeklendirme ve ağır dağıtılmış bir mimari - her takımın özel ihtiyaçlarını karşılamak için özel bir kullanıcı isteğiyle mücadele etmek, soğuk bir başlangıç süresini tespit etmek veya maliyet kontrol etmek. Standart bulut konsolları kontrol etmek, yüksek seviyeli bir görünüm sağlamak için.
Serverless Computing'in Benzersiz İzleme Meydanları
Serverless fonksiyonlar devletsiz ve ephemeral. Bir AWS Lambda işlevi birkaç yüz milisaniye için çalıştırılabilir, sonra ortadan kaybolur. Geçici doğa, uzun ömürlü süreçlere ve sabit altyapıya sahip olan, özellikle de uygulama ortamının paylaşıldığı zaman, soğuk bir işlev ortaya çıkarıldığında gecikmeye başlar - öngörülemeyen gecikme süresiz gecikmeye başlar.
Ayrıca, sunucusuz mimariler genellikle birçok küçük, gevşek bir şekilde birkaç hizmet içerir. API Gateway, Lambda, DynamoDB ve Step Functions dağıtılmış bir panel olmadan, mühendisler bunu birden fazla bulut hizmetlerinden çekerek çözerek zaman alır, üçüncü taraf izleme araçlarına ve uygulama loglarına tek bir tutarlı görüşe girerler.
Generic Dashboards Kısa Süre
AWS, Azure ve Google Cloud gibi bulut sağlayıcıları, sunucusuz hizmetler için önceden inşa edilmiş izleme panolarını sunar. Örneğin, AWS CloudWatch, iptal oranları, hata oranları ve% pervapları ile bir Lambda panounu sağlar.Bu genel panolar birkaç sınırlamaya sahiptir:
- [FONT=0]Lack of cross-service context: Tek bir kullanıcı isteği API Gateway, Lambda, SQS ve DynamoDB. Cloud sağlayıcı panna nadiren bu hizmetler arasındaki ilişkiyi gösterebilir.
- [FONT:0]Limited özelleştirme:[[Dönem:[Dönem: pdfT:1), özel etiketler (örneğin, çevre, takım, özellik bayrağı) veya kompozit metrikler oluşturabilirsiniz.
- [[DüzD:0) Dış aletlerle entegrasyon:[Dönetici:[Dönetici:0)) Ortadan bir agresyondan bulut ölçümlerini veya girişleri ile ilişkilendirmeniz gerekebilir.
- [FONT:0) Yeterli sayıdaki fark: Standart panolar genellikle uzun süre pencereleri toplamaktadır, kısa ömürlü akslar veya soğuk başlangıç problemleri gizler.
Özel panolar, takımların tam olarak ne önemli olduğunu tanımlamalarına izin vererek bu boşlukları doldurur: gerçek zamanlı koncurrency ve soğuk başlangıç yüzdelerinden per-işman maliyet ve hata bütçelemeye kadar.
Core Metrics Every Serverless Dashboard İzlemeli
Bir pano inşa etmeden önce, doğrudan hizmet seviye hedeflerini (SLOs) etkileyen ölçümleri ve maliyetinizi belirlemeden önce, aşağıdakiler sunucusuz iş yükleri için evrensel olarak önemlidir:
- [FONT:0)Başvuru ve koncurrency:[Döneticilerinizin nasıl işlediğini söyleyin. Sudden aksaklar trafikleri veya yanlış yapılandıran tetikleyicileri işaretleyebilir.
- [FONT:0)Error oranı ve hata türleri: Tüm 4xx ve 5xx yanıtları, zamanouts ve throttling.Regresyonları devre dışı bırakmak ve zaman geçirmek için hataları kırmak.
- [FONT=0) Yüzde yüzde 100 (p50, p95, p99):[Dönetici:0) Uygulamada kullanıcı deneyimini ve maliyeti doğrudan etkiler (geçmiş için ödediğiniz zaman). A p99 genellikle bir kod problemini veya yavaş aşağı bağımlılığı gösterir.
- [FONT:0)Cold başlangıç oranı ve geç kalmışlık: Soğuk kullanıcı deneyimini etkileyecektir. Soğukta soğuk algınlığın oranını ve tanıttıkları ek gecikmeleri izleyin.
- [FONT:0]Döneticileri: [Döneticileri kapalı limitleri aştığında, fonksiyonlar otuzlu yılların üzerinde durmaktadır.Bu metrik, rezerve edilebilirliği veya limit artış talep etmenize yardımcı olur.
- [FONT:0]Rekreasyon başına gelen (isteğen ama tavsiye edilen): [Dönetici:0)Kost, geri bildirimde bulunmak, süresi ve hafıza ayarları size tahmin edilen maliyetle uygulamanıza yardımcı olan bir paniğe sahiptir.
- [FONT:0)Müşteri işletmesi metrikleri:[Dönetici:[Dönetici:0) Örneğin, işlenmiş sipariş sayısı, kullanıcı işaretleri veya görüntü dönüşümleri. Embed uygulama seviyesi ölçümleri iş sonuçları için bağlantı kurmak için.
Özel bir İzleme Dashboard Blokları
Sağlam bir özel pano dört temel üzerinde geri dönüyor: veri toplama, depolama, görselleştirme ve uyarılama. Her blok sunucusuz iş yüklerini desteklemek için dikkatli bir şekilde seçilmelidir ve yapılandırılmalıdır.
Data Collection
Serverless işlevleri bulut sağlayıcının yerel izleme hizmetleri aracılığıyla ölçümler ve loglar yayabilirsiniz (CloudWatch, Azure Monitor, Google Cloud Watch). Ayrıca, özel bulut tarayıcılarını kullanarak kullanıcı fonksiyonlarınızı kullanarak özel metrikleri kullanarak kullanıcı arayüzü veya açık kaynak kütüphaneleri oluşturmak isteyebilirsiniz. Örneğin, Prometheus ihracatçıları veya Telegre gibi bir koleksiyoncu kullanarak göz önünde bulundurun.
Depolama ve Sorgulama
Zaman serisi veritabanı, uzaktan bir yaz uç noktası kurmak veya bulut sağlayıcınızdan yönetilen Prometheus [FONTS][[FONTs][/FONTS][/FONT=FONT=FONT=FONT=FONT=FONT=0) hizmetlerinizi kullanarak iyi bir açık kaynak seçeneğidir.
Görselleştirme Görselleştirme
Görselleştirme katmanı, zaman serisi veritabanından veri tüketiyor ve interaktif panjurlar yaratıyor.ETHFLT:0]) Bu, Prometheus, CloudWatch, Elasticsearch ve diğer düzinelerce veri kaynağı için paniğe sahip paneller – ısımaps ve istatistik panellerine - her iki bilgilendirici ve kolay yorum yapan panolar oluşturabilirsiniz.
Uyarı
Dashboards sadece pasif bir görünüm için değil; ölçümler önceden tanımlanmış eşiği geçince bildirimleri tetikler.Her iki Prometheus ve Grafana, yüksek hata oranlarına bağlı olarak uyarılar belirlediler, anomalous p99 latency, yüksek çözünürlükte, soğuk başlangıç yüzdeleri ve Slack'ye yaklaşırken. Route uyarıları, PagerDuty, e-posta veya özel webhoşları, e-posta veya özel webhoşları, ciddiyetle.
Dashboard için Doğru Araçları Seçin
Sunucusuz izleme için araçlama geniştir. seçiminiz mevcut altyapıya, takım uzmanlığına ve bütçeye bağlıdır. İşte en yaygın kombinasyonlar:
- [FONT:0)Grafana + Prometheus + CloudWatch Export: Size tam kontrol veren açık kaynak bir yığın. CloudWatch ihracatçısını Prometheus'a çekmeye yapılandırın, sonra Grafana'da görselleştirin.
- [FONT:0]Datadog:[Dönetici] [Dönetici] [Dönetici] [Döneticileri, gerçek zamanlı giriş yönetimi ve önceden inşa edilmiş sunucusuz panjurlar dahil olmak üzere, özel panolar oluşturmanızı sağlar. [FLT:)[FLT: 5)[D)
- [FONT:0) Yeni Relic:[[Dönetici:[Dönetici: 0) Datadog'ya benzer şekilde, güçlü sunucusuz bir araçlama ve esnek bir pano üreticisi ile. sunucusuz izleme modülü otomatik olarak işlevleri keşfeder ve onlara hizmet verir.
- [FONT:0)Cloud sağlayıcı yerli + üçüncü taraf görselleştirme: [Dönetici CloudWatch Logs Insights for querying and Grafana'nın BulutWatch data kaynağı için görselleştirme için ödeme yapmaktan kaçınır. Bu yaklaşım, farklı bir metrik mağazası için ödeme yapmaktan kaçınır, ancak ölçeklendirmede daha az performansçı olabilir.
- [FONT:0]Serverless Framework Dashboard:[Dönetici:[Dönetici:0) Sunucusuz Çerçeve kullanıyorsanız, yerleşik panoda işlev izlemenin basit bir yolu sağlar, hatalar ve loglar. Ancak, özelleştirme özel bir izleme yığını ile sınırlıdır.
Step-by-Step Guide: Grafana ve Prometheus ile Özel bir Dashboard inşa edin
Bu kılavuz, Grafana ve Prometheus'u kullanarak AWS için tam bir izleme paneli yaratarak yürür. Aynı yaklaşım Azure Functions veya Google Cloud Functions için uyarlanabilir.
1. Prometheus ve BulutWatchlarını Set Up Prometheus and the CloudWatch Export
Prometheus'u bir sunucuya yükleyin (veya Amazon Yönetilen Hizmet gibi yönetilen bir hizmet Prometheus gibi kullanın). Sonra BulutWatch metrics ve bunları Prometheus formatında ortaya koyar: İthalatçının anahtarı Lambda metrics toplamak için yapılandırın:2.
metrics:
- aws_namespace: AWS/Lambda
aws_metric_name: Invocations
aws_dimensions: [FunctionName]
aws_statistics: [Sum]
- aws_namespace: AWS/Lambda
aws_metric_name: Duration
aws_dimensions: [FunctionName]
aws_statistics: [Average, p95, p99]
İhracatçı çalıştırıldığında, Prometheus'un kazılayabileceği uç noktası ortaya çıkıyor.
2. Madenciliki kurtarmak için Prometheus'u yapılandırın
Garantili son noktaya işaret eden dosyanızda bir kazı işi ekleyin. 30–60 saniyenin bir kopyasını ayarlayın - sunucusuz metrikler genellikle BulutWatch tarafından bir dakika aralığına kadar toplanır, bu yüzden daha hızlı kazınma gereksizdir.
3. Yükleme ve Connect Grafana
Deploy Grafana (bulun veya on-premises) ve Prometheus'u bir veri kaynağı olarak ekleyin. Prometheus server URL'sini sağlayın. metrics akan.
4. Fonksiyonları Sağlık için Bir Dashboard Oluştur
Grafana'da yeni bir pano oluşturun ve panel eklemeye başlar. Genel bir tanıtım paneli için, PromQL queryİLİLFLT:10'u genel tanıtım için teklif etmek için. hata oranı için bir panel ekleyin: “UVT:11” renk eşleri ile bir zaman serisi paneli kullanın (% 1 ve% 5, kırmızının altında% 1,% 5).
5. Süre Yüzde Percentiles için bir Panel ekleyin
Sorgu süresi, tek bir grafikte p50, p95 ve p99'u kullanarak. Bu panel hemen geç saatlerde kesintiye uğramanıza yardımcı olur.
6. Soğuk Başlangıç Odaklı Panel oluşturun
Soğuk için özel bir ölçüm ihraç ederseniz (işinizi bulutWatch loglarında 1 değer kaydetmeniz için araçla birleştirerek) soğuk başlangıç oranını hesaplayabilirsiniz: 03.50 $.0.Finansal olarak, infer soğuk bulutWatch loglarında 1 değer kaydetmeye başlar.
7. Grafana'da Up Alerts
Grafana v8 ve daha sonra birleşik bir uyarı sistemi var. Yüksek hata oranları için bir uyarı kuralı oluşturun (örneğin,% 5 dakika) ve yüksek p99 süresi için (örneğin, >3 saniye) Uyarı kanallarını doğru şekilde sağlamak için test edin.
Gelişmiş Özellikler: Temel Metriklerin Ötesinde Devam Etmek
Temel pano yerinde olduğunda, daha derin operasyonel bilgi sağlayan gelişmiş yeteneklerle artırmayı düşünün.
Logs ve Metriks
Birçok sunucusuz sorun, Loki ( Prometheus) veya Elasticsearch gibi bir veri kaynağı kullanarak Grafana panolarına belirli bir giriş ücretinin neden olabileceği bir korelasyon oluşturun. Örneğin, hataların bir artış olması ve ilgili giriş giriş giriş giriş girişleri bağlamına göre görmenize olanak sağlayan bir korelasyon oluşturun.
Makine Öğrenme ile Anomaly Tespit
Statik eşler bilinen modeller için çalışır, ancak sunucusuz trafik mevsimsel veya patlama olabilir.Ürünler alginç algılama motoru ve daha sonra paniğe dair uyarılar olarak uyarılabilir.AWS CloudWatch Anomaly Tespit[[Dönetici: 1) veya belirli bir ML-bazlı izleme aracı.Prometheus metrics into anomaly detect Engine and thendynamices as anotations on your dashboard.
Maliyet Optimizasyon Dashboards
Serversız maliyetler, taleplerde, süre ve hafıza tahsisi ile yönlendirilir.İş başına maliyet gösteren ayrı bir pano oluşturun, çevre başına maliyet ve tahmini aylık harcamalar. CloudWatch billing metrics with Lambda use metrics. For example, use theETHFLTIES and associated it with function summaries.This dashboard helps memory or code revision.
Özel İş Metrik Panel
İş sonuçlarını yansıtan özel ölçümler yayma işlevlerinin oluşturulması: siparişlerin sayısı, başarısız işlemler, kullanıcı imzaları vs. Bu işlemlerinizi operasyonel paniğe sokmak için, böylece teknik kesintiler meydana geldiğinde, hemen iş etkisini görebilirsiniz.Bu ayar doğru düzeltmelere yardımcı olur.
Devam eden Dashboard Bakım Için En İyi Uygulamalar
Bir pano inşa etmek tek zamanlı bir etkinlik değildir. sunucusuz mimariniz geliştikçe, bu yüzden panolarınızı etkili tutmak için bu en iyi uygulamaları takip edin:
- [FONT:0] Olaylara dayanarak: [Dönetici: 1) Bir üretim olayından sonra, panonızın kök neden daha hızlı yüzeyleneceğini gözden geçirin.
- [FONT:0) Bu konuya odaklanacaktır: [Döneticiler, onlarca panelle karıştırılmış bir paniğe kapıldı.Aim for 5-10 panel per view, and separate operationals from business metrics into different sekmes or dashboards.
- [FONT:0) tutarlı adlandırma ve etiketler kullanın:[Dönetici:[Dönetici:0) Uygulamalı etiketler (örneğin, [[Dönemli etiket ve kaynaklar için: Bu, takım veya çevre tarafından yeniden yaz sorgulanmadan filtre panoları filtrelemek kolaylaşır.
- [FONT=0)Automate panjur:[Dönetici:[Dönetici:0) Automate panjur:[Dönetici:[Döneticileri değiştir]; Bu, panolar, ayarlanmış ve reproducible.
- [FONT:0] Otomatik incelemeyi ele alalım:[Dönetici:0][Dönetici:0)Bir görüntünün bir bakım yükü olması durumunda, bir metrik işlem edilemezse, onu ortadan kaldırır.
- [FONT:0] Takımı Tamamlayın:[Dönetici: 0,4] Tüm mühendisler panoyu nasıl yorumlayacağımızı ve bir anomaliyi işaret ettiklerinde logları nasıl ele alacağını bilir.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Serverless Computing, sunucularınızı yönetmenin operasyonel yükünü ortadan kaldırır, ancak Prometheus ve Grafana gibi açık kaynak araçlarının birleşimi, çevrenizle ilgili özel izleme panolarını sağlayarak, iş ölçümleri, gerçek zamanlı görünürlük kazanırsınız.Prometheus ve Grafana gibi açık kaynaklama talimatlarının birleşimi, müşterilerinizin çevrenizle ilgili daha önce ölçeklendirmek için esnek, güçlü bir yığınlama vaatlerini sağlayarak.