Shinken diagrammas, izmantojot grafītu
Diagramma ir ērts veids, kā skatīt servera metrikas attīstību. Kad mēs domājam par grafiku Linux pasaulē, mēs parasti domājam par Muninu. Ļoti spēcīgs risinājums, ko izmantoju dažos gadījumos. Tomēr pēdējam ir savs aģents, kas nopratinās mērķa mašīnu, lai pēc tam iegūtu datus, kas interpretēti grafika veidā. Ja jums jau ir pārraudzības serveris, piemēram, Shinken, tas ir tāpat kā divreiz. Lai to novērstu, mēs uzstādīsim Graphite serveri.
Programma sastāv no trim daļām.
- čuksti, datu bāzes dzinējs
- Ogleklis, noklausīšanās serveris, kas rūpējas par datu ievietošanu datu bāzē
- grafīts, tīmekļa saskarne python Django
Grafīta uzstādīšana
Atkarību instalēšana
1
|
apt–get install python–cairo python–django–tagging python–twisted python–memcache fontconfig
|
1
2
|
pip install django
pip install zope.interface
|
Jums ir nepieciešams arī tīmekļa serveris, kura bibliotēka ļauj ielādēt Django programmu.
1
|
apt–get install apache2 libapache2–mod–wsgi
|
Grafīta uzstādīšana
1
2
3
4
|
pip install https://github.com/graphite–project/ceres/tarball/master
pip install whisper
pip install carbon
pip install graphite–web
|
Noklusētās konfigurācijas iestatīšana
1
2
3
|
cd /opt/graphite/conf
cp carbon.conf.example carbon.conf
cp storage–schemas.conf.example storage–schemas.conf
|
Apache vHost iestatīšana
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
|
Brīdinājums! Ja izmantojat jaunāku izplatīšanu ar Apache versiju, kas ir lielāka par 2.4, jums ir jāmaina vHost šādi
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>
|
Mēs aktivizējam vHost
1
|
service apache2 reload
|
Datu bāzes izveide
1
2
3
|
cd /opt/graphite/webapp/graphite
python manage.py syncdb
chown –R www–data:www–data /opt/graphite/storage/
|
Mēs palaižam Carbon serveri
1
2
|
cd /opt/graphite/
./bin/carbon–cache.py start
|
Nosūtiet testa datus
1
|
echo « carbon.installation.test $RANDOM `date +%s` » | nc –w 1 localhost 2003
|
Šajā posmā mums ir funkcionāls Graphite, ja jūs dodaties uz sava servera adresi HTTP, jums vajadzētu redzēt, ka jūsu testa dati parādās tīmekļa saskarnē.
Krustojums pie Shinken
Mēs instalējam Graphite moduli no Shinken krātuvēm
1
2
3
|
su shinken
shinken install ui–graphite
shinken install graphite
|
Mēs pievienojam grafīta-ui moduli WebUI sadaļā /etc/shinken/modules/webui.cfg
1
|
modules auth–cfg–password,SQLitedb,ui–graphite
|
Mēs pievienojam grafīta moduli brokerim sadaļā /etc/shinken/brokers/broker-master.cfg
1
|
modules webui,graphite
|
Mēs konfigurējam grafīta moduli mapē /etc/shinken/modules/graphite.cfg
1
2
3
4
5
6
|
define module {
module_name graphite
module_type graphite_perfdata
host localhost
port 2003
}
|
Mēs konfigurējam piekļuvi grafīta tīmekļa vietnei /etc/shinken/modules/ui-graphite.cfg
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/
}
|
Uzmanieties, lai URL beigās neliktu slīpsvītru, pretējā gadījumā saites nedarbosies.
Un visbeidzot mēs atsākam Shinken, lai to visu ņemtu vērā.
1
|
/etc/init.d/shinken restart
|
Tagad jums vajadzētu redzēt diagrammas tāda paša nosaukuma cilnē Shinken tīmekļa saskarnē
Graphite tīmekļa saskarnē vajadzētu parādīties arī jūsu saimniekdatoriem.
Cilne “4 stundas” var nedarboties. Tas ir tāpēc, ka laika josla abos komponentos nav vienāda.
Lai pielāgotu shinken laika joslu, atveriet failu /etc/shinken/shinken.cfg
1
|
use_timezone=Europe/Paris
|
Un grafītam ir jāaktivizē konfigurācijas fails, kopējot piemēru
1
2
|
cd /opt/graphite/webapp/graphite
cp local_settings.py.example local_settings.py
|
Un noņemiet komentāru no rindiņas, kas atbilst laika joslas vērtībai
1
|
TIME_ZONE = ‘Europe/Paris’
|