Cacti Kurulum Rehberi

Umut Unal
7 min readApr 30, 2023

--

1- Ubuntu 22.04 Kurulumu ve Network Ayarları

· Aşağıdaki adrese giderek Ubuntu Server 22.04’ü indiriyoruz.

https://ubuntu.com/download/server

· Ubuntu ISO dosyasını cihazımızda (VM) boot ediyoruz ve kuruluma geçiyoruz.

Dil seçiyoruz.
Güncelleme olmadan devam ediyoruz.
Klavye seçimini Türkçe olarak değiştiriyoruz. Identify Keyboard seçeneği ile otomatik olarak klavyeyi tanıtabiliriz.
Done tıklayarak kuruluma devam ediyoruz.

Ağ ayarlarını DCHPv4 olarak bırakıp devam edebilirsiniz ben static olarak ayarlayacağım. Gördüğünüz gibi cihazımın IP adresi 10.0.66.115 (İlerleyen süreçte IP adresi teknik nedenlerden ötürü 192.168.40.30 olarak değiştirilecektir.)

Not: Network ayarlarınızı Internete erişim sağlayabilecek şekilde yapmalısınız.

Save > Done

· Proxy ve Configure Ubuntu Archive Mirror ekranında değişiklik yapmadan Done ile devam ediyoruz.

Harddiskimizi seçip Done ile devam ediyoruz.
Done > Continue
Admin ve Root dışında bir kullanıcı adı seçiyoruz. Ben admin1 olarak seçtim. Done ile devam ediyoruz.

SSH kurulumuyla devam ediyoruz. (Cihazımıza Putty ile uzaktan bağlanabilmemiz için bu paketin kurulumu gereklidir.)

Not: SSH kurulumunu daha sonra manuel olarak da yapabilirsiniz.

Done ile devam ediyoruz.
Done ile devam ediyoruz ve kurulum başlıyor.
Güncelleme yapmasını bekleyebilir veya güncelleme yapmadan cihazın açılmasını sağlayabilirsiniz. Reboot ile devam ediyoruz.
Boot ettiğimiz Ubuntu medyasını cihazdan kaldırıyoruz ve Enter ile devam ediyoruz.
Bir süre bekledikten sonra karşımıza login ekranı geliyor. Belirlediğimiz kullanıcı adı ve şifre ile giriş yapıyoruz.
İşletim Sistemi şuan hazır durumda. Şimdi adım adım SSH konfigürasyon ayarlarını yapacağız.

SSH kurulumunu başlangıçta yapmadıysanız 1.Adımda bulunan komutla kurulum yapabilirsiniz. Kurulum yaptıysanız 2. Adımdan devam edebilirsiniz.

Adım 1

sudo apt update

sudo apt install openssh-server

Adım 2 — Root kullanıcısına geçiş

sudo –s

Adım 3 — ssh ayarlarımızın bulunduğu konuma gidiyoruz.

nano /etc/ssh/sshd_config

Karşımıza gelen ekranda PermitRootLogin prohibit-password satırını PermitRootLogin yes olarak değiştiriyoruz.

Değişikliği yaptıktan sonra Ctrl+X ile çıkıyoruz. Değişiklikleri kaydetmek için gelen ekranda Y ve Enter ile devam ediyoruz.

Değişikliklerin çalışması için aşağıdaki komutla ssh servisini tekrar başlatıyoruz.

service sshd restart

Kurulum ekranında IP adresini static girmediyseniz ve static olarak değiştirmek istiyorsanız şu yolları izleyebilirsiniz;

ip link komutu ile network adaptörünü buluyoruz.

Gördüğünüz gibi adaptörümüzün adı ens33

sudo -s

nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg komutuyla bulut başlatıcısı içerisine girilir.

network: {config: disabled} yazıp sırasıyla CTRL+ X > Y > Enter ile devam ediyoruz.

nano /etc/netplan/00-installer-config.yaml komutuyla Network ayarları için ara yüze giriş yapıyoruz.

ens33 adı altında network ayarlarımızı yapıyoruz.

Network ayarlarını düzenledikten sonra CTRL+X ile kaydederek çıkıyoruz.

Sırasıyla;

sudo netplan try

sudo netplan apply yazıp yapılandırma işlemlerimizi bitiriyoruz.

Putty programını indirip açıyoruz.

Host kısmına cihazımızın IP adresini giriyoruz. Open ile devam ediyoruz. Gelen uyarıya Accept diyerek devam ediyoruz.

Kullanıcı adımızı ve şifremizi girerek devam ediyoruz. Artık cihazımıza uzaktan erişim sağlayabiliriz.

2- Apache — PHP — MariaDB — SNMP Kurulumları

Cacti için gerekli olan program ve protocollerin kurulumu yapılır. Komutlarımız sırasıyla;

sudo apt update
sudo apt install -y apache2 php-mysql libapache2-mod-php
sudo apt install -y php-xml php-ldap php-mbstring php-gd php-gmp php-intl
sudo apt install -y mariadb-server mariadb-client
sudo apt install -y snmp php-snmp rrdtool librrds-perl

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf komutuyla database konfigürasyon dosyasını açıyoruz.

[mysqld] altına aşağıdaki satırları ekliyoruz;

collation-server = utf8mb4_unicode_ci
max_heap_table_size = 128M
tmp_table_size = 128M
join_buffer_size = 256M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 2048M
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_buffer_pool_instances = 21

CTRL+X => Y => Enter

sudo systemctl restart mysql ile veritabanı servisleri yeniden başlatılır.

· Php ayarlarını yapmak için; (Php sürümü değişkendir. İçerisine girdiğiniz dosya boşsa cd /etc/php konumuna gidip ls –l ile dosyaları liseteleyin. Oradaki dizin ismi sizin Php sürümünüzdür.)

sudo nano /etc/php/8.1/apache2/php.ini dosyasının içerisinde CTRL+Q ile arama ekranını açıyoruz. Aşağıdaki satırları bulup değiştiriyoruz. CTRL+X => Y => Enter ile çıkıyoruz.

Not = date.timezone satırından önceki virgüller kaldırılır.

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

sudo nano /etc/php/8.1/cli/php.ini dosyasının içerisinde CTRL+Q ile arama ekranını açıyoruz. Aşağıdaki satırları bulup değiştiriyoruz. CTRL+X => Y => Enter ile çıkıyoruz.

Not = date.timezone satırından önceki virgüller kaldırılır.

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

Yeni bir database oluşturmak için sırasıyla;

sudo mysql -u root –p
create database cacti;
GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';
flush privileges;
exit
sudo mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
sudo mysql -u root –p
create database cacti;
GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
flush privileges;
exit

Cacti kurulumu için sırasıyla;

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar -zxvf cacti-latest.tar.gz
sudo mv cacti-1* /opt/cacti
sudo mysql -u root -p cacti < /opt/cacti/cacti.sql

sudo nano /opt/cacti/include/config.php dosyasının içine girip kullanıcı adı ve şifremizi belirliyoruz;

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;

Değişikliklerden sonra CTRL+X => Y => Enter ile çıkıyoruz.

sudo nano /etc/cron.d/cacti konumuna bir crontab dosyası oluşturuyoruz. Zamanlayıcının 5 dakikada bir olması için aşağıdaki kod satırı dosyanın içine ekliyoruz.

*/5 * * * * www-data php /opt/cacti/poller.php > /dev/null 2>&1

Değişikliklerden sonra CTRL+X => Y => Enter ile çıkıyoruz.

sudo nano /etc/apache2/sites-available/cacti.conf konumuna gidiyoruz.

Aaşağıdaki tüm satırları girdiğimiz boş Cacti konfigürasyon dosyası içerisine yapıştırıyoruz;

Alias /cacti /opt/cacti

<Directory /opt/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>

Değişikliklerden sonra CTRL+X => Y => Enter ile çıkıyoruz.

sudo a2ensite cacti komutuyla oluşturulan dosyayı etkinleştiriyoruz.

sudo systemctl restart apache2 komutuyla apache serverı yeniden başlatıyoruz.

Cacti için bir log dosyası oluşturmaya ve kullanıcının Cacti dizinine (www-data) veri yazmasına izin veriyoruz.

sudo touch /opt/cacti/log/cacti.log
sudo chown -R www-data:www-data /opt/cacti/

3- Cacti Kurulum ve Konfigürasyon Ayarları

Ubuntu içerisinde yapmış olduğumuz kurulumdan sonra Cacti ekranına ulaşabiliriz. Artık kurulum ve konfigürasyon ayarlarına Cacti arayüzünde devam edeceğiz.

Browserdan Cacti ayarları için giriş yapıyoruz.

http://cihazın-ip-adresi/cacti

Örn; http://192.168.40.30/cacti

Username: admin

Password: admin

Yeni şifre belirledikten sonra gelen ekranda dil seçimi yapıp Lisans Koşullarını kabul ediyoruz.

Next butonu aktif olmuyorsa problemleri tek tek çözmemiz gerekir. Hataları çözmek için ilgili modüle gidilir ve parametreler uygulamanın istediği gibi değiştirilir.

Next butonu aktif olmuyorsa sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf konumunda yaptığımız ayarları aşağıdaki sistem gereksinimlerine göre ayarlayabiliriz.

Alınan hatalar aşağıda görünüyor ancak Next butonu aktif.

Next ile devam ediyoruz.
Next ile devam ediyoruz.
Yeni bir server oluşturup Next ile devam ediyoruz.
Next ile devam ediyoruz.
Next ile devam ediyoruz.
Next ile devam ediyoruz.
Next ile devam ediyoruz.
Next ile devam ediyoruz.
Next ile devam ediyoruz.
Install ile kuruluma başlıyoruz.
Get Started ile Cacti ana ekranına ulaşıyoruz.

Kurulum tamamlandıktan sonra Cacti ana ekranı gelir.

Create => New Device seçeneği ile izlemek istediğimiz cihazları ekleyebiliriz. Eklediğimiz cihazlarda izleme servisinin çalışabilmesi için SNMP (Simple Network Management Protocol — Basit Ağ Yönetim Protokolü) kurulu olması gerekmektedir.

Windows 10 için SNMP Kurulumu

Start > Settings > Apps > Apps & Features > Optional Features
Add a feature > SNMP içerisinde Install ile kurulumu başlatıyoruz. Optional Features kısmına geri dönerek yükleme durumunu kontrol edebilirsiniz.

Windows Server 2016 için SNMP Kurulumu

Not: Windows Server 2016 rol kurulumundan sonraki anlatım ortaktır.

Manage > Add Roles and Features ile gelen ekranda Next ile devam ediyoruz.
Next ile devam ediyoruz.
Install ile devam ediyoruz.
Kurulum bittikten sonra arama sekmesine Services yazıyoruz. Burada SNMP Service bulup açıyoruz.
Security sekmesinde Add ile yeni bir community name oluşturuyoruz. Herhangi bir hostun erişebilmesi için hepsine izin veriyoruz. Eğer sadece Cacti kurulu cihazın erişebilmesini istiyorsak 2. Seçenek seçilir ve Add ile Cacti cihazının IP adresi eklenir. Bu sayede sadece belirlediğimiz IP adresine sahip cihazımıza izleme izni vermiş oluruz.

SNMP Kurulumundan sonra browserdan tekrar Cacti arayüzüne giriş yapıyoruz.

Create => New Device seçeneğini seçerek gerekli cihaz ayarlarını yapıyoruz ve Create ile devam ediyoruz.

Üst kısımda SNMP Information alanında cihazımızın bulunduğunu ve izlenebileceğini görüyoruz.
Create > New Graps sekmesiyle cihazımızı ekliyoruz.

Graphs sekmesinden eklediğimiz cihazları görebiliriz. Örneğin burada izlediğimiz cihaz Fiziksel PC.

Artık eklediğimiz cihazlar üzerinde anlık ve geçmişe dönük izleme yapabiliriz.

--

--