NAGIOS ile Wowza sunucusunu ve kullanıcı sayısını kontrol etmek

NAGIOS NRPE ile Wowza sunucusunu ve kullanıcı sayısını kontrol etmek yazısının geliştirilmiş ve NRPE yerine Wowza ‘nın XML arayüzü kullanılarak değiştirilmiş halidir.

Ocak ayında yazdığım makalede kullandığım JMX arayüzü Wowza ‘nın ve haliyle Java ‘nın doğası gereği oldukça yavaştı. Eğer sunucuda yoğun bir kaynak (CPU, RAM, disk I/O) kullanımı varsa JMX arayüzü kısa sürede timeout olup hata veriyordu. Bu sebeple işlemi hem daha basit hale getirmek hem de tek bir noktada toplayabilmek için Wowza ‘nın XML arayüzünü kullanmaya karar verdim. İşte nasıl yapıldığı.

– Wowza sunucuların XML arayüzünde bağlantı sayısını veren kısım aktif olarak geliyor, ancak güvenlik sebebiyle bu bilgileri parola ile korumak isteyebilirsiniz. Parola koruması ekleyebilmek için Wowza ‘nın yapılandırma dizinininde VHost.xml dosyasında TCP 8086 portunda çalışan Admin HostPort yapılandırmasında aşağıdaki değişiklik yapılmalıdır.
( 120. satırdaki AuthenticationMethod parametresi “None” yerine “admin-digest” yapılmalıdır.)


com.wowza.wms.http.HTTPConnectionCountsXML
connectioncounts*
admin-digest

– Daha sonra bağlantı istatistikleri için Wowza yapılandırma dizinindeki admin.password dosyasını düzenleyerek bir kullanıcı ve parola belirleyin. Dosyanın içeriği aşağıdaki gibi olmalıdır.

Linux için dosyanın tam adresi; /usr/local/WowzaMediaServer/conf/admin.password

# Admin password file (format [username][space][password])
wowzastats wowzastatspassword

– Parola belirledikten sonra Wowza ‘yı yeniden başlatın ve connectioncounts linkini aşağıdakine benzer şekilde deneyin.

http://[wowza-ip-adresi]:8086/connectioncounts/

– Yapılandırma normal bir şekilde çalışıyorsa kullanıcı ismi ve parola girmenizi isteyen bir pencere çıkacaktır. Kullanıcı ve parolayı girdiğinizde bağlantı istatistiklerini ekrana gönderen bir XML arayüzü ile karşılacaksınız. Amacımız bu arayüzden herhangi bir yazılım dili ile (ben PHP kullanacağım siz isterseniz başka dil de kullanabilirsiniz) istediğimiz veriyi okuyarak NAGIOS ‘a göndermek.

1
<strong>* Parola korumalı bir web sayfasından veri okuyabilmek için ben php-CURL kullandım, kullandığınız yazılım diline göre bu değişebilir. PHP kullanacaksanız <a href="http://php.net/manual/en/book.curl.php">php-curl</a> paketinin kurulu olduğundan emin olun.</strong>

Amelece yazılmış PHP scriptimi check_wowzacount.php adresinden görebilirsiniz. Scripti php cli ile calıştırarak deneyebilirsiniz.

Sıra geldi scripti NAGIOS ‘tan çağırmak için ayarlara:

– Scripti NAGIOS scriptleri arasına (örn: /usr/local/nagios/libexec/) check_wowzacount.php olarak kopyalayın.
– Scripti NAGIOS içerisinden çağırmak için NAGIOS komut tanımları (örn: /usr/local/nagios/etc/objects/commands.cfg) içine aşağıdaki satırları ekleyin.

# Check Wowza Connected Users
define command {
command_name check_wowzacount
command_line $USER1$/check_wowzacount.php
}

– Oluşturduğumuz özel NAGIOS komutu Wowza sunucunun NAGIOS host ayarları aşağıdakine benzer şekilde oluşturulmalı.

define host{
use stream-server
host_name TMD-wowza2
alias TMD-wowza2
address 10.10.5.53
contact_groups stream-admins
}

define service{
use local-service
host_name TMD-wowza2
service_description PING
check_command check_ping!300.0,20%!800.0,60%
notifications_enabled 1
contact_groups stream-admins
}

define service{
use stream-service
host_name TMD-wowza2
service_description ConnectedUsers
check_command check_wowzacount
notifications_enabled 1
contact_groups stream-admins
}

NAGIOS yapılandırmasını yeniden okuttuktan sonra Wowza ‘ya bağlı kullanıcı sayısını, Wowza sunucuda script oluşturmadan, almanız mümkün. Afiyet olsun 🙂

Leave a Reply


*