Takip et

Ubuntu 12.04 Üzerine Shinken Kurulumu ve Bir VPS Örneğini İzlemek İçin Yapılandırma

Ubuntu 12.04 Üzerine Shinken Kurulumu ve Bir VPS Örneğini İzlemek İçin Yapılandırma Shinken, Nagios’un yeniden yazılmış, tamamen Python ta

Ubuntu 12.04 Üzerine Shinken Kurulumu ve Bir VPS Örneğini İzlemek İçin Yapılandırma

Shinken, Nagios’un yeniden yazılmış, tamamen Python tabanlı ve dağıtık bir sistem izleme aracıdır. Nagios’un yeteneklerini korurken, daha esnek bir mimari, kolay ölçeklenebilirlik ve yüksek kullanılabilirlik gibi ek avantajlar sunar. Bu makalede, Shinken’ı Ubuntu 12.04 sunucusu üzerine nasıl kuracağınızı ve yapılandıracağınızı, ardından uzak bir VPS örneğini (yine Ubuntu 12.04 veya benzeri bir Linux dağıtımı çalıştıran) nasıl izleyeceğinizi adım adım açıklayacağız. Ubuntu 12.04’ün yaşam döngüsünün sona ermiş olmasına rağmen, bu makale belirli bir senaryoyu ele almaktadır ve eski sistemlerde Shinken’ın nasıl çalıştığına dair kapsamlı bir rehber sunmaktadır.

Shinken Neden Tercih Edilmeli?

Kurumsal IT ortamlarında veya kişisel projelerde, sunucuların, ağ cihazlarının ve uygulamaların sürekli izlenmesi kritik öneme sahiptir. Bir hizmet kesintisi veya performans düşüşü, iş kaybına veya kullanıcı memnuniyetsizliğine yol açabilir. Shinken, bu tür sorunları proaktif olarak tespit etmek ve yöneticilere bildirmek için güçlü bir platform sunar.

* Dağıtık Mimari: Shinken, izleme yükünü birden fazla sunucuya dağıtabilir. Bu, binlerce ana bilgisayarı ve hizmeti izlerken bile performansı artırır ve tek bir hata noktasını ortadan kaldırır.
* Esneklik: Nagios’un tüm eklentileriyle uyumludur, bu da mevcut Nagios yapılandırmalarından kolayca geçiş yapma imkanı sunar.
* Yüksek Kullanılabilirlik: Shinken bileşenleri yedekli olarak çalışabilir, böylece bir bileşenin arızalanması durumunda izleme kesintisiz devam eder.
* Kolay Yönetim: Python ile yazılmış olması, geliştiriciler için daha erişilebilir ve özelleştirilebilir olmasını sağlar.
* Gelişmiş Raporlama ve Görselleştirme: Shinken, Thruk gibi güçlü web arayüzleriyle entegre olarak, izleme verilerini anlamlı grafikler ve raporlar halinde sunar.

Shinken Mimarisine Genel Bakış

Shinken, izleme görevlerini yönetmek için birden fazla daemon (hizmet) kullanır. Bu daemon’lar farklı makinelerde çalışarak dağıtık bir yapı oluşturabilir:

* Arbiter: Yapılandırma dosyalarını okur, diğer daemon’ları başlatır ve durdurur. Merkezi kontrol noktasıdır.
* Scheduler: Hangi kontrollerin ne zaman çalıştırılacağını planlar ve pollers’a gönderir.
* Poller: Gerçek izleme kontrollerini çalıştırır (örneğin, CPU kullanımı, disk alanı kontrolü) ve sonuçları geri gönderir.
* Reactionner: Kontrol sonuçlarına göre bildirimler (e-posta, SMS) ve olay işleyicileri (otomatik kurtarma komut dosyaları) tetikler.
* Broker: Tüm daemon’lardan gelen verileri toplar ve bunları veritabanlarına, web arayüzlerine veya diğer sistemlere yönlendirir.

Bu makalede, tüm bu bileşenleri tek bir sunucu üzerinde çalıştırarak temel bir kurulum yapacağız, ancak Shinken’ın dağıtık yeteneklerini bilmek önemlidir.

Ön Gereksinimler

Shinken kurulumuna başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

* Shinken Sunucusu: Ubuntu 12.04 LTS yüklü, root veya sudo yetkilerine sahip bir sunucu.
* VPS Örneği: İzlenecek olan, Ubuntu 12.04 veya benzeri bir Linux dağıtımı yüklü, root veya sudo yetkilerine sahip bir VPS.
* Ağ Bağlantısı: Shinken sunucusu ile VPS arasında ağ bağlantısı olmalı ve gerekli portlar (özellikle NRPE için 5666) açık olmalıdır.
* Temel Linux Bilgisi: Komut satırı kullanımı ve dosya düzenleme konularında temel bilgi.

### Shinken Sunucusu Üzerine Kurulum (Ubuntu 12.04)

Ubuntu 12.04 eski bir sürüm olduğu için, paket yöneticisi aracılığıyla Shinken’ı kurmak zor veya imkansız olabilir. Bu nedenle, Shinken’ı kaynak koddan veya pip aracılığıyla kurmayı tercih edeceğiz.

Adım 1: Sistemi Güncelleme ve Gerekli Paketleri Kurma

İlk olarak, sisteminizi güncelleyin ve Shinken’ın çalışması için gerekli olan Python geliştirme araçlarını ve diğer bağımlılıkları yükleyin.

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y python-dev python-pip python-setuptools build-essential libssl-dev libffi-dev openssl nagios-plugins nagios-plugins-basic nagios-plugins-standard

Not: python-pip ve python-setuptools paketleri Ubuntu 12.04’te biraz eski olabilir. Gerekirse, pip‘i manuel olarak güncelleyebilirsiniz:

sudo pip install --upgrade pip setuptools

Adım 2: Shinken Kullanıcısı ve Grubu Oluşturma

Shinken’ın güvenlik nedeniyle ayrı bir kullanıcı ve grup altında çalışması önerilir.

sudo adduser --system --no-create-home --group --disabled-login shinken

Bu komut, shinken adında bir sistem kullanıcısı ve grubu oluşturur.

Adım 3: Shinken’ı Kurma

Shinken’ı Python Package Index (PyPI) üzerinden pip ile kurmak en kolay yöntemdir.

sudo pip install shinken

Bu komut Shinken çekirdek paketlerini /usr/local/lib/python2.7/dist-packages/shinken gibi bir dizine kuracaktır. Ayrıca, Shinken’ın komut dosyaları /usr/local/bin dizinine yerleştirilecektir.

Adım 4: Shinken Yapılandırma Dizini Oluşturma

Shinken’ın yapılandırma dosyaları için standart bir dizin yapısı oluşturmalıyız.

sudo mkdir -p /etc/shinken
sudo mkdir -p /var/lib/shinken
sudo mkdir -p /var/log/shinken
sudo mkdir -p /var/run/shinken
sudo mkdir -p /usr/local/shinken/libexec # Nagios eklentileri için
sudo chown -R shinken:shinken /etc/shinken
sudo chown -R shinken:shinken /var/lib/shinken
sudo chown -R shinken:shinken /var/log/shinken
sudo chown -R shinken:shinken /var/run/shinken
sudo chown -R shinken:shinken /usr/local/shinken

Nagios eklentilerini Shinken’ın kullanabileceği bir yere kopyalayalım:

sudo cp -r /usr/lib/nagios/plugins/* /usr/local/shinken/libexec/
sudo chown -R shinken:shinken /usr/local/shinken/libexec

Adım 5: Shinken Yapılandırma Dosyalarını Oluşturma

Shinken, örnek yapılandırma dosyalarını otomatik olarak oluşturabilir.

sudo shinken --init

Bu komut, /etc/shinken dizininde temel yapılandırma dosyalarını oluşturacaktır. Bu dosyaları shinken kullanıcısının okuyup yazabilmesi için izinleri ayarlayın:

sudo chown -R shinken:shinken /etc/shinken

Adım 6: Web Arayüzü Kurulumu (Thruk)

Shinken’ı izlemek ve yönetmek için bir web arayüzüne ihtiyacımız var. Thruk, Nagios ve Shinken için popüler ve güçlü bir web arayüzüdür. Thruk’u Ubuntu 12.04’e kurmak için genellikle manuel kurulum veya eski paket kaynakları kullanmak gerekebilir. Bu senaryoda Apache ile entegre edeceğiz.

Thruk için Gerekli Paketleri Kurma:

sudo apt-get install -y apache2 libapache2-mod-fcgid libjson-perl libyaml-perl libgd-graph-perl libnet-snmp-perl librrd-perl

Thruk’u Kurma:

Thruk’un doğrudan Ubuntu 12.04 depolarında olması pek olası değil. En iyi yaklaşım, Thruk’un eski bir sürümünü manuel olarak indirmek veya Thruk’un kendi deposunu eklemektir (ancak bu, eski bir Ubuntu sürümü için sorunlu olabilir). Kolaylık sağlamak adına, Thruk’un resmi web sitesinden uygun bir .deb paketi bulmaya çalışabiliriz. Eğer bulunamazsa, kaynak koddan derlemek veya Shinken’ın kendi basit web arayüzünü kullanmak daha pratik olabilir.

Alternatif: Shinken WebUI Kurulumu

Shinken’ın kendi basit web arayüzünü kurmak genellikle daha kolaydır ve çoğu temel izleme ihtiyacını karşılar.

sudo pip install shinken-webui

Ardından, Apache’yi Shinken WebUI ile entegre etmek için bir Virtual Host yapılandırması oluşturalım.

sudo nano /etc/apache2/sites-available/shinken-webui.conf

İçeriği aşağıdaki gibi yapıştırın (port ve domain adını kendi ortamınıza göre ayarlayın):


    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine On
    RewriteRule ^/shinken/(.*) /shinken_webui.fcgi/$1 [QSA,PT,L]

    ScriptAlias /shinken_webui.fcgi /usr/local/bin/shinken-webui.fcgi
    
        AuthType Basic
        AuthName "Shinken Restricted Area"
        AuthUserFile /etc/shinken/htpasswd.users
        Require valid-user
        Options +ExecCGI
        SetHandler fcgid-script
    

Web arayüzü için bir kullanıcı ve parola oluşturalım:

sudo htpasswd -c /etc/shinken/htpasswd.users shinkenadmin

shinkenadmin yerine istediğiniz kullanıcı adını kullanabilirsiniz. Parolayı girmeniz istenecektir.

Şimdi bu Virtual Host’u etkinleştirin ve Apache’yi yeniden başlatın:

sudo a2enmod rewrite
sudo a2enmod fcgid
sudo a2ensite shinken-webui.conf
sudo service apache2 restart

Önemli Not: shinken-webui.fcgi dosyasının /usr/local/bin dizininde olduğundan emin olun ve çalıştırılabilir izinlere sahip olsun:

sudo chmod +x /usr/local/bin/shinken-webui.fcgi
sudo chown shinken:shinken /usr/local/bin/shinken-webui.fcgi

Adım 7: Shinken Servislerini Başlatma

Shinken servislerini başlatmadan önce, başlangıçta çalışacak şekilde ayarlamak için bir init betiği oluşturmalıyız. Shinken genellikle kendi init betiğiyle gelir, ancak pip ile kurulumda bu otomatik olarak kurulmayabilir.

sudo nano /etc/init.d/shinken

Aşağıdaki içeriği yapıştırın (bu, Shinken’ın resmi dokümantasyonunda bulunan basitleştirilmiş bir init betiği örneğidir):

#!/bin/bash

# shinken This script starts and stops Shinken.

# chkconfig: - 85 15

description: Shinken is a monitoring system.

processname: shinken

config: /etc/shinken/shinken.cfg

pidfile: /var/run/shinken/shinken.pid

### BEGIN INIT INFO

Provides: shinken

Required-Start: $local_fs $remote_fs $network $syslog

Required-Stop: $local_fs $remote_fs $network $syslog

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Shinken monitoring daemon

Description: Shinken monitoring daemon

### END INIT INFO

Source function library.

. /lib/lsb/init-functions DAEMON=/usr/local/bin/shinken PIDFILE=/var/run/shinken/shinken.pid CONFIGFILE=/etc/shinken/shinken.cfg LOGFILE=/var/log/shinken/shinken.log SHINKEN_USER=shinken SHINKEN_GROUP=shinken start() { log_daemon_msg "Starting Shinken monitoring daemon" "shinken" start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $SHINKEN_USER:$SHINKEN_GROUP --exec $DAEMON -- --config-file $CONFIGFILE --daemon log_end_msg $? } stop() { log_daemon_msg "Stopping Shinken monitoring daemon" "shinken" start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON log_end_msg $? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status_of_proc -p $PIDFILE $DAEMON shinken && exit 0 || exit $? ;; *) log_action_msg "Usage: /etc/init.d/shinken {start|stop|restart|status}" exit 1 esac exit 0

Kaydedin ve betiği çalıştırılabilir hale getirin:

sudo chmod +x /etc/init.d/shinken
sudo update-rc.d shinken defaults

Şimdi Shinken servislerini başlatın:

sudo service shinken start

Tarayıcınızda http://your_shinken_server_ip/shinken adresine giderek Shinken WebUI’ye erişmeyi deneyin. Oluşturduğunuz shinkenadmin kullanıcı adı ve parolasıyla giriş yapmalısınız. Henüz hiçbir şey izlenmiyor olabilir, ancak arayüzün çalıştığını doğrulayın.

Temel Shinken Yapılandırması

Shinken’ın yapılandırma dosyaları /etc/shinken dizininde bulunur. Temel olarak, ana Shinken ayarlarını (shinken.cfg), kaynak tanımlarını (resource.cfg), ana bilgisayar tanımlarını (hosts.cfg) ve hizmet tanımlarını (services.cfg) düzenleyeceğiz.

Adım 1: shinken.cfg ve resource.cfg Dosyalarını Düzenleme

shinken.cfg dosyası, Shinken’ın genel davranışını ve daemon’ların yerini tanımlar. Şimdilik varsayılan ayarlarla devam edebiliriz.

resource.cfg dosyası, eklentiler tarafından kullanılan makroları ve yolları tanımlar. Buraya Nagios eklentilerinin yolunu eklememiz önemlidir.

sudo nano /etc/shinken/resource.cfg

Aşağıdaki satırı ekleyin veya mevcutsa düzenleyin:

$PLUGINSDIR$=/usr/local/shinken/libexec

Bu, Shinken’ın izleme eklentilerini nerede bulacağını söyler.

Adım 2: Yerel Shinken Sunucusunu İzlemek İçin Yapılandırma

Shinken sunucusunun kendisini izleyerek, kurulumun doğru çalıştığını doğrulayabiliriz.

commands.cfg Dosyasını Düzenleme:

Nagios eklentilerini kullanmak için komut tanımlarına ihtiyacımız var. Shinken varsayılan olarak commands.cfg dosyasını içerir.

sudo nano /etc/shinken/commands.cfg

check_nrpe komutunun tanımının olduğundan emin olun. Eğer yoksa, aşağıdaki gibi ekleyin:

define command {
    command_name    check_nrpe
    command_line    $PLUGINSDIR$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

hosts.cfg Dosyasını Düzenleme:

Shinken sunucusunu bir ana bilgisayar olarak tanımlayalım.

sudo nano /etc/shinken/hosts.cfg

Mevcut örnekleri temizleyip aşağıdaki tanımı ekleyebiliriz:

define host {
    use                     linux-server
    host_name               shinken-server
    alias                   Shinken Monitoring Server
    address                 127.0.0.1
    max_check_attempts      5
    check_period            24x7
    notification_interval   30
    notification_period     24x7
    contacts                shinkenadmin
    register                1
}

define hostgroup {
    hostgroup_name          shinken-servers
    alias                   Shinken Servers
    members                 shinken-server
}

shinkenadmin varsayılan bir iletişim kişisidir, eğer farklı bir kişi tanımlamak isterseniz contacts.cfg dosyasını düzenlemeniz gerekir.

services.cfg Dosyasını Düzenleme:

Shinken sunucusu için bazı temel hizmetleri tanımlayalım (örneğin, ping).

sudo nano /etc/shinken/services.cfg

Aşağıdaki hizmet tanımlarını ekleyin:

define service {
    use                     generic-service
    host_name               shinken-server
    service_description     PING
    check_command           check_ping!100.0,20%!500.0,60%
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               shinken-server
    service_description     SSH
    check_command           check_ssh
    notifications_enabled   1
}

generic-service şablonu templates.cfg dosyasında tanımlıdır ve varsayılan ayarlar içerir.

Yapılandırmayı Kontrol Etme ve Shinken’ı Yeniden Başlatma:

Yapılandırma dosyalarınızda bir hata olup olmadığını kontrol etmek için Shinken’ın yapılandırma denetleyicisini kullanın:

sudo shinken --check

Eğer çıktı Configuration is OK diyorsa, Shinken servislerini yeniden başlatın:

sudo service shinken restart

Web arayüzünü (http://your_shinken_server_ip/shinken) kontrol ederek Shinken sunucusunun izlenmeye başladığını doğrulayın.

Bir VPS Örneğini İzlemek İçin Yapılandırma

Uzak bir VPS örneğini izlemek için Nagios Remote Plugin Executor (NRPE) aracısını kullanacağız. NRPE, Shinken sunucusunun VPS üzerinde yerel olarak çalıştırılan eklentileri uzaktan çağırmasına olanak tanır.

Adım 1: VPS Üzerine NRPE ve Nagios Eklentilerini Kurma

VPS’nize SSH ile bağlanın ve aşağıdaki adımları uygulayın. Bu adımlar Ubuntu 12.04 veya Debian tabanlı diğer dağıtımlar için geçerlidir.

Sistemi Güncelleme ve Gerekli Paketleri Kurma:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y nagios-nrpe-server nagios-plugins

nagios-plugins paketi, CPU, RAM, disk kullanımı gibi temel kontrolleri sağlayan eklentileri içerir.

Adım 2: NRPE Yapılandırması (VPS Üzerinde)

NRPE sunucusunun yapılandırma dosyası /etc/nagios/nrpe.cfg adresinde bulunur. Bu dosyayı düzenleyerek Shinken sunucunuzun VPS’ye bağlanmasına izin vermeli ve izlenecek komutları tanımlamalısınız.

sudo nano /etc/nagios/nrpe.cfg

Shinken Sunucunuzun IP Adresine İzin Verme:

allowed_hosts satırını bulun ve Shinken sunucunuzun IP adresini ekleyin. Birden fazla IP adresi virgülle ayrılabilir.

allowed_hosts=127.0.0.1, your_shinken_server_ip

Komut Tanımları:

NRPE yapılandırma dosyasının sonunda, Shinken’ın uzaktan çalıştırabileceği komutları tanımlamanız gerekir. Örnek olarak, CPU yükü, disk alanı ve RAM kullanımı için komutlar ekleyelim:

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_var]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /var
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
command[check_mem]=/usr/lib/nagios/plugins/check_mem.sh -w 80 -c 90 # Bu betik manuel olarak eklenmeli veya alternatif kullanılmalı

Not: check_mem.sh genellikle nagios-plugins paketiyle gelmez. Bellek kontrolü için farklı bir eklenti kullanmanız veya check_mem.sh betiğini manuel olarak oluşturmanız gerekebilir. Basit bir örnek için:

sudo nano /usr/lib/nagios/plugins/check_mem.sh
#!/bin/bash

check_mem.sh

Checks memory usage.

Usage: check_mem.sh -w -c

while getopts "w:c:" OPTION; do case $OPTION in w) WARNING=$OPTARG ;; c) CRITICAL=$OPTARG ;; esac done if [ -z "$WARNING" ] || [ -z "$CRITICAL" ]; then echo "Usage: $0 -w -c " exit 3 fi MEM_TOTAL=$(free -m | grep Mem: | awk '{print $2}') MEM_USED=$(free -m | grep Mem: | awk '{print $3}') MEM_FREE=$(free -m | grep Mem: | awk '{print $4}') MEM_BUFFERS=$(free -m | grep Mem: | awk '{print $6}') MEM_CACHED=$(free -m | grep Mem: | awk '{print $7}') MEM_USED_REAL=$(( MEM_USED - MEM_BUFFERS - MEM_CACHED )) MEM_FREE_REAL=$(( MEM_TOTAL - MEM_USED_REAL )) MEM_PERCENT=$(( MEM_USED_REAL * 100 / MEM_TOTAL )) if [ "$MEM_PERCENT" -ge "$CRITICAL" ]; then echo "CRITICAL - Memory usage: ${MEM_PERCENT}% (${MEM_USED_REAL}MB used)" exit 2 elif [ "$MEM_PERCENT" -ge "$WARNING" ]; then echo "WARNING - Memory usage: ${MEM_PERCENT}% (${MEM_USED_REAL}MB used)" exit 1 else echo "OK - Memory usage: ${MEM_PERCENT}% (${MEM_USED_REAL}MB used)" exit 0 fi

Betiği kaydedin ve çalıştırılabilir hale getirin:

sudo chmod +x /usr/lib/nagios/plugins/check_mem.sh
sudo chown nagios:nagios /usr/lib/nagios/plugins/check_mem.sh

NRPE Servisini Yeniden Başlatma:

Yapılandırma değişikliklerinden sonra NRPE servisini yeniden başlatın:

sudo service nagios-nrpe-server restart

NRPE Bağlantısını Test Etme (Shinken Sunucusundan):

Shinken sunucunuza geri dönün ve VPS’deki NRPE servisine bağlanıp bağlanamadığınızı test edin:

/usr/local/shinken/libexec/check_nrpe -H your_vps_ip_address

Eğer NRPE v2.15 (veya benzeri bir sürüm) gibi bir çıktı alırsanız, bağlantı başarılı demektir. Şimdi tanımladığınız bir komutu test edin:

/usr/local/shinken/libexec/check_nrpe -H your_vps_ip_address -c check_load

Bu, VPS’deki yük ortalamasını döndürmelidir.

Adım 3: Shinken Yapılandırması (Shinken Sunucusu Üzerinde)

Şimdi Shinken sunucusunu, VPS örneğini izlemek için yapılandıracağız.

VPS için Host Tanımlama:

Yeni bir yapılandırma dosyası oluşturalım:

sudo nano /etc/shinken/vps_hosts.cfg

Aşağıdaki içeriği ekleyin (VPS’nizin IP adresi ve ana bilgisayar adını kendi değerlerinizle değiştirin):

define host {
    use                     linux-server
    host_name               my-vps-instance
    alias                   My Remote VPS
    address                 your_vps_ip_address
    max_check_attempts      5
    check_period            24x7
    notification_interval   30
    notification_period     24x7
    contacts                shinkenadmin
    register                1
}

define hostgroup {
    hostgroup_name          vps-servers
    alias                   VPS Servers
    members                 my-vps-instance
}

VPS için Service Tanımlama:

Yeni bir yapılandırma dosyası oluşturalım:

sudo nano /etc/shinken/vps_services.cfg

Aşağıdaki hizmet tanımlarını ekleyin. Bu tanımlar, VPS üzerinde NRPE aracılığıyla çalıştırılan komutları çağıracaktır.

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     PING
    check_command           check_ping!100.0,20%!500.0,60%
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     SSH
    check_command           check_ssh
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     Load Average
    check_command           check_nrpe!check_load
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     Root Partition
    check_command           check_nrpe!check_root
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     Var Partition
    check_command           check_nrpe!check_var
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     Total Processes
    check_command           check_nrpe!check_total_procs
    notifications_enabled   1
}

define service {
    use                     generic-service
    host_name               my-vps-instance
    service_description     Memory Usage
    check_command           check_nrpe!check_mem
    notifications_enabled   1
}

Ana Yapılandırma Dosyasına Yeni Dosyaları Ekleme:

Shinken’ın yeni yapılandırma dosyalarınızı okuduğundan emin olmak için /etc/shinken/shinken.cfg dosyasını düzenleyin ve cfg_file yönergeleri ekleyin:

sudo nano /etc/shinken/shinken.cfg

cfg_file=/etc/shinken/hosts.cfg ve cfg_file=/etc/shinken/services.cfg satırlarının altına şunları ekleyin:

cfg_file=/etc/shinken/vps_hosts.cfg
cfg_file=/etc/shinken/vps_services.cfg

Yapılandırmayı Kontrol Etme ve Shinken’ı Yeniden Başlatma:

Yapılandırma dosyalarınızda bir hata olup olmadığını kontrol edin:

sudo shinken --check

Eğer çıktı Configuration is OK diyorsa, Shinken servislerini yeniden başlatın:

sudo service shinken restart

Web arayüzünü (http://your_shinken_server_ip/shinken) kontrol ederek VPS örneğinizin izlenmeye başladığını doğrulayın. Ana bilgisayar ve hizmet durumlarını görmelisiniz.

Gelişmiş Konular ve Ek Hususlar

* Bildirimler: E-posta, SMS veya diğer iletişim kanalları üzerinden bildirimler ayarlamak için contacts.cfg ve timeperiods.cfg dosyalarını düzenlemeniz gerekir. Shinken, farklı bildirim yöntemleri için çeşitli modüller sunar.
* Grafikler: PNP4Nagios veya Graphite gibi araçlarla entegre olarak izleme verilerinin grafiklerini oluşturabilirsiniz. Bu, performans trendlerini görselleştirmek için çok faydalıdır.
* Dağıtık İzleme: Daha büyük ortamlar için, birden fazla poller veya broker kullanarak izleme yükünü dağıtabilirsiniz. Bu, Shinken’ın en güçlü özelliklerinden biridir.
* Güvenlik: Shinken WebUI’ye erişimi kısıtlamak için güçlü parolalar kullanın ve HTTPS üzerinden erişim sağlamak için Apache/Nginx SSL yapılandırması yapın. NRPE bağlantılarının sadece Shinken sunucunuzdan gelmesine izin verdiğinizden emin olun (VPS’deki nrpe.cfg dosyasındaki allowed_hosts ayarı).
* Log Yönetimi: Shinken ve NRPE günlüklerini düzenli olarak kontrol edin (/var/log/shinken, /var/log/syslog veya /var/log/daemon.log). Sorun giderme için kritik bilgiler içerirler.
* Ubuntu 12.04’ün Yaşam Döngüsü Sonu: Ubuntu 12.04’ün resmi desteğinin sona erdiğini unutmayın. Bu, güvenlik güncellemeleri almadığı anlamına gelir. Üretim ortamlarında, daha yeni ve desteklenen bir Ubuntu sürümüne yükseltmeniz şiddetle tavsiye edilir. Bu makale, belirli bir eski sürüm senaryosunu ele almaktadır.

Sorun Giderme

* Web Arayüzüne Erişilemiyor:
* Apache’nin çalıştığından emin olun (sudo service apache2 status).
* Apache hata günlüklerini kontrol edin (/var/log/apache2/error.log).
* Güvenlik duvarının (ufw) 80 portunu engellemediğinden emin olun.
* shinken-webui.fcgi betiğinin doğru yolda ve çalıştırılabilir olduğundan emin olun.
* Shinken Servisleri Başlamıyor:
* sudo service shinken status komutuyla durumu kontrol edin.
* Shinken günlüklerini kontrol edin (/var/log/shinken/shinken.log).
* sudo shinken --check komutuyla yapılandırma hatalarını kontrol edin.
* Shinken kullanıcısının (shinken) gerekli dizinlere yazma izinleri olduğundan emin olun.
* VPS İzlenmiyor / NRPE Hatası:
* VPS üzerinde NRPE servisinin çalıştığından emin olun (sudo service nagios-nrpe-server status).
* VPS güvenlik duvarının (ufw) 5666 portunu engellemediğinden emin olun.
* VPS’deki nrpe.cfg dosyasında allowed_hosts içinde Shinken sunucusunun IP adresinin doğru olduğundan emin olun.
* Shinken sunucusundan check_nrpe komutunu manuel olarak çalıştırarak test edin.
* NRPE günlüklerini kontrol edin (/var/log/syslog veya /var/log/daemon.log üzerinde NRPE ile ilgili girdiler).
* Eklenti yollarının (örneğin /usr/lib/nagios/plugins/) VPS’deki nrpe.cfg dosyasında doğru olduğundan emin olun.

Sonuç

Bu makalede, Shinken’ı Ubuntu 12.04 sunucusu üzerine nasıl kuracağınızı ve yapılandıracağınızı, ardından NRPE aracılığıyla uzak bir VPS örneğini nasıl izleyeceğinizi ayrıntılı olarak ele aldık. Shinken’ın dağıtık mimarisi ve Nagios eklentileriyle uyumluluğu sayesinde, temel bir izleme çözümünden gelişmiş, ölçeklenebilir bir sisteme kolayca geçiş yapabilirsiniz. İzleme, herhangi bir IT altyapısının vazgeçilmez bir parçasıdır ve Shinken, sistemlerinizin sağlığını ve performansını proaktif olarak yönetmek için güçlü bir araç seti sunar. Unutmayın, bu kurulum eski bir işletim sistemi üzerinde yapılmıştır ve modern dağıtımlar için adımlar biraz farklılık gösterebilir. Ancak temel mantık ve yapılandırma prensipleri aynı kalacaktır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version