Cacti

Centos 7 üzerine Cacti 1.2.2 Kurulumu

Centos 7 üzerine Cacti 1.2.2 Kurulumu 2

Translate This Page:

Select your language: 

Bu makalemizde IT nin kullandığı cihazların sistem takibini kolaylıkla yapabilmek için yazılmış açık kaynak web tabanlı bir ağ izleme ve sistem izleme yazılımı olan cactiyi inceleyeceğiz.

Cacti, bir kullanıcının RRDtool’u kullanarak elde edilen veriler üzerinde grafikler oluşturması için düzenli aralıklarla hizmetleri anlama olanağı tanır. Genellikle, ağ bant genişliği kullanımı, CPU yükü, çalışan işlemler, disk alanı vb. Gibi metriklerin zaman serisi verilerini grafiklemek için kullanılır.

Cacti sistem ve ağ cihazları izleme yazılımı, SNMP (Simple Network Management Protocol) protokolünü kullanarak, izlemek istenen cihazdan aldığı snmp sorgularının cevabına göre grafikler oluşturarak sistem ve ağ cihazlarını izlememizi(monitoring etmemizi) sağlar. SNMP protokolü sayesinde ağ trafiği, port trafiği, kullanıcı, sistem yükü, disk kapasitesi, bellek kullanımı vb. gibi bilgileri kolay anlaşılır bir grafik ekranla sunar.

Cacti sistem ve ağ cihazları izleme yazılımı, grafik ekran olarak RRdTool, veri tabanı olarak ise MySQL&MariaDb kullanır. Php web yazılım dili kullanılarak yazılmıştır. İstenildiğinde özelleştirilebilir.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 3

Cacti uygulaması yukarıdaki Diagramda görüldüğü Network içerisindeki Neredeyse tüm unsurlar ile etkileşim içinde çalışabilmektedir.  Grafik ekrandaki veri kaynaklarını ise, zamanlanmış görevlerde tanımlanan script sayesinde 5 dk lık sorgular sonucunda veritabanına yazacaktır. Grafik ekranlardaki bilgiler ise veri tabanından güncellenerek son ana kadar olan bilgiyi verecektir.  Oluşturulan bu grafiklerin birkaç şekilde gösterimleri mevcuttur.  Ön izleme, hiyerarşik veya ağaç(tree) yapısı şeklinde görüntülenebilir.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 4

Cacti, GPL kapsamında da lisanslı olan bir başka izleme sistemidir.RRDTool’un veri depolama ve grafik oluşturmadaki gücünden yararlanmak için tasarlanmış bir ağ grafik çözümüdür.

Cihazların CPU yükü grafiklerini, RAM kullanımını ve farklı ana bilgisayarlardan toplanan diğer bilgileri görüntülemesini sağlar.

Güçlü ve esnek SNMP desteği sayesinde Linux, Free BSD, Windows hostlar , Yazıcılar ,Swithcler , Routerlar, UPS cihazları ve Firewallar olmak üzere SNMP desteği olan tüm cihazlar için anlaşılabilir takip edilebilir grafikler oluşturmaya yarayan çok güçlü bir izleme çözümüdür.

Cactinin içerdiği temel bileşenler :

  • unlimited graph items
  • auto-padding support for graphs
  • graph data manipulation
  • flexible data sources
  • data gathering on a non-standard timespan
  • custom data-gathering scripts
  • built-in SNMP support
  • graph templates
  • data source templates
  • host templates
  • tree, list, and preview views of graph data
  • user-based management and security

Centos 7 üzerine Cacti 1.2.2 Kurulumu 5
Terminal Kaydını izlemek için tıklayınız.

Kurulum için gerekli yazılımlar aşağıdaki gibidir;

  • MySQL/MariaDB : Cacti verilerinin depolanması için gerekli veritabanı.
  • NET-SNMP Server : SNMP (Simple Network Management Protocol) Ağ yönetimi için kullanılan bir protokoldür
  • NET-SNMP : Php ile SNMP verilerini kullanmak için gerekli
  • Apache / lighttpd / ngnix sunucusu: Web sunucusu PHP ve RRDtool ile oluşturulan grafiklerin gösterilebilmesi için

İlk olarak Centos sunucumuzun güncellemelerini yapıyoruz.

sudo yum update -y

Selinux(Security Enhanced Linux)  Configurasyonu

Cacti uygulamasını çalıştırmak için selinux u kapamamız gerekiyor aşağıdaki komut ile Selnux durumunu görüntüleyebilirsiniz.

[root@cacti]# sestatus

Selinux’ı aşağıdaki komutları uygulayarak disable ediyoruz.

[root@cacti]# nano /etc/selinux/config

#Karşımıza gelen ekranda SELINUX=enforcing satırını aşağıdaki şekilde değitiriyoruzSELINUX=disabled
SELINUX=enforcing satırını aşağıdaki şekilde değitiriyoruz
SELINUX=disabled

Centos 7 üzerine Cacti 1.2.2 Kurulumu 6

1-) Apache Kurulumu

[root@cacti ~]# yum -y update
[root@cacti ~]# yum -y install httpd
[root@cacti ~]# systemctl start httpd
[root@cacti ~]# systemctl enable httpd

2-) SNMP and RRDTool(round-robin database tool) Kurulumu

[root@cacti ~]# yum -y install net-snmp rrdtool net-snmp-utils
[root@cacti ~]# systemctl start snmpd
[root@cacti ~]# systemctl enable snmpd.service

3-) PHP Kurulumu

Remi reposunu makinemize ekliyoruz.

Cacti uygulaması PHP’nin 5.3’ten büyük olan tüm sürümlerini destekler. Ancak makalemizde, PHP v5.3 kullanım ömrünün sonuna ulaştığından PHP 7.1’i  yükleyeceğiz. PHP’nin en son sürümünü yüklemek, uygulamanın maksimum güvenliğini ve performansını sağlayacaktır.

CentOS’un varsayılan YUM deposu PHP 7.1 dahil değildir, bu nedenle sisteminize Webtatik deposu eklemeniz gerekir. Webtatik veri havuzu, EPEL veri havuzunun çalışmasını gerektirir. EPEL deposunu kurmak için aşağıdaki komutu çalıştırın.

#Web Static Repostory ekliyoruz.
[root@cacti ]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@cacti ]# yum -y update

Artık Php 7 sürümünü yükleyebiliriz.

[root@cacti ]# yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring

Php Versiyon kontrolümüzü “php -v” ile yapıyoruz çıktımız aşağıdaki gibi olacaktır.

[root@cacti ~]# php -v                                                                                                                                                  
PHP 7.1.27 (cli) (built: Mar 10 2019 16:23:55) ( NTS )                                                                                                                  
Copyright (c) 1997-2018 The PHP Group                                                                                                                                   
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologie

Şimdi PHP’de birkaç konfigürasyon yapılandırmanız gerekecektir. Sık kullandığınız metin editörünü kullanarak PHP yapılandırma dosyasını php.ini dosyasını açın açın. Ben nano editör kullanıyorum. Eğer Centos 7 minimal versiyon kurduysanız ve nano editör yoksa, aşağıdaki komut ile yükleye bilirsiniz.

[root@cacti ]# yum -y install nano

Php  ini dosyamızın(/etc/php.ini) içerisindeki aşağıda belirttiğim alanları düzenleyeceğiz.

date.timezone = Europe/Istanbul
memory_limit = 400M
max_execution_time = 60

Bu işlem için aşağıdaki komutları çalıştırıyoruz.

[root@cacti ~]#  sudo sed -i 's#;date.timezone =#date.timezone = Europe/Istanbul#' /etc/php.ini
[root@cacti ~]#  sudo sed -i 's#memory_limit = 128M#memory_limit = 400M#' /etc/php.ini
[root@cacti ~]#  sudo sed -i 's#max_execution_time = 30#max_execution_time = 60#' /etc/php.ini

4-) MariaDB Server kurulumu ve Secure modda parola belirleme

Maria DB kurulumu için aşağıdaki komutları çalıştırıyoruz

[root@cacti ~]# yum -y install mariadb mariadb-server
[root@cacti ~]# systemctl start mariadb
[root@cacti ~]# systemctl enable mariadb

MariaDB kurulduktan sonra default olarak herhangi bir parola bulunmaz parola boş tur Enter diyerek DB ye bağlabilirsiniz bu da bir güvenlik riski oluşturu bunun için MariaDB ye bir user ve parola tanımlayarak güvenli bir şekilde bağlanılmasını sağlayacağız.
MariaDB yi güvenli yüklemek için aşağıdaki komutu çalıştırıyoruz.

[root@cacti ~]#mysql_secure_installation

Centos 7 üzerine Cacti 1.2.2 Kurulumu 7

5-) Cacti Database işlemleri

Cacti Uygulamamız için MariaDB üzerinde bir kullanıcı ve veri tabanı oluşturacağız. MariaDB üzerinde oluşturacağımız veri tabanı bilgileri aşağıdaki gibi olacak.

DBName     =cacti_db
DBUser     =cacti_user
DBPassword = cacti1234 ->Buraya siz istediğiniz bir parolayı verebilirsiniz.

işlemlerimize başlayabiliriz az önce kurduğumuz maria DB ye bağlanıyoruz.

[root@cacti ~]# mysql -u root -p

Centos 7 üzerine Cacti 1.2.2 Kurulumu 8

#Cacti adında bir DB oluşturuyoruz.
MariaDB [(none)]> CREATE DATABASE cacti_db;
Query OK, 1 row affected (0.00 sec)

#cacti adında bir user ve parola oluşturuyoruz.
MariaDB [(none)]> CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'cacti1234';
Query OK, 0 rows affected (0.00 sec)

#Cacti_user hesabına cacti_db database i için full yetki veriyoruz.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cacti_db.* TO 'cacti_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)

#yetki tanımlaması yapıyoruz.
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
[root@cacti ~]#

Ayrıca saat dilimi tablosunu doldurmanız gerekir. Saat dilimi tablolarını doldurmak için aşağıdaki komutu çalıştırın.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Centos 7 üzerine Cacti 1.2.2 Kurulumu 9

Tablolar üzerinden Cacti kullanıcı hesabına(cacti_user) seçme erişimi sağlamamız gerekiyor. MySQL komut istemine tekrar kullanarak giriş yapıyoruz.

[root@cacti mysql]# mysql -u root -p

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

6-) Database Otimizasyonu

Daha iyi performans için veritabanı parametrelerini değiştirmemiz gerekiyor.

[root@cacti]# nano /etc/my.cnf.d/server.cnf

Dosyamızda [mysqld] tag inden sonra aşağıdaki kod demetini ekliyoruz.

collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
max_heap_table_size = 128M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = on
innodb_buffer_pool_size = 512M
innodb_doublewrite = off
innodb_additional_mem_pool_size = 80M
innodb_lock_wait_timeout = 50
innodb_flush_log_at_trx_commit = 2

Centos 7 üzerine Cacti 1.2.2 Kurulumu 10

Cacti uygulamamızı kurmadan önce buraya kadar kurulumunu yaptığımız servislerin durumlarının kontrolünü yapıyoruz.

[root@cacti]# systemctl status httpd
[root@cacti]# systemctl status snmpd
[root@cacti]# systemctl status mariadb 

Centos 7 üzerine Cacti 1.2.2 Kurulumu 11

7-) Cacti kurulumu ve configurasyon

Şuan Cacti için gerekli ön hazırlıkları tamamladık cacti apache üzerinde çalışacağı için apache server üzerindeki yayın yapan dizine gidiyorum.

[root@cacti]# cd /var/www/html

Cactinin şuanki son versiyonu cacti-1.2.2 aşağıdak linkten cacti paketini indiriyoruz.

[root@cacti html]# wget http://www.cacti.net/downloads/cacti-1.2.2.tar.gz

Bu link üzerinden son çıkan sürümleri manuel olarak buradan kontrol edebilirsiniz.
Aşağıdaki komut ile indirdiğimiz tar.gz uzantılı dosyayı extrack edip zipten çıkarıyoruz.

[root@cacti html]# tar xzvf cacti*.tar.gz

Dosyamızın adıcı cati olarak revize ediyoruz

[root@cacti html]# mv cacti-1*/ cacti/

Cati folderımızın içerisine giriyoruz.

[root@cacti html]# cd /var/www/html/cacti

İndirmiş olduğumuz cacti dosyasının içinde cacti için gelen bir sql veritabanı dosyası var bunu bizim MariaDB üzerinde oluşturduğumuz “cacti_db” isimli DB ye import ediyoruz.

[root@cacti cacti]# mysql cacti_db < cacti.sql -u root -p

Veritabanında import ettiğimizce göre cacti’nin config dosyasında DB bilgilerini güncelleyebiliriz.

[root@cacti cacti]# nano /var/www/html/cacti/include/config.php
$database_type     = 'mysql';
$database_default  = 'cacti_db';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'cacti1234';
$database_port     = '3306';
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';

Dosyamızın edit hali aşağıdaki gibi olmalıdır.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 12

8-) Cacti Cron task

Cron ugulamamızı açıyoruz.

[root@cacti]# nano /etc/cron.d/cacti

Dosya içeriğine aşağıdaki parametreyi ekliyoruz.

*/5 * * * *     apache  /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>

Centos 7 üzerine Cacti 1.2.2 Kurulumu 13

Cron Servisini restart ediyoruz.

[root@cacti]# systemctl restart crond

Ctrl + O ile kayıt edip çıkıyoruz.

9-) Firewall Configurasyonu

Aşağıdaki komutu kullanarak uygulamanın sahipliğini web sunucusu kullanıcısına vermeniz gerekir.

[root@cacti]# chown -R apache:apache /var/www/html/cacti

Eğer Firewall Kullanıyorsanız Firewall üzerinde 80 portu için gerekli izinleri aşağıdaki komut ile verebilirsiniz.

[root@cacti]# firewall-cmd --permanent --zone=public --add-service=http
[root@cacti]# firewall-cmd --reload

Eğer FirewallD servisini devre dışı bırakmanız gerekiyorsa aşağıdaki komutları kullanabilirsiniz.

[root@cacti]# systemctl stop firewalld
[root@cacti]# systemctl disable firewalld

makinemizi restart edebiliriz eğer kapamak istemiyorsanız aşağıdaki tüm servisleri restart ediyoruz.

systemctl restart httpd.service
systemctl restart mariadb.service
systemctl restart snmpd.service

10-) Cacti Web Configurasyon

Komut ekranında yapacağımız kurulum işlemlerini tamamladık şimbi browserımızı açarak cacti web arayüzüne bağlanıyoruz.

http://Server-IP/cacti

Server IP adresimizi yazdığımızda bizi aşağıdaki gibi cacti nin login ekranı karşılayacak.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 14

Default user name ve password “admin” dir. Giriş yapıyoruz.
Aşağıdaki gibi bir lisans anlaşması geliyor bunun bir GPL(General Public License) Free Lisans olduğunu kabul ederek devam ediyoruz.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 15

Karşımıza sistemsel olarak ön configurasyonları kontrol eden bir ekran geliyor burada sadece Maria DB nin versiyonunu güncellememize dair bir öneride bulunuyor bizim için önemli bir durum değil şu an ki stabil versiyon bizim kurduğumuz versiyon çünkü devam ediyoruz.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 16

Burada yüklenecek türü seçmemizi istiyor “New Primary Server” diyerek devam ediyoruz.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 17

Centos 7 üzerine Cacti 1.2.2 Kurulumu 18

Centos 7 üzerine Cacti 1.2.2 Kurulumu 19

Aşağıdaki ekranda grafikleri oluşturacak dataların kaç dk bir çekileceğinzi hangi network aralığının taranacağı gibi ayarlamalar var ben değiştirmeden devam ediyorum.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 20
Default gelen templateleri bize listeliyor eğer sizin elinizde buradaki cihazların dışında farklı bir ürün varsa bunun template’ini cacti forumdan bularak import edebilirsiniz böylelikle elinizdeki cihaza dair daha detaylı ve sağlıklı izleme grafikleri oluşturabilirsiniz.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 21

Centos 7 üzerine Cacti 1.2.2 Kurulumu 22

Yüklemeyi doğruluyoruz.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 23

Aşağıdaki gibi bir doğrulama işlemi başlıyor.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 24

İşlemin tamamlandı bilgisi ve logları aşağıdaki gibi bize raporlanıyor.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 25

Kurulumu tamamladıktan sonra artık cactiyi kullanmaya başlayabiliriz bizi aşağıdaki gibi bir ekran karşılıyor.

Centos 7 üzerine Cacti 1.2.2 Kurulumu 26

Cacti kurulumu bu kadar.

 

Serdar Bayram

Bu yazı blog üzerinde Serdar Bayram tarafından hazırlanıp paylaşılmıştır. 2009 yılında açılan blogum kısa zaman içerisinde paylasımları ile dikkat cekip büyük bir izleyici kitlesine sahip olmuştur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu