[Açık kaynak önerisi] Nightingale (Nightingale) kurumsal düzeyde izleme çözümü

Önsöz

Nightingale (Nightingale), kurumsal düzeyde bir izleme çözümüdür. Bulut yerel çağının kurumsal düzeyde izleme ihtiyaçlarını karşılamak için tasarlandı. Nightingale, ürün tamamlama, yüksek sistem kullanılabilirliği ve kullanıcı deneyimi açısından kurumsal düzeydeki gereksinimleri karşılar.Farklı ölçeklerdeki kullanıcıların senaryolarını karşılayabilir. Birkaç hizmetten yüz binlerce kişiye kadar mükemmel şekilde desteklenebilir. Hem bulut yerelini hem de çıplak metali dikkate alır, uygulama izleme ve sistem izlemeyi destekler, esnek eklenti mekanizmasını, zengin ve eksiksiz eklentileri destekler ve yüksek derecede esneklik ve ölçeklenebilirliğe sahiptir.

Nightingale, Open-Falcon'a dayalıdır ve Didi'nin dahili en iyi uygulamalarıyla birleştirilmiştir. Performans, sürdürülebilirlik ve kullanım kolaylığı açısından birçok iyileştirme yaptı. Grup için birleşik bir izleme çözümü olarak düzinelerce Didi'nin dahili Sistemlerin, konteynerlerin ve uygulamaların izleme ihtiyaçlarını ve her hafta binlerce aktif kullanıcıyı kapsayan 100 milyon izleme göstergesi. Beş yıl bir kılıcı bilemek, açık kaynak almak ve açık kaynağa geri vermek.

Nightingale, nesne ağacı dediğimiz ağaç benzeri düğüm gezinmesini kullanır. Nesne ağacı, esas olarak, izleme nesnelerini bulmak ve görüntülemek ve izleme nesneleri için izleme stratejilerini ve diğer yönetim eylemlerini ayarlamak için uygun olan, nesneleri izlemek için bir gruplama yönetim mekanizmasıdır. Tipik bir ağaç yukarıdan aşağıya organizasyon yapısı ilişkisi, ürün hizmet modülü ilişkisi, bilgisayar odası ve makine montaj ilişkisi olarak tanımlanabilir Navigasyon ağacı, kullanıcı ihtiyaçlarına göre esnek bir şekilde özelleştirilebilir.

Bir düğüme bir izleme stratejisi uygulandıktan sonra, düğüm altındaki tüm alt düğümlere monte edilen tüm makineler bu stratejiyi uygular ve ilgili eşiği tetikleyen herhangi bir makine bir alarm oluşturur.

İzleme pazarının özelleştirilmesi büyük ölçüde geliştirildi ve grafik eşiği desteklendi ve çizelge sınıflandırması desteklendi.Yeni çizelgeler ve sıralama yönetimi hem görünür hem de alır ve denetim pazarının özelleştirilmesi artık zor değil.

Nightingale, Open-Falcon temelinde türetilmiş ve geliştirilmiştir.Çin'de en yaygın kullanılan izleme çözümlerinden biri olan Open-Falcon, Nightingale'in tasarımı ve geliştirilmesi için birçok referans sağlar.

Open-Falcon'dan Farklar

  • Alarm motoru yeniden yapılandırması : Open-Falcon'un alarm stratejisi, izleme verileri yukarı itildiğinde strateji kararını tetikleyecektir Bu "itme" modunun avantajı, strateji kararının zamanlamasının çok yüksek olmasıdır, ancak daha gelişmiş alarm stratejilerinin desteklenmesine ve genişletilmesine elverişli değildir. Örneğin, birden fazla koşula sahip birleşik alarmların desteklenmesi zordur. Nightingale, itme-çekme kombinasyon moduna dönüştürülür İtme modu, çoğu strateji kararının etkinliğini sağlar ve çekme modu, koşullu alarmları ve nodata alarmlarını destekler.
  • Gezinme nesnesi ağacını tanıttı : Open-Falcon tarafından kullanılan düz HostGroup'u Nightingale'in gezinme nesnesi ağacına dönüştürün.Nesne ağacı, temelde nesneleri izlemek için bir gruplama yönetim mekanizmasıdır, izleme nesnelerini bulmak ve görüntülemek ve nesneleri ve diğer yönetim eylemlerini izlemek için izleme stratejilerini ayarlamak için uygundur. . Aynı zamanda Nightingale'de alarm şablonları kavramı kaldırılır ve alarm stratejisi doğrudan ağaç düğümlerine bağlanarak tasarımı basitleştirir ve esnekliği ve kullanım kolaylığını büyük ölçüde geliştirir.
  • Dizin modülü yükseltmesi : Open-Falcon, ölçümler için dizin verilerini depolamak için MySQL kullanır ve ölçeklenebilirlik ve esneklikte darboğazlar vardır. Nightingale, orijinal MySQL indeks verileri 100 milyon düzeyine ulaştığında karşılaşılan bakım optimizasyon çalışmasından kaçınarak, izleme gereksinimlerine dayalı olarak, daha çeşitli sorgu yöntemleri ve daha yüksek sorgu verimliliği ile yeni bir bellek içi dizin modülü dizini tasarladı ve geliştirdi.
  • Zaman serisi veritabanı optimizasyonu : Open-Falcon depolama modülü Graph temelinde Facebookun Gorilla sıkıştırma şeması tanıtıldı. Son birkaç saatteki veriler bellekte depolanır ve bu da veri sorgusunun verimliliğini büyük ölçüde artırır. Uzun vadeli veriler, rrdtool veri formatı kullanılarak sabit diskte depolanmaya devam eder. Aynı zamanda, zaman serisi veritabanının performansı ve kararlılığı daha da geliştirildi.
  • Alarm motorunun yüksek kullanılabilirlik iyileştirmesi : Alarm motoru Yargıç modülü, hataları otomatik olarak gidermek için kalp atışı mekanizmasını kullanır.Artık, tek bir yargıcın çalışmama süresi nedeniyle bazı stratejilerin başarısızlığı konusunda endişelenmenize gerek yoktur ve manuel müdahale gerektirir.İndeks modülü, kullanılabilirliği sağlamak için benzer bir yöntem de kullanır.
  • Yerel yerleşik günlük izleme işlevi : Nightingale istemcisi, yerel olarak yerleşik günlük eşleştirme ve dizin çıkarma yeteneklerine sahiptir.Web konsolu sayfasındaki günlük eşleştirme kurallarının yapılandırmasını destekler.Ayrıca, hedef makinenin belirli bir dizinindeki yapılandırma dosyalarının okunma yolunu destekler ve iş göstergesi izlemesini daha fazla yapar Kullanımı kolay.
  • Geliştirilmiş çalışabilirlik : Portal (falcon-plus'ta api), uic, dashboard, hbs ve alarmı tek bir modülde birleştirin: sistemin genel dağıtım zorluğunu basitleştiren monapi.Orijinal modüller arası çağrılar, daha yüksek performansla süreç içi yöntem çağrıları haline gelir.
  • Yapılandırma dosyası merkezileştirme : Konfigürasyon dosyası kullanım kolaylığı için iyileştirildi Veritabanının genel konfigürasyonu mysql.yml'ye çıkarıldı ve bağlantı noktası örnek adresinin ilgili konfigürasyonu address.yml'ye çıkarıldı.Kodda çok sayıda konfigürasyona varsayılan değerler verildiğinden konfigürasyon dosyası daha net ve bakımı daha kolay hale getirildi.

Open-Falcon ile benzerlikler

  • Veri modeli değişmedi. Hala metrik, uç nokta ve etiketlerin organizasyonudur. Temsilci temelde yeniden kullanılabilir. Nightingale'deki aracı, orijinal Open-Falcon aracısı ile falcon-log-agent mantığını birleştiren toplayıcı olarak adlandırılır. İzleme eklentileri de yeniden kullanılabilir.
  • Veri akışı genel işleme mantığına benzer ve iki bağlantıya bölünmüş esnek bir itme modeli hala kullanılmaktadır: veri depolama ve alarm kararı.

Bülbül mimarisi

  • Toplayıcı, ortak makine göstergelerini toplayabilen, günlük izlemeyi yerel olarak destekleyen, eklenti mekanizmalarını destekleyen ve işletmelerin arabirimler aracılığıyla verileri doğrudan rapor etmesini destekleyen aracıdır;
  • Aktarım, rpc arayüzünün toplayıcı tarafından bildirilen verileri almasını ve ardından verileri tutarlı hashing yoluyla birden çok tsdb'ye ve birden çok hakeme iletmesini sağlar;
  • tsdb, geçmiş verileri depolamak için kullanılan ve sistemin felaket toleransını iyileştirmek için ikili yazma modunun yapılandırmasını destekleyen open-falcon'daki grafik bileşenidir tsdb, izleme verilerinin bir kopyasını indeksleme için dizine iletecektir;
  • Dizin, orijinal mysql çözümünün yerini alan, bellekte bir dizin oluşturan, sonraki veri alımını kolaylaştıran ve erişim esnekliğini ve erişim performansını büyük ölçüde geliştiren bir bellek dizin modülüdür;
  • Yargıç, izleme stratejisini monapi'den (portal) senkronize eden ve ardından alınan veriler üzerinde alarm kararları veren bir alarm motorudur.Eğer eşik karşılanırsa, bir alarm olayı oluşturulur ve redis kuyruğuna gönderilir;
  • monapi (alarm), hakem tarafından oluşturulan olayları redis kuyruğundan okur, ikincil işlemleri gerçekleştirir, bazı meta bilgileri tamamlar, bir alarm mesajı oluşturur ve bunu redis kuyruğuna geri iter;
  • Posta gönderen, sms gönderen vb. Gibi her gönderen bileşen, daha sonraki özelleştirmenin rahatlığı için redis'ten alarm mesajlarını okur, alarmlar gönderir ve çeşitli göndericileri özetler;
  • Monapi, orijinal çoklu modüllerin işlevlerini entegre eder ve js çağrıları için arabirimler sağlar. Api öneki / api / portal'dır ve veri sorgusu aktarılır. Açık falcon'daki orijinal sorgu bileşeni kaldırılır. API öneki / api / transfer, dizin sorgusudur Api öneki / api / indeksi, böylece ön uçtaki birleşik yapı nginx, istek farklı konumlardan farklı arka uçlara iletilebilir;
  • Veritabanı hala MySQL kullanıyor ve ana depolama içeriği şunları içerir: kullanıcı bilgileri, ekip bilgileri, ağaç düğüm bilgileri, alarm stratejisi, izleme pazarı, koruma stratejisi, toplama stratejisi, bazı bileşenlerin kalp atışı bilgileri, vb .;

Devam eden çalışma

  • İzleme göstergesi toplama bileşenlerini sağlayın. Mevcut mimari makine düzeyinde ve modül düzeyinde izlemeyi çözebilir, ancak küme boyutunun izleme göstergelerinin tüm kümenin tüm modüllerinin ve makinelerinin göstergelerini bir araya getirmesi ve toplama ve ortalama gibi bazı işlemleri yapması gerekir. , İlgili toplama bileşenleri, yoğun bir açık kaynak sürecindeyiz;
  • K8'ler ile sorunsuz entegrasyon çalışmaları da devam ediyor;
  • Daha fazla izleme eklentisi geliştirin. Open-Falcon topluluğundaki birçok eklenti doğrudan kullanılabilir. Toplulukta bulunmayan eklentileri eklemek için elimizden gelenin en iyisini yapacağız ve Nightingale'i daha fazla yapmak için topluluktaki mevcut eklentileri yeniden organize edip sürdürmeye çalışacağız mükemmel;
  • Teşekkürler ve talimatlar

    • Open-Falcon, Çin'de yaygın olarak kullanılan, Xiaomi'nin işletme ve bakım ekibinin açık kaynaklı, kurumsal düzeyde bir izleme çözümüdür.
    • Nightingale, Apache-2.0 açık kaynak sözleşmesini benimser, Telif hakkı © Didi 2020.
    [Açık kaynak önerisi] Diboot 2.0.5 yayınlandı, otomatik geliştirme asistanı
    önceki
    React iletişimi için "Önerilen" Redux, ustalaşmak için bu makaleyi okuyun
    Sonraki
    Mart'taki Küresel Web Sunucusu Anket Raporu: nginx alan adı paylaşımı Apache'yi aşıyor
    [Açık Kaynak Bilgileri] ECharts 100. sürüm 4.7.0'ı yayınladı
    Şablon referansı olarak kullanılabilecek bir veritabanı tasarım spesifikasyonu derleyin
    Ubuntu 20.04 ZFS anlık görüntüsü ilk deneyimi
    [Açık Kaynak Bilgileri] WebStorm 2020.1 Beta yayınlandı ve React desteğini iyileştirdi
    [Açık Kaynak Bilgileri] MrDoc 0.3.3 yayınlandı, yeni görüntü yönetimi işlevi, optimize edilmiş stil
    OpenJDK 14 GA'yı yayınladı, ancak OpenJDK 8 hala en güçlü kral, lütfen değerlendirmeye bakın
    Akım sınırı kontrolü, Aosen Güney Kapısı'nın dışında 400 metre uzunluğunda bir kuyruk var
    "Şarkıcı Dövüş Yılı" Hua Chenyu sürpriz kapağı, "Baskı Dışı Sahnesi" sahnelendi
    İstikrarlı çalışma için beş büyük garanti: Süt işçileri "salgın" Mengniu ile savaşmak için ellerini birleştiriyor ve çiftçiler ve çobanlar nar taneleri gibi birbirlerine sarılıyor
    "Kız Arkadaşım 2" Wang Ou çalışanlar tarafından şikayet edildi, Lin Yun, Jiang Mengjie iyi bir bağımsız zihniyete sahipti
    Meng malzeme! Avustralyalı Çin karşıtı gazetecilerin utanmazlığını deneyimleme sırası Tayvan'da
    To Top