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