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.
