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.
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.
· Proxy ve Configure Ubuntu Archive Mirror ekranında değişiklik yapmadan 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.
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
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.
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.
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
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.
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
Windows Server 2016 için SNMP Kurulumu
Not: Windows Server 2016 rol kurulumundan sonraki anlatım ortaktır.
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.
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.