17 Mayıs 2012 Perşembe

Linux(Centos) üzerine sıfırdan cacti kurulumu

Merhaba Arkadaşlar;

Şimdi sıfırdan centos kurup üzerine cacti kurdum.

Bu yazımı oluştururken bir çok internet sayfasınından alıntı yapacağım kusura bakmasınlar. İsteyen benim yazımdanda alıntı yapabilir..Burdaki amaçım bilgileri paylaşmak.

Ben ücretsiz olduğundan redhat yerine centos tercih ettim.Grafik ekranı kullanmayacağımdan kurmadım.
Basic server kurdum.kurduğum OS CentOS-5.3-i386-bin-DVD

Kurduktan sonra sadece yum update dedim

Küçük bir not bilmeyen arkadaşlar için

Vi  (windowsdaki notepad) kullanımı
vi ile ilk bir dosya açtığımızda gezinme modunda oluruz. ok tuşları ile istediğimiz yeri gezip okuyabiliriz.
i tuşuna bastığımızda zaten en altta <insert> yazar yazma moduna geçeriz. istediğimiz değişikliği yaptığımızda esc tuşu ile ile yeniden gezinme moduna geçeriz.
Gezinme modunda iken
:wr                  yazılanları kaydet
:q            çık
:q!       kaydetmeden çık

ben vi ile sadece bu komutları biliyorum banada yetiyor.


gelelim kuruluma

yum install httpd php mysql mysql-server php-mysql php-snmp php-xml net-snmp-utils net-snmp-libs


Daha sonrakurduğumuz 2 servisi başlangıçta çalışır hale getirelim
chkconfig mysqld on
chkconfig httpd on


RRDTOOL geliştiricilerinin resmi deposunu ekliyorum.Bu bize hem RRDTOOL u hemde cacti kurabilir hale getirecek

vi /etc/yum.repos.d/dag.repo
Daha sonra oluşturdugumuz bu dosyanın içerisine aşağıdaki satırları ekliyoruz.
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
Evet yeni repository’mizi tanımladık. Artık yum ile rrdtool kurulumunu gerçekleştriebiliriz.
yum install rrdtool

Ayrıca bu depomuzda cacti kuruluma mümkün

yum install cacti

Sunucumuza cactinin son sürümünü indirip /var/www/cacti   klasörüne yerleştiriyor. bu kadar.

service httpd status

service httpd start

service mysqld start


http://ipadresimiz   yazınca apache servisi gelmesi gerekiyor.Gelmesse firewall kapalıdır.
Firewall açmak için bir çok yol var benim bildiğim
 
 
setup
 
                                                      Authentication configuration   │                                            
                                                │   Firewall configuration         │                                            
                                                │   Network configuration          │                                            
                                                │   System services       


Firewall ayarlarından disable etiğimizde çalışacaktır.
Yeri gelmişken network ile ayarımız varsa network configuration kullanabiliiriz.

http://ipadresimiz/cacti

yazdığımızda gelecek ama önce izin verelim

vi /etc/httpd/conf.d/cacti.conf

Alias /cacti/ /var/www/cacti/
<Directory /var/www/cacti/>
    DirectoryIndex index.php
    Options -Indexes
    AllowOverride all
    order deny,allow
    deny from all
    allow from all             ====> burası 127.0.0.1 idi. düzeltelim.
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc on
    php_flag track_vars on
</Directory>



Oluşturdugunuz bu repository’i bir daha kullanmak istemiyorsanız aşağıdaki komut ile silebilirsiniz.
[root@endersys ~]# rm /etc/yum.repos.d/dag.repo


http://ipadresimiz/cacti

yazdığımızda gelecek ama bu seferde mysql ile hata almamız gerekecek


Cacti için kullanacağımız veritabanını oluşturalım ve az önce açtıgımız dosyalar arasında cacti.sql dosyasının içerisindeki tüm tablo ve diğer tanımlamaları, oluşturduğumuz veritabanına aktaralım. Daha sonra mysql üzerinde oluşturduğumuz “cactiuser” kullanıcısına mysql tarafında gerekli tüm izinleri verelim ve cactiuser kullanıcısının şifresini cactiuser yapalım.
[root@endersys ~]# mysqladmin create cacti
[root@endersys ~]# mysql cacti < /var/www/cacti/cacti.sql
[root@endersys ~]# mysql -u root mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser’;
mysql> flush privileges;
mysql> exit
Eğer mysql kurulumunu ilk defa yapmıyorsanız muhtemelen yukarıdaki komutlar çalışmayacaktır. Yukarıdaki komutlar yerine mysql ve mysqladmin komutlarını aşağıdaki parametrelerle çalıştırırsanız sıkıntı olmayacaktır. ” -u [kullanıcıadı] -p ” paramtetreleri ilgili kullanıcıyla bağlan ve şifre sor anlamında kullanılır. Her yazdığınız komuttan sonra ilgili kullanıcının şifresini sizden isteyecektir.
[root@endersys ~]# mysqladmin -u root -p create cacti
[root@endersys ~]# mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
[root@endersys ~]# mysql -u root -p mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser’;
mysql> flush privileges;
mysql> exit


Not:
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser’;
komutunu verirken benim gibi hata alıyorsanız kopyala yapıştır doğru çalışmıyor.
Düzeltmek için tüm boşlıkları silip kendiniz boşluk oluşturun ve
 ' tırnak isaretlerinide silip kendiniz bildiğiniz shift 2 tuşuyla yapın.
Yarım saat uğraştım siz uğraşmayın...
 
N


Evet son olarak Cacti’nin config dosyasını aşağıdaki gibi düzeltiyoruz.
vi ile config.php dosyasını açıyoruz
 vi /var/www/html/cacti/include/config.php
Daha sonra aşağıda belirttiğim satırları bulup değiştiriyoruz.Buyuk ihtimal üzerindeki ayarlar bu şekilde gelecektir. ama yine versiyon değişirse diye kontrol edin.
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";

Evet artık cacti’yi web üzerinden yapılandırabiliriz.
 Browserınızın addres satırına http://ip_adresi/cacti yazarak cacti sayfasına ulaşabilirsiniz.




Resimdeki gibi bir sayfa sizi karşılamış olmalı. Next diyerek bir sonraki adıma geçebilrisiniz. Yeni bir kurulum yaptığımız için bir sonraki sayfadan da Next seçeneği ile bir sonraki sayfaya geçin.








 Bu sayfadaki tüm gereksinimler sağlanmış olmalı. Eğer herhangi bir gereksinim kırmızı ile işaretlenmiş olursa Cacti düzgün çalışmayacaktır. Eğer yukarıdaki adımları doğru uyugladıysanız herhangi bir sorunla karşılaşmamamış olmalısınız. Finish seçeneği ile kurulumu tamamlayabilirsiniz.









 Cacti’nin login sayfasına hoşgeldiniz :) Cacti’nin default kullanıcı adı ve şifresi “admin” “admin” olarak belirlenmiştir ve ilk login olduğunuzda sizden şifrenizi değiştirmenizi isteyecektir.






Son olarak daha önce açtığımız cacti dosyalarının arasında yer alan poller.php dosyasını crontabtan her 5 dakikada bir çalışacak şekilde yapılandırıyoruz.Bu sayede her 5 dakikada bir gelen bilgilerin rrdtool ile grafiksel ortama aktarılmasını sağlamış oluyoruz.  poller.php dosyasının çalışması önemli çünkü bu dosya doğru şekilde crontabtan çağrılmassa grafikler oluşmayacaktır.
crontab dosyasını vi ile açıp içine aşağıdaki girdiyi yazıp kaydederek kapatıyoruz.
 vi /etc/crontab

*/5 * * * * cactiuser php /var/www/cacti/poller.php > /dev/null 2>&1
 
 
 
 
 
 
 
Bu aşamadan sonra grafikleriniz oluşmaya başlamalı. Eğer grafikleriniz oluşmuyorsa yukarıdaki komutu elle çalıştırarak /var/www/html/cacti/log/cacti.log dosyasının içeriğini kontrol edebilirsiniz. poller.php dosyası her çalıştıgında cacti.log dosyasına çalıştığı zaman bilgisini yazar. Bu şekilde crontaba girdiğiniz girdinin çalışıp çalışmadığını da gözlemleyebilirsiniz. Elle çalıştırmak için şu
komutu kullanabilirsiniz.
[root@endersys ~]# php /var/www/html/cacti/poller.php > /dev/null 2>&1
Evet artık Cacti kullanıma hazır. Default olarak kendisi “Graphs” tabı altında localhost için memory usage, load average, logged in users ve processes grafiklerini oluşturuyor. Siz de istediğiniz bir sunucu için istediğiniz grafiği oluşturabilirsiniz.
Şimdi gelelim windows üzerinde cacti varken niye linux üzerine kurmaya çalışıyorum.

Çok basit syslog için

Windowsdaki tüm syslog uygulamaları ücretli.Bende mecbur kaldım linux kullanmaya....
2 ihtimalim var
1-linux üzerinde syslog verileri toplayıp kendi üzerindeki mysqle yazacak .Sonra windows üzerindeki cacti syslogun databasene erişip bilgileri çekecek.
2.windowsdaki cactiyi syslogun bulunduğu linux sunucu üzerine taşınacak

şimdi sunucuya syslog kurulumuna geçiyorum.


# yum install rsyslog rsyslog-mysql mysql-server php-mysql php-gd httpd mod_ssl


Normal şartlarda sadece rsyslog ve rsyslog-mysql kurmamız yeterli.
gereklik şartlarını önceden kurmuştuk neydi bunlar : mysql-server php-mysql httpd
php-gd ile mod-ssl aşağıda belirttiğim şey için gerekli
Ben cacti dışından başka bir uygula ilede syslogları incelemek istiyorum.i


#  chkconfig rsyslog on

#  service rsyslog start


 Shut down sysklogd before you run rsyslog

diye bir uyarı aldım belki siz almazsınız altta başka syslog uygulaması çalışıyormuş

chkconfig syslog off
chkconfig rsyslog on
service syslog stop
service rsyslog start
 
 
dersek altta çalışan diğer syslogu kapamış olduk
 
 
vi /etc/rsyslog.conf 

Aşağıdaki metni en üst satıra ekleyelim.

 
 
 
 
 
$ModLoad ommysql
$template cacti_syslog,"INSERT INTO syslog_incoming(facility, priority, date, time, host, message) values (%syslogfacility%, %syslogpriority%,  '%timereported:::date-mysql%', '%timereported:::date-mysql%', '%HOSTNAME%', '%msg%')", SQL
*.*             >localhost,syslog,cactiuser,cactiuser;cacti_syslog
 
 
 
 
 
ayarlarımız etkin olması için 
 
service rsyslog restart
 
cd /var/www/html/
wget  http://docs.cacti.net/_media/plugin:syslog-v1.22-2.tgz
mv plugin:syslog-v1.22-2.tgz syslog.tgz
tar -xzvf syslog.tgz
 
 
mv syslog /var/www/cacti/plugins/
 
 
mysqladmin create syslog
mysql cacti < /var/www/cacti/plugions/syslog/syslog.sql
mysql -u root mysql
mysql> GRANT ALL ON syslog.* TO cactiuser@localhost IDENTIFIED BY ‘cactiuser’;
mysql> flush privileges;
mysql> exit

 
 

4 yorum:

  1. Bugun bir kere daha ihtiyacım oldu.Centos 6.3 e kurdum bu kadar mı rahat kurulur :))

    Kimse yorum yazmamış.Kimseye yardımı olmamış galiba :((

    YanıtlaSil
  2. vi /var/www/html/cacti/include/config.php

    komutunun içinde config.php benim gibi bulamayanlar

    /var/www/cacti/include/config.php içindedir
    siz /var/www/ altındaki cacti klasörünü /var/www/html/ altına taşıyacaksınız

    YanıtlaSil
  3. güzel bir yazı. teşekkürler

    YanıtlaSil