Grafit ile Shinken'deki Grafikler
Grafik, bir sunucunun metriklerinin gelişimini görmenin uygun bir yoludur. Linux dünyasında grafiği düşündüğümüzde, genellikle Munin'i düşünürüz. Bazı durumlarda kullandığım çok güçlü bir çözüm. Bununla birlikte, ikincisinin, daha sonra bir grafik şeklinde yorumlanan verileri elde etmek için hedef makineyi sorgulayacak kendi aracısı vardır. Halihazırda Shinken gibi bir izleme sunucunuz varsa, bu işi iki kez yapmak gibidir. Bunun üstesinden gelmek için bir Graphite sunucusu kuracağız.
Program üç bölümden oluşmaktadır.
- Fısıltı, bir veritabanı motoru
- Karbon, verileri veritabanına eklemekle ilgilenen dinleme sunucusu
- grafit, python Django'da web arayüzü
Grafit Montajı
Bağımlılıkları yükleme
1
|
apt–get install python–cairo python–django–tagging python–twisted python–memcache fontconfig
|
1
2
|
pip install django
pip install zope.interface
|
Ayrıca, bir Django programı yüklemenize izin veren kitaplığı olan bir web sunucusuna da ihtiyacınız var.
1
|
apt–get install apache2 libapache2–mod–wsgi
|
Grafit kurulum
1
2
3
4
|
pip install https://github.com/graphite–project/ceres/tarball/master
pip install whisper
pip install carbon
pip install graphite–web
|
Varsayılan yapılandırmayı ayarlama
1
2
3
|
cd /opt/graphite/conf
cp carbon.conf.example carbon.conf
cp storage–schemas.conf.example storage–schemas.conf
|
apache vHost'u kurma
1
2
3
4
5
6
7
8
9
10
11
|
cd /opt/graphite
cp –a examples/example–graphite–vhost.conf /etc/apache2/sites–available/graphite
cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
sed –i s%« @DJANGO_ROOT@/contrib/admin/media/ »%« /usr/share/pyshared/django/contrib/admin/media/ »% /etc/apache2/sites–available/graphite
sed –i ‘s%WSGISocketPrefix run/wsgi/%WSGISocketPrefix /var/run/apache2/wsgi%’ /etc/apache2/sites–available/graphite
a2ensite graphite
|
Uyarı, 2.4'ten daha büyük bir Apache sürümüne sahip daha yeni bir dağıtımdaysanız, vHost'u aşağıdaki gibi değiştirmelisiniz.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<Directory /opt/graphite/conf/>
#Order deny,allow
#Allow from all
Options All
AllowOverride All
Require all granted
</Directory>
<Directory /opt/graphite/webapp>
Options All
AllowOverride All
Require all granted
</Directory>
|
vHost'u etkinleştiriyoruz
1
|
service apache2 reload
|
Veritabanı oluşturma
1
2
3
|
cd /opt/graphite/webapp/graphite
python manage.py syncdb
chown –R www–data:www–data /opt/graphite/storage/
|
Carbon sunucusunu başlatıyoruz
1
2
|
cd /opt/graphite/
./bin/carbon–cache.py start
|
Test verilerini gönder
1
|
echo « carbon.installation.test $RANDOM `date +%s` » | nc –w 1 localhost 2003
|
Bu aşamada işlevsel Grafitimiz var, HTTP'deki sunucunuzun adresine giderseniz, test verilerinizin web arayüzünde göründüğünü görmelisiniz.
Shinken'deki kavşak
Graphite modülünü Shinken depolarından kuruyoruz
1
2
3
|
su shinken
shinken install ui–graphite
shinken install graphite
|
Grafit-ui modülünü /etc/shinken/modules/webui.cfg altındaki WebUI'ye ekliyoruz
1
|
modules auth–cfg–password,SQLitedb,ui–graphite
|
Grafit modülünü /etc/shinken/brokers/broker-master.cfg altındaki komisyoncuya ekliyoruz
1
|
modules webui,graphite
|
Grafit modülünü /etc/shinken/modules/graphite.cfg altında yapılandırıyoruz
1
2
3
4
5
6
|
define module {
module_name graphite
module_type graphite_perfdata
host localhost
port 2003
}
|
Grafit webui'ye erişimi /etc/shinken/modules/ui-graphite.cfg altında yapılandırıyoruz
1
2
3
4
5
6
|
define module {
module_name ui–graphite
module_type graphite–webui
uri http://172.16.10.6 ; ip de votre serveur graphite
templates_path /var/lib/shinken/share/templates/graphite/
}
|
URL'nin sonuna eğik çizgi koymamaya dikkat edin, aksi takdirde bağlantılar çalışmayacaktır.
Ve sonunda, tüm bunları hesaba katmak için Shinken'i yeniden başlatıyoruz.
1
|
/etc/init.d/shinken restart
|
Artık grafiklerinizi Shinken web arayüzünde aynı adlı sekmede görmelisiniz.
Graphite web arayüzünde ana bilgisayarlarınız da görünmelidir.
“4 saat” sekmesi çalışmayabilir. Bunun nedeni, saat diliminin iki bileşende aynı olmamasıdır.
Küçülen saat dilimini ayarlamak için /etc/shinken/shinken.cfg dosyasına gidin
1
|
use_timezone=Europe/Paris
|
Ve grafit için örneği kopyalayarak yapılandırma dosyasını etkinleştirmeniz gerekir.
1
2
|
cd /opt/graphite/webapp/graphite
cp local_settings.py.example local_settings.py
|
Ve saat dilimi değerine karşılık gelen satırı kaldırın
1
|
TIME_ZONE = ‘Europe/Paris’
|