Canlı bir mağazayı izlemenin iyi yolları nelerdir?


41

Önsöz: İnternet servis sağlayıcılarımızdan birinin izlemesini, tedarikçinin PHP konfigürasyonunda sıkıntı çektiği ve canlı internet mağazasının parçalarının düştüğü (arka uç ve ödeme çalışmıyor) sorununu gidermek istiyoruz. Burada başka bir sağlayıcıya taşınma hakkında konuşmak istemiyorum.

Şu anda web mağazasının kendisini ve belirli bölümlerin mevcudiyetini izlemek için olasılıkları düşündüğümüzden ("Ödeme çalışıyor mu?" Gibi) soru şu:

Canlı bir web sitesini izlemek için hangi araçları ve stratejileri önerirsiniz?

Bazı fikirler:

  • Ödeme hala canlı bir web sitesinde çalışıp çalışmadığını otomatik olarak kontrol ediyor musunuz?
  • Arızayı tespit etmek için izlenecek iyi parametreler neler olabilir? Son Sipariş <1 gün önce, son kullanıcı girişi, ...
  • Cron işlerini kullanma: Örneğin, son sipariş tarihini / saatini kontrol etmek ve çok uzun zaman önce olup olmadığını kontrol etmek için bir e-posta gönderin ve / veya ödeme hala çalışıyor mu?
  • Icinga, Uptime Robot, gibi yazılımlar / araçlar kullanarak ...
  • Uyarı e-postalarını yöneticilere göndermek, ...

Cevaplarınızı bekliyorum :)


1
Bu biraz "görüş temelli" gibi görünse de, bazı cevapları görmeyi gerçekten çok istiyorum :).
Marius

Thanks @Marius, öznel olduğunu biliyorum, ama yine de paylaşmak ilginç olabilir :)
Anna Völkl

Harika Soru, ben de aynı şeyi merak ediyordum! Teşekkürler!
Gemi,

Yanıtlar:


30

Otomatikleştirebileceğiniz birkaç şey var.

  1. Mağazanın parçaları çalışmayı durdurursa, Ünite testleri , belirli işlevlerin hala çalışıp çalışmadığını tespit etmenin iyi bir yoludur.
  2. Frontend'i test etmek için, 'kategori listesinde hala ürünler var', 'ana sayfada bir altbilgi * var' gibi belirli anahtar sayfalardaki belirli DOM öğelerini düzenli aralıklarla aramak için uzak bir sunucuda phpQuery kullanıyorum
  3. Hala müsait olup olmadığını görmek için sunucunuza ping yapan basit bir cronjob ayarlayın
  4. Emirlerin hala gelip gelmediğini kontrol etmek için yerel Magento emri RSS beslemesini kullanın. Yüksek trafik dükkanlarında cuma akşamları bir saat boyunca hiçbir emir verilmemesi yanlış bir şey olduğunun iyi bir göstergesidir :)
  5. Ödeme Hizmeti Sağlayıcınızı izleyin. Hollanda'da ödemeleri ele almak için iDeal kullanıyoruz. Bu web sitesi çalışma süresini gösterir, PSP'niz benzer bir hizmet sağlayabilir

* Bir sayfada bir PHP hatasının oluşturmayı durdurmasına neden olabilecek altbilgi yoksa.

Bunlar kullandığımız birkaç çözüm. Sadece biraz kurulum zamanına ihtiyaç duyuyorlar ve çalıştırmak için ücretsiz.

Bu arada harika bir soru, tüm cevapları sabırsızlıkla bekliyorum!


25

Sander'in fantastik cevabını şu şekilde anlatacağım; bu, Pingdom * gibi bir izleme hizmeti kurduğunuzu ve kullandığınızı varsayar:

  • Sayfadaki içeriği izleyin; genellikle kapanış </html>etiketi. before_body_endSon kullanıcılara görünmeyen ancak 500 durum döndüren, SEO / Google / Web Yöneticisi Araçları için çok kötü olan, üçüncü taraflarla (yakalanmamış istisnalar vb.) Başarısız olan çok sayıda komut dosyası gördüm .
  • Hatalar belirli bir eşiğin üstüne çıktığında sizi bilgilendirmek için Web Yöneticisi Araçları'nı ayarlayın
  • Sayfadaki geçersiz SSL için uyarıları ayarla
  • Sayfadaki javascript hataları için uyarıları ayarlama
  • Ödeme başarısız e-postaları, hata raporları için e-posta gruplarını / bcc kullanın.
  • Çağrı merkezi çalışanlarına sorun yaşayın ve çekim sorunlarının nasıl izleneceğini bildiklerinden emin olun - genellikle işler ters gittiğinde ilk işaret eden onlar olur.
  • Yavaş bir site, aşağı bir site kadar kötü. Uyarılarınızın sitenizin normalden daha uzun sürmesi konusunda duyarlı olduğundan emin olun.
  • Tüm üçüncü taraf / barındırılan hizmetler için twitter yayınlarına abone olun. Büyük ev sahiplerinde genellikle sorun olduğunda Twitter tetikleyicileri bulunur. Twitter'ı, belirli hesaplar yayınladığınızda size e-postayla / metin olarak yapılandırabilirsiniz.

Devops:

  • Kritik sistemleri izlemek ve uyarıları göndermek için Nagios'u kurma
  • Günlükleri birleştirmek ve günlük verilerine dayanarak uyarıları yayınlamak için syslog veya Splunk (belirli bir sorgu / gün sayısına kadar ücretsiz) kurma
  • Ağ ekipmanınızın komut dosyası, rutin kontrolünü yapılandırın. (Bir kereden fazla) NIC'lerin geri döndüğünü ve bize bilmeden 1GB'tan 10 MB'a düştüğünü gördüm.

Daha büyük takımlar için:

  • Taahhütler sonrasında olası başarısızlık testlerinden sizi haberdar etmek için bir CI sunucusu (Travis, Jenkins / Hudson, Capistrano) kurun.
  • Kod standartlarını uygulamak veya bozuk kod gibi açık sorunları kontrol etmek için kaynak kontrolünüzde ön montaj kancaları kurun
  • Sander’in dediği gibi, RSS siparişlerini ve hacimlerini günlük bazda izlemek için bir şeyler ayarlayın - buradaki fayda önbelleksizdir ve genellikle bildirim eşiğini yeterince düşük ayarlarsanız olası bir sorun derhal gider
  • Selenyum kullanın. ÇOK. Her bir veya iki saatte bir ödeme işleminden geçen komut dosyası sınamalarını yapın.
  • SSL sona erme süresi için Takvim hatırlatıcılarını ve özel uyarıları ayarlama

Çok fazla veri ve potansiyel olarak yanlış pozitif üreteceksiniz; uyarılara karşı bağışıklık kazanmayın.


Pingdom ile ilişkili değilim. Sadece (ücretsiz) ürünlerini seviyorum.


8

Ödemeyle değil, yalnızca ev sahibinizle ilgili sorunlarınız varsa, gizli olan bir ürün kurmayı düşünebilirsiniz, bir selenyum testi yazın; arabaya koyun. Ücretsiz yapmak için bir kupon ekleyin ve sonra ödeme adımlarını atın.


1
güzel, gizli ücretsiz ürün fikrini seviyorum :-)
Anna Völkl

5

Kurulumunuza bağlı olarak burada zaten bazı harika cevaplar var. NewRelic'i sunucu ve işlem istatistiklerini izlemenin yanı sıra, ödeme işleminin her adımı için önemli işlemleri ayarlamak için kullanıyorum. Bu şekilde, telefonumdaki tek bir ekrana bakabilirim ve hala tüm süreç boyunca uygun miktarda insanı kontrol edip edemediğimizi ve uygun tepki süreleri alıp almadıklarını belirleyebilirim. Son adıma kadar her şeyde bir sürü iş çıktığını görürsem, kimsenin kartlarını işleyemediği için PayPal'ın muhtemelen bozulduğunu biliyorum. Ayrıca, çok fazla hata varsa, yanıt süreleri kapalıysa, vb. Uyarıları alıyorum. Bunu yapmak için kesinlikle NewRelic'e ihtiyacınız yok, ancak kurulumu çok basit ve hızlı ve oluşturmak için zamanım olmadı. kendi kontrol panelim / app / uyarı sistemim.


1
Seninle bir çekicilik gibi NewRelic çalışmaları hakkında seninle aynı fikirdeyim. Ayrıca Pingdom gibi bir hizmet kullanmanın sunucu erişilebilirliğini izlemek için iyi bir seçenek olduğunu da eklerdim.
Eirik

5

Bunun için NewRelic ve PagerDuty'den hoşlanıyorum, siteniz veya sitenizin herhangi bir bölümü kapalıysa, bunlar mükemmeldir ve sizi bir dakika içinde size bildirir (e-posta, metin ve çağrı). CPU'nuzun veya Hafızanızın, siteyi tepkisiz hale getiren kullanım yüzdesinin ötesine geçip geçmediğini bile bildirir.

  • Frekansı izlemek ve izlemek istediğiniz tüm sayfalarla Yeni Kalıntı Ayarı yapın. Örnek: Ana sayfa, herhangi bir 1 kategori sayfası, herhangi bir 1 ürün sayfası, sepet sayfası, ödeme sayfası, vb.
  • PagerDuty uyarıları ve istediğiniz bildirim türlerini (e-posta, metin, çağrı) (kullanıcılar bildirimleri alır), bildirimleri (bildirimleri almayı tercih ettiğiniz gün ve zamanı), hizmetleri (Yeni Kalıntı uyarıları) ve yükseltme politikalarını ekleyin

https://www.pagerduty.com/docs/guides/new-relic-integration-guide/

Feragatname: Yukarıdaki hizmetlerden hiçbirine bağlı değilim.



3
  • Tüm sunucular (LB, App, DB, Redis, vb.) Ve tüm servisler (bellek, yük, io vb.) İçin geçmiş değerleri almak üzere sağlayıcı tarafında Munin
  • Tüm sunuculardaki neredeyse canlı izleme yükü için sağlayıcıda veya yerel tarafta Nagios / Icinga
  • Ön sayfa, ödeme vb. Gibi "önemli" url'ler için yanıt süresi toplamak için Pingdom
  • Gerçek kullanıcı takibi için Pingdom, APDEX'e benzer bir değer elde edersiniz ve tarihsel gelişmeyi görürsünüz
  • URL'leri ve doğru içerikleri kontrol etme isteği
  • Otomatik yeniden yükleme modunda son X siparişiyle raporlama. Bununla beraber olası molalar görebiliyorum
  • Selenyum ile aynı sahne sistemi üzerinde otomatikleştirilmiş testler. Canlı sistemimdeki otomatik ödemelerin bir arkadaşı değilim. Muhasebenizde daha sonra sorun yaşayacaksınız :)
  • Email2SMS için Zapier ve Twilio. Önemli hatalar telefona SMS olarak gönderilir.
  • Her şey güzel bir panoda görüntülemek için freeboard.io ve dweet.io.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.