DEV Community

Fatih Yüksektepe
Fatih Yüksektepe

Posted on

Cacti Kurulumu

Cacti, ağ ve sistem yönetimi alanında kullanılan güçlü ve kapsamlı bir açık kaynaklı monitörleme yazılımıdır. Bu araç, ağ trafiği, sunucu performansı ve diğer sistem metriklerini izlemek ve analiz etmek için tasarlanmıştır. Cacti, özellikle geniş ve karmaşık ağ altyapılarında performans verilerini grafiklerle görselleştirme yeteneğiyle dikkat çeker. Kullanıcılar, ağ cihazları ve sunuculardan SNMP (Simple Network Management Protocol) gibi protokoller aracılığıyla veri toplar ve bu verileri anlamlı grafikler ve raporlar halinde sunar. Bu sayede, sistem yöneticileri ve ağ yöneticileri, performans sorunlarını kolayca tespit edebilir ve çözüm geliştirebilirler.

Cacti’nin sunduğu görselleştirme ve raporlama özellikleri, sistem performansını sürekli izleme ve sorunları proaktif bir şekilde ele alma imkanı sağlar. Web tabanlı arayüzü sayesinde yapılandırma ve veri görüntüleme işlemleri kullanıcı dostu bir şekilde gerçekleştirilir. Ayrıca, Cacti’nin genişletilebilir yapısı ve özelleştirilebilir metrikler sayesinde, farklı ihtiyaçlara göre uyarlanabilir. Bu özellikler, Cacti’yi özellikle büyük ölçekli ağlar ve sistemler için vazgeçilmez bir yönetim aracı yapar.

Cacti Nasıl Kurulur

Bu dökümanda anlatılan cacti kurulumu Ubuntu 22.04 işletim sistemi üzerinde gerçekleştirilmiştir. Kurulum adımlarına başlarken Kurulu ve güncellenmiş bir Linux işletim sistemine sahip olduğunuzu düşünüyorum.

Öncelikle komut satırında root yetkilerini almalısınız, aksi halde her komutun başına sudo eklemeniz gerekiyor. Kurulum ve Cacti’nin çalışması esnasında gerekli olacak bağımlılıkları yüklüyoruz

apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y
Enter fullscreen mode Exit fullscreen mode

bağımlılıkları kurduktan sonra LAMP (Linux, Apache, Mysql, Php) paketlerinin kurulumunu yapıyoruz.

apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp php-intl -y
Enter fullscreen mode Exit fullscreen mode

PHP Ayarları

LAMP paketlerinin yüklenmesi tamamlandıktan sonra php.ini dosyasında bazı ayarlar yapıyoruz. İki farklı php.ini dosyası olduğundan her iksinde de aynı ayarları yapıyoruz.

nano /etc/php/8.1/apache2/php.ini
Enter fullscreen mode Exit fullscreen mode
memory_limit = 512M
max_execution_time = 60
date.timezone = Europe/Istanbul
Enter fullscreen mode Exit fullscreen mode
nano /etc/php/8.1/cli/php.ini
Enter fullscreen mode Exit fullscreen mode
memory_limit = 512M
max_execution_time = 60
date.timezone = Europe/Istanbul
Enter fullscreen mode Exit fullscreen mode

Burada belirtilen parametreler sisteminizin özelliklerine veya kullanılan uygulamaların versiyonlarına göre değişiklik gösterebilir. Detay bilgi ve parametrelerin anlamları için buraya bakabilirsiniz. Bu işlemden sonra apache servislerini yeniden başlatıyoruz.

systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Veritabanı Oluşturulması ve Ayarları

Şimdi sırada veri tabanı için gerekli ayarları yapmak var. Bunun için veritabanı konfigurasyon dosyalarında bazı parametleri değiştireceğiz ve cacti için veritabanı oluşturacağız

nano /etc/mysql/mariadb.conf.d/50-server.conf
Enter fullscreen mode Exit fullscreen mode
collation-server = utf8mb4_unicode_ci
max_heap_table_size = 128M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 512M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb_doublewrite = OFF
Enter fullscreen mode Exit fullscreen mode

Şimdi veritabanında kararkterset desteği için gerekli ayarları yapacağız.

nano /etc/mysql/my.cnf
Enter fullscreen mode Exit fullscreen mode
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8mb4
Enter fullscreen mode Exit fullscreen mode

Veritabanında güvenlik sıkılaştırmaları için bazı ayarlar yapıyoruz. Bunun için aşağıdaki komutu uyguluyoruz.

mysql_secure_installation
Enter fullscreen mode Exit fullscreen mode
Yukarıda ki komut ile mysql secure kurulumu başlatmış olduk. Gelen soruları aşağıdaki şekilde cevaplayarak devam edelim.
Enter current password for root (enter for none): 
Switch to unix_socket authentication [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Enter fullscreen mode Exit fullscreen mode

Secure installation işlemini tamamladıktan sonra cacti için bir veritabanı ve kullanıcı oluşturma işlemini gerçekleştiriyoruz. Sql komut satırına geçmek için aşağıdaki komutu uygulayın.

mysql -uroot -p
Enter fullscreen mode Exit fullscreen mode

mysql komut satırında geçişinizde secure installation bölümünde tanımladığınız root şifresini girmelisiniz. Aşağıdaki kısımda cacti için bir cactidb isimli bir veritabanı oluşturuyoruz. Bu veritabanında yetkili olan ve yine cacti veri tabanı bağlantısı için cactiuser isimli bir kullanıcı oluşturuyoruz.

MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY 'password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Enter fullscreen mode Exit fullscreen mode

Time zone için mysql veritabanında time zone dosyasını import ediyoruz ve gerekli yetki ayarlarını yapıyoruz.

mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Enter fullscreen mode Exit fullscreen mode

komut satırında timezone dosyasını import ettikten sonra veritabanı içerisinde gerekli yetkilendirmeleri yapıyoruz.

mysql -uroot -p
Enter fullscreen mode Exit fullscreen mode
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Enter fullscreen mode Exit fullscreen mode

Sql için gerekli ayarları yaptıktan sonra aktif olabilmesi için veritabanı servislerini yeniden başlatıyoruz.

systemctl restart mariadb
Enter fullscreen mode Exit fullscreen mode

Cacti Kurulumu

Cacti’nin çalışması için gerekli olan uygulamalarda ayarları yapıp hazır duruma getirdikten sonra Cacti kurulumuna başlayabiliriz. Öncelikle Cacti dosyalarını indiriyoruz.

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
Enter fullscreen mode Exit fullscreen mode

İndirdiğimiz dosyalar sıkıştırılmış halde olduğu için açıyoruz.

tar -zxvf cacti-latest.tar.gz
Enter fullscreen mode Exit fullscreen mode

Şimdide cacti dosyalarını web dizinine kopyalıyoruz.

mv cacti-1* /var/www/html/cacti
Enter fullscreen mode Exit fullscreen mode

Dosyaların kopyalama işlemi tamamlandıktan sonra cacti örnek veri tabanı yapısını oluşturduğumuz cactidb veritabanına import ediyoruz.

mysql cactidb < /var/www/html/cacti/cacti.sql
Enter fullscreen mode Exit fullscreen mode

Cacti’nin veritabanı bağlantıları için Cacti php dosyasında bazı parametlereleri düzenlememiz gerekiyor, config.php dosyasını editliyoruz.

nano /var/www/html/cacti/include/config.php
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki satırları kurulumda ayarladığımız parametrelere göre düzenliyoruz.

$database_type     = 'mysql';
$database_default  = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password';
$database_port     = '3306';
Enter fullscreen mode Exit fullscreen mode

Cacti’nin logları kaydetmesi için log dosyasını oluşturmamız gerekiyor.

touch /var/www/html/cacti/log/cacti.log
Enter fullscreen mode Exit fullscreen mode

Cacti dizin yetkilerini tanımlamamız gerekiyor. Bu işlem web server kullanıcısının Cacti dizininde yetkili olmasını sağlıyor. Dizin sahipliğini web sunucusunun kullanıcısına veriyoruz.

chown -R www-data:www-data /var/www/html/cacti/
Enter fullscreen mode Exit fullscreen mode

Dizin yetkilerini düzenliyoruz.

chmod -R 775 /var/www/html/cacti/
Enter fullscreen mode Exit fullscreen mode

Cacti Poller’lar, belirli aralıklarla verileri toplamak ve bu verileri Cacti’nin grafiklerine ve raporlarına dahil etmek için kritik bir rol oynar. Bu nedenle belirli aralıklar otomatik olarak çalıştırılmalıdır. Bunun için cron ile gerekli zamanlanmış görev ayarlarını yapıyoruz.

nano /etc/cron.d/cacti
Enter fullscreen mode Exit fullscreen mode

Cacti için bir cron dosyası oluşturuyoruz

*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
Enter fullscreen mode Exit fullscreen mode

Şimdide Cacti’nin çalışması için Apache üzerinde virtualserver ayarlarını yapıyoruz.

nano /etc/apache2/sites-available/cacti.conf
Enter fullscreen mode Exit fullscreen mode

nano ile cacti site konfig dosyasını editleyip içerisine aşağıdakileri ekliyoruz.

Alias /cacti /var/www/html/cacti

  <Directory /var/www/html/cacti>
      Options +FollowSymLinks
      AllowOverride None
      <IfVersion >= 2.3>
      Require all granted
      </IfVersion>
      <IfVersion < 2.3>
      Order Allow,Deny
      Allow from all
      </IfVersion>

   AddType application/x-httpd-php .php

<IfModule mod_php.c>
      php_flag magic_quotes_gpc Off
      php_flag short_open_tag On
      php_flag register_globals Off
      php_flag register_argc_argv On
      php_flag track_vars On
      # this setting is necessary for some locales
      php_value mbstring.func_overload 0
      php_value include_path .
 </IfModule>

  DirectoryIndex index.php
</Directory>
Enter fullscreen mode Exit fullscreen mode

Virtual host yapılandırmasını etkinleştiriyoruz.

a2ensite cacti
Enter fullscreen mode Exit fullscreen mode

Yapılandırmaların etkinleştirilmesi için apache servisini yeniden başlatıyoruz.

systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Kurulum işlemi böylece tamamlanmış oldu. Şimdi Cacti’yi başlatabiliriz.

http://sunucuipadresi/cacti
Enter fullscreen mode Exit fullscreen mode

Cacti ilk kurulum kullanıcı adı şifresi admin / admin’dir.

Top comments (0)