Network cihazlarınız üzerindeki BW’leri grafikler şeklinde görebileceğiniz free olan Cacti’nin kurulumunu anlatacağım.
İşletim sistemi Centos 6.1
Ubuntu tarafında da kullanılabilir. Fakat önerilen paketler kurulmalıdır.
İlk aşama olarak Apache Server kurulumunu yapıyoruz.
1 |
# yum install httpd httpd-devel |
Sonrasında MySQL kurulumunu gerçekleştiriyoruz.
1 |
# yum install mysql mysql-server |
PHP bileşenlerini kuruyoruz.
1 |
# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-mysql |
PHP SNMP bileşenlerini kuruyoruz.
1 2 |
# yum install php-snmp # yum install net-snmp-utils p net-snmp-libs php-pear-Net-SMTP |
Grafik arayüzleri için RRDtool’u kuruyoruz.
1 |
# yum install rrdtool |
Bu kurulumlar sonrasında httpd, mysqld ve snmpd servislerini başlatıyoruz.
1 2 3 |
# service httpd start # service mysqld start # service snmpd start |
Her reboot sonrasında servisleri manuel başlatmamak için aşağıdaki işlem ile servisler otomatik olarak başlayacak şekilde ayarlıyoruz.
1 2 3 |
# chkconfig httpd on # chkconfig mysqld on # chkconfig snmpd on |
Cacti Server’ı EPEL depolarından kuracağız. Cacti kurulum öncesinde EPEL deposundan ilgili rpm’leri makinaya indirip derliyoruz.
“wget makinada kurulu olmayabilir. Kurmak için yum install wget”
1 2 |
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm |
Şimdi Cacti’yi kuruyoruz.
1 |
# yum install cacti |
MySQL tarafını yapılandırmadan önce ilk aşamada şifre tanımlıyoruz.
1 |
# mysqladmin -u root password PASSWORD |
Bu işlem sonrasında aşağıdaki komut yardımı ile MySQL’e giriyoruz. (Aağıdaki komut girildikten sonra bir önceki işlemde belirlemiş olduğunuz şifreyi girmelisiniz.)
1 |
# mysql -u root -p |
Yukarıdaki komut yardımı ile MySQL’e giriş yapmış olduk. MySQL tarafında aşağıdaki işlemleri yapıyoruz.
Aşağıdaki işlem ile Cacti isimli bir DB oluşturuyoruz. Cacti user’ı için şifre tanımlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 127 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database cacti; Query OK, 1 row affected (0.01 sec) mysql> grant all on cacti.* to cacti@localhost identified by 'PASSWORD'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye |
Bu işlemler sonrasında oluşturduğumuz Cacti DB ve Cacti kullanıcısı için aşağıdaki işlemi yapıyoruz. SQL dosyasını buluyoruz.
1 2 |
# rpm -ql cacti | grep cacti.sql /usr/share/doc/cacti-1.1.19/cacti.sql |
Sonrasında aşağıdaki komut ile SQL dosyasını DB’ye aktarıyoruz.
1 |
mysql -u cacti -p cacti < /usr/share/doc/cacti-1.1.19/cacti.sql |
Şimdi işlemimiz ise Cacti DB için username, password bilgilerini düzenlemek olacak.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# vi /etc/cacti/db.php [root@cacti ~]# vi /etc/cacti/db.php <?php /* +-------------------------------------------------------------------------+ | Copyright (C) 2004-2017 The Cacti Group | | | | This program is free software; you can redistribute it and/or | | modify it under the terms of the GNU General Public License | | as published by the Free Software Foundation; either version 2 | | of the License, or (at your option) any later version. | | | | This program is distributed in the hope that it will be useful, | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | GNU General Public License for more details. | +-------------------------------------------------------------------------+ | Cacti: The Complete RRDTool-based Graphing Solution | +-------------------------------------------------------------------------+ | This code is designed, written, and maintained by the Cacti Group. See | | about.php and/or the AUTHORS file for specific developer information. | +-------------------------------------------------------------------------+ | http://www.cacti.net/ | +-------------------------------------------------------------------------+ */ /* make sure these values reflect your actual database/host/user/password */ $database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cacti'; $database_password = 'cactipass'; $database_port = '3306'; $database_ssl = false; |
Bu işlem sonrasında Apache konfigürasyonunu yapacağız. Bu konfigürasyon ile birlikte ister her yerden erişim istersek subnet bazlı erişim düzenleyebiliyoruz.
allow from localhost kısmında istersek Allow from all veya allow from 192.168.1.0/24 gibi düzenleyebiliriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vi /etc/httpd/conf.d/cacti.conf <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require host localhost </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from all </IfModule> </Directory> |
Bu işlem sonrasında Apache servisini restart ediyoruz.
1 |
# service httpd restart |
Normal şartlarda Cron her 5 dakikada bir cihazdan veri toplar. Fakat bu operasyon default olarak devre dışıdır.
Bunu isterseniz aşağıdaki komut ile etkinleştirebilirsiniz. (Başındaki # kaldırmanız yeterli.)
1 2 |
# vi /etc/cron.d/cacti */5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1 |
Tüm bu işlemler sonrasında Cacti kurulumu sunucu tarafında tamamlanmış olacaktır.
Browser üzerinden http://ipaddress/cacti URL’i üzerinden Cacti server’a ulaşarak ön konfigürasyonu yapabilirsiniz.
Sunucu üzerinde firewall kapalı olmalı yada gerekli izinler verilmelidir.
(Firewall kapatmak için service iptables stop komutunu kullanabilirsiniz.)
(default kullanıcı adı ve şifre admin/admin şeklindedir.)
Kolay Gelsin.