18 Ekim 2012 Perşembe

Windows üzerinde otomatik Cacti kulumunda Zaman sorunu

Windows üzerinde otomatik Cacti kulumunda Zaman sorunu

Merhaba arkadaşlar,
Geçenlerde yeni bir cacti ihtiyacım olmuştu.Windows üzerine package Cacti kurulumu yaptığımda Cactinin saatinin windowsunkinden farklı olduğunu gördüm. Hatta ilk başlar grafik oluşmadığı için cactinin çalışmadığını bile düşündüm. Cactinin saati bizim saate gelince grafikler oluşmaya başlayınca timezone sorunu olduğunu anladım tabi bu bana çok zaman kaybettirdi :))

Sorunun Çözümü:

C:\PHP\php.ini  dosyasını düzenliyoruz.
dosya icerisinde "timezone" ifadesini aratıyoruz.
[Date]
date.timezone="Europe/Istanbul"
Olacak şekilde düzenliyoruz.
run => cmd
Komut satırına iisreset attığımızda sorun düzelmiş olacaktır.

Notlar:

Biz burda PHP için kendimize uygun olan timezone seçtik.Tabi siz farklı bir timezone kullanıyor olabilirsiniz. Aşağıdaki linkden kendinize uygun olan timezone seçebilirsiniz.

Sürüm Bilgisi:

 Cacti=Version 0.8.8a
 OS=Windows Server 2008 R2 Sp1


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

 
 

10 Mayıs 2012 Perşembe

CactiEZ hazır kurulmuş Cacti


CactiEZ hazır kurulmuş Cacti desem ???


Evet bu gün sizler linuz üzerine hazır kurulmuş olacak bir isodan bahsetmek istiyorum.

CactiEZ v0.6 çıkış tarihi baya eski 2009 yanlış hatırlamıyorsam.Ama biz üzerine küçük güncellemeler ile son versiyon Cacti haline getirebiliriz.

Bu isterseniz bu yolara nerden çıktığımı biraz anlatayım.Cactiyi uzun süre windows üzerinde kullandık ve hala kullanıyoruzda Syslog ihtiyaçımız oldu. Yine cacti ye baş vurduğumuzda cacti sadece syslog programı ile gelen bilgileri gösteren bir arayüzü (plugin) var.

Windows üzerinde ki tüm sysloglar ücretli oludğundan linux a geçiş yapmak zorunda kaldım.

linux üzerindeki cacti sunucusuna küçük bir syslog programı kurma yetiyordu.

Bende başladım linux üzerine cacti kurmak için araştırmaya.
Tabi hazır kurulmuşu modifiye etmek sıfırdan kurmaktan kolay geldi.

http://cactiez.cactiusers.org/        Sitesini inceleye bilirsiniz.

Sitesinde ben bu yazıyı yazarken sadece torrent olarak indirme linki vardı.

Dosyayı indirdiğimde .iso olarak geldi. Kurduğumda dchp otomatik IP alıp ekrana verdi.

Browser gelip
http://IP-adresi
yazdığımızda cactiye girmiş bulunuyoruz. Biraz eski ama kullanmak test yapmak için bence ideal.
IP ile ayar yapmak istiyorsak
netconfig
service network restart

Saat Senkronu bozuksa düzeltebiliriz.
ntpdate -u 0.pool.ntp.org


WinSCP programı linuxda dosya transferi yapmaya yarayan program. Google aratıp rahatlıkla bulabilirsiniz. WinSCP ile cactinin dosyalarını güncel olan ile yer değiştirdiğimde güncell cactim olmuş oldu.

Dikkat edilmesi gereken yer eski cactideki mysql kullanıcı adı ve şifresini aynı bırakmak. :))

Çok ayrıtılı açıklama yapamadım...Çünkü ilk öğrenmeye başladığım zaman kullandığım test amaçlı programdı...

7 Mayıs 2012 Pazartesi

Cacti temel kullanıcı bilgileri -6

Grafiklerin Export edilerek yedeklenmesi


Merhaba arkadaşlar

Bugün Cacti de bilgilerin saklama biçimi ve grafiklerin yedeklenmesi konusunda konuşacağız.

cacti database saklama şekli

son 1 günlük verileri  5 dakikalık parçalar halinde
son 1 haftalık verileri 30 dakikalık parçalar halinde
son 1 aylık verileri 2 saatlik parçalar halinde
son 1 yıllık verileri 1 günlük parçalar halinde saklıyor.

böylece databasi şişmiyor ve rahat bişekilde grafiği oluşturabiliyor.
örnek olarak 2. gününde 5 dakikalık 6 veriyi 30 dakikalık kendi algoritmasıyla  tek veri haline geliyor.

Yani bu günün grafiğini bundan 3 hafta sonra bakmak istersek 2 saatlik dilimle görebiliriz.yani 5 dakikalık dilimlerle göremiyoruz.Tabi buda bizim keskinliğimiz yuvarlamış oluyor.Tüm Monitoring programlarının buna benzer data işleme sistemi vardır.

ben şahsen ihtiyaçım olan grafiklerin günlük olarak belirlediğim zaman da belirlediğim yere kaydolmasını sağlıyorum.

Şimdi bunun ayarına bakalım..
Resim yazısı ekle


Burda Grafiklerin hangi metod ile çıkartacağımızı seçiyoruz.
 



ftp gibi bir çok seçeneği destekliyor.Ben local diske (cactinin kurulu olduğu makineye) çıkarmayı seçiyorum.
Presentation method:  Bu kısımda önemli
Clasical Presentation dersenin cacti deki tüm grafiklerin o anki resminin çıktısını alır
Tree Presentation derseniz Tree oluşturduğunuz tüm grafiklerin çıktısını alır.


 

 Local seçtiğimiz için local üzerinden bir yol söylüyoruz.Gösterdiğimiz klasörün yazma yetkisinin olması gerektiğini unutmayalım.
Zamanlamasını ayarlama geldi.Ben bu örnekte günlük belirtilen saatde seçeneğini kullandım.
tabi siz isterseniz her-saat yada 5 dakikalık periyod seçeneklerini kullanabilirsiniz.


Gösterdiğimiz klasörün yetkilerini verelim...

 
 
 
 
 
 

 

 

 Şimdi diyeceksiniz hep aynı klasöre aynı isimle yazıyor.eski grafikler siliniyor.
Tabi bununda cacti alakası olmayan bir yöntem ile çözdüm


Boş bir metin belgesi içineaşağıdaki komutu yazıp istediğim ismi verip .bat olarak kaydettim.
windowsa task schudele tanımladım. hergün saat 09:00 da çalışıyor.

xcopy /e C:\grafik_rapor c:\raporyedek\%Date:~4,2%.%date:~7,2%.%date:~10,4%--%time:~0,2%.%time:~3,2%\


 

 

bu şekilde yapıldığında bende

 


 Resimdeki gibi ay-gün-yıl-saat-dakika bilgisiyle başka bir klasöre kopyalar.

Bir yazımızında sonuna geldik