PyDash ile Linux Sunucu Takibi

Merhaba

Web sunucularınızın durumu hakkında bilgi toplamak ve bu bilgileri bir arada analiz edebilmek her zaman kolay değildir. Örnek olarak hangi diskte ne kadar alan kaldı ? Mevcut sisteme giriş yapmış kullanıcıların listesi ? gibi sorulara cevap vermek için küçük betikler yazılması gerekmekte. Ayrıca sunucunuz hakkında anlık takip konusunda başarılı olmanız ile sisteminizin güvenliği doğru orantılıdır.

Bir özgür yazılım : PyDash

PyDash uygulaması yukarıda bahsedilen problemlerin bir çoğunu çözmekte. Sunucunuz hakkında sizlere verdiği bilgilerin listesi ise;

  • CPU, OS, hostname ve uptime bilgisi
  • CPU Kullanım oranı
  • Memory kullanım oranı
  • Disk kullanım oranı
  • Load average
  • Online kullanıcılar
  • İnternet ve Disk I/O trafikleri
  • Interface ve ip’leri hakkında bilgi.
  • Mevcut process’ler hakkında bilgi

Bu bilgilere anlık ulaşabilmek, başlangıç olarak sistem takibi yapabilmek adına çok başarılı bir adım.

PyDash Bağımlılıkları ve Kuruluma Hazırlık

PyDash isminden de anlaşılacağı gibi python temelli bir django web uygulaması. Çalışabilmek için Django’nun 1.6.1 versiyonuna ihtiyaç duymakta. Eğer CentOS kullanıcıları ilk Django’yu apache ile çalıştıracaklarsa bu dökümanı okumalarını öneririm.

Sisteme Django 1.6.1 kurmalısıız.

pip install django==1.6.1

PyDash veri tabanı sistemi olarak sqlite kullanmakta. Eğer sisteminizde sqlite yoksa pip ile kurabilirsiniz.

pip install pysqlite

Şimdi github’dan pydash uygulamasını clone’layınız.

# PyDash indirilir
git clone https://github.com/k3oni/pydash

Clone işlemi bittikten sonra aşağıdaki komut ile veri tabanını oluşturup administrator hesabı oluşturunuz.

python2.7 manage.py syncdb

#Komut çıktıları ve administrator hesabı oluşturulması.
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'): mince      
Email address: mehmet.ince@intelrad.com
Password: 
Password (again): 
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

Son olarak Apache’ye virtual host tanımlaması girerek PyDash web uygulamasını çalıştırınız.

Örnek virtualhost tanımlaması

<VirtualHost *:80>
    ServerAdmin mehmet@mehmetince.net
    DocumentRoot /var/www/html/
    ServerName takip.mehmetince.net
    WSGIDaemonProcess takip.mehmetince.net processes=2 threads=15 display-name=%{GROUP}
    WSGIProcessGroup takip.mehmetince.net
    WSGIScriptAlias / /var/www/html/takip.wsgi
    Alias /robots.txt /var/www/html/static/robots.txt
    Alias /favicon.ico /var/www/html/static/favicon.ico
    AliasMatch ^/([^/]*\.css) /var/www/html/static/styles/$1
    Alias /static/ /var/www/html/static/
    <Directory /var/www/html/static>
    Order deny,allow
    Allow from all
    </Directory>       
</VirtualHost>

Uygulamanın çalışır halini test etmek isterseniz DEMO admin:admin

Not: Bu uygulamayı çok beğendim. Yarın yeni modüller yazıp github’a göndereceğim.