:::: MENU ::::
Browsing posts in: Yük Dengeleyici

BIG-IP ile Açık Kaynak Veritabanları İzleme

BIG-IP ile Açık Kaynak Veritabanları İzleme

BIG-IP yazılımının 10.1 ve üstü sürümlerinde mevcut  güzel özelliklerinden biri PostgreSQL ve MySQL gibi servislerin monitor edilmesidir. Bu  monitörler  sizin ihtiyaçlarınıza uygun özel bir sorgu kullanarak veritabanlarınızı izlemeye olanak verir. Bu izleme bir TCP monitörden daha iyidir. Genel olarak, veritabanı monitörü için yapmanız gereken birkaç şey vardır.

  • Monitor için kullanılacak özel bir veritabanı kullanıcı oluşturun. Bu gerekli değildir fakat genellikle tavsiye edilir. Ben şahsen bir veritabanı izlemek için yetkili kullanıcı yerine read only yani sadece select yetkili bir kullanıcı kullanılmasını öneririm
  • BIG-IP üzerinde monitörünüzü oluşturulması. Aslında bir SQL sorgusudur.  Bu adım, veritabanı hakkında bilmek istediğiniz belirli bir bilgi parçası,herhangi bir sürecin durumu yani karmaşık veya çok basit bir sorgunun sonucu olabilir
  • Bir node ya da pool üzerinde bu  monitörün bind edilmesi.

yukardaki maddeleri Mysql için  kısaca anlatmak gerekirse.

1-Özel bir veritabanı kullanıcısı oluşturulması.

MySQL sunucu üzerinde komut satırını kullanarak, aşağıdaki komutu çalıştırın:

yukarıdaki kullanıcıya 10.10.2.241  adresinden bigip veritabanına select yetkisiyle bağlanma izni verdik.

Şimdi, BIG-IP üzerinden  monitör yapacağımız aynı sorguyu çalıştırarak beklenen sonucun alındığına emin olun:

Aşağıdaki sonucun dönmesi gerekir.

2-Monitor oluşturulması.

BIG-IP oturum açın ve sol kenar gezinme çubuğundan Local Traffic -> Monitors’e tıklayın. Sağ üst köşede bulunan create seçeneği ile monitor create edelim.

monitor

bigip-mysql

Name olarak mysql.monitor olarak adlandırdık.

Type kısmında MySQL seçelim.

Interval ve Timeout değerlerini değiştirmek için belirli bir gereksiniminiz yoksa default değerlerde bırakabilirsiniz.

Send String alanına monitor edilmesi için düzenli aralıklarla gerçekleştirmek istediğiniz SQL sorgusunu yazın.

Receive String alanına SQL sorgusu ile almak istediğiniz cevabı yazın.

User Name ve Password daha önce oluşturduğumuz kullanıcıya göre belirlenmeli.

Database alanına örneğimizde oluşturduğumuz kullanıcının erişebileceği bigip veritabanını yazıyoruz.

Receive Row ve Receive Column alanlarına birden çok sonuç döndüren bir SQL sorgusu ile çalıştığımızda istediğimiz datanın hangi noktada olduğunu biliyorsak burdan row ve column sayılarını belirterek sonuca ulaşabiliriz.

Create ettiğimiz monitorü debug etmek istersek Debug alanını Yes’e çekip ardından;

dosyasını tail ederek görebilirsiniz.

3-Bir node ya da pool üzerinde bu  monitörün bind edilmesi.

node veya poola health monitor olarak yeni oluştrduğumuz monitoru kullanabiliriz.

health check

bigip-mysql

 

 


BIG-IP IRULE ile Drop URL

BIG-IP IRULE ile Drop URL

Aşağıdaki irule ile  “/drop_edilecek_url” ile başlayan tüm requestler droplanıyor. Drop edilen requestlerin client adreslerini log dosyasında görebilirsiniz.


F5 Üzerinde SEO Uyumlu Maintenance Page (Bakımda Sayfası) IRULE

F5 Üzerinde SEO Uyumlu Maintenance Page (Bakımda Sayfası) IRULE

Sistemini yönettiğiniz siteler f5 load balancer arkasında ise kullanıcıya bakımda sayfası gösterilmesi gerektiği durumlarda f5 üzerinden bakımda sayfası serve edilebilir.

Bakımda sayfası için basit html sayfalar kullanılabilir. Kullandığınız bakımda sayfasının içeriğine göre aşağıda paylaşacağım irule farklılıklar gösterebilir.

Sayfa ile ilgili tüm dosyaları aşağıda belirttiğim şekilde import edebilirsiniz.

ifile

bakimda_sayfasi

Aşağıdaki irule ile ilgili Virtual Server’da tanımlı web.pool altında bulunan node’lardan tümü offline olduğu durumda yani kullanılacak bir node kalmadığı durumda ilgili sitede ifile olarak tanımladığımız html sayfa f5 tarafından serve edilecek.

 


BIG-IP Enable/Disable Node Shell Script

 


Irule ile Connection Drop

Irule ile Connection Drop

Aşağıdaki irule “/arama/sistemdekiler&sayfa” ile başlayan tüm http istekleri drop eder.

Drop edilen isteğin client ip si ile birlikte ltm logunda görebilirsiniz.

 


Connection Açıp Belirli Bir Süre Request Açmayan Bağlantıları Kesen Irule

Yük Dengeleyici(Load Balancer) çözümü olarak F5 Network (BigIP) kullanıyorsanız irule yazmaya aşina olmuşuz demektir.

Connection Açıp Belirli Bir Süre Request Açmayan Bağlantıları Kesen Irule olarak aşağıdaki script’i kullanabilirsiniz.


 


F5 Load Balancer’da Nesneleri Yeniden Adlandırma

F5 Networks yük dengeleyicisinde(Load Balancer) bir veya daha fazla nesneyi yeniden adlandırmak gerekli bir durum olabilir. Ne yazık ki bunu GUI ile yapmak mümkün değil, ama F5 komut satırında bunu yapmak için bir yol var. Unix komut satırında (F5’de “Advenced Shell” dediği komut satırına erişimi olan bir kullanıcı olmak gerekir.)

F5 sistemine komut satırından giriş yaptıktan sonra, aşağıda adımlar F5 LTM (v11.x Update) yapılandırması içinde bir virtual server, pool ya da diğer herhangi bir nesneyi(irule,monitor) yeniden adlandırmayı sağlar.

Yedekleme

Öncelikle yapılandırma dosyasının yedekleyelim.

Yeniden Adlandırma

Sonra yeni adıyla eski nesne adını değiştirebiliriz. -i seçeneği değişiklikleri bigip.conf dosyaya kaydedilmesini sağlar.

Yapılandırma Doğrulama 

Yeni yapılandırmayı yükleme noktasında herhangi bir kötü sürprizle karşılaşmamak için yapılandırma dosyasını doğruluyoruz.

Yapılandırmayı İşleme Alma

Değişiklikleri Kaydetme

F5 sisteminizde birden fazla partion olabilir.

 

Biz yukardaki adımlarda aktif olan partion’da bu değişiklikleri devreye aldık. Tüm partionlarda veya belirli bir partion’da  bu değişikliğin etkin olmasını istiyorsak;

şeklinde gerekli değişikliği yapabiliriz.