웹사이트 검색

Debian 및 Ubuntu에서 Cacti-Spine을 사용하여 Cacti를 설치하는 방법


이 튜토리얼에서는 최신 버전의 DebianUbuntu 16.04 LTS에서 Cacti 네트워크 모니터링 도구를 설치하고 구성하는 방법을 알아봅니다. 이 가이드에서는 Cacti가 소스 파일에서 빌드 및 설치됩니다.

Cacti는 SNMP 프로토콜을 통해 네트워크, 특히 스위치, 라우터, 서버와 같은 네트워크 장치를 모니터링하기 위해 만들어진 오픈 소스 모니터링 도구입니다. Cacti는 최종 사용자와 상호 작용하며 웹 도구 인터페이스를 통해 관리할 수 있습니다.

요구사항

  1. Debian 9에 설치된 LAMP 스택
  2. Ubuntu 16.04 LTS에 설치된 LAMP 스택

1단계: Cacti에 대한 필수 구성 요소 설치 및 구성

1. Debian 9에서 편집을 위해 소스 목록 파일을 열고 contribnon-free 저장소를 추가합니다. 다음 줄을 변경하여 파일을 만듭니다.

nano /etc/apt/sources.list

sources.list 파일에 다음 줄을 추가합니다.

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. 이후, 아래 명령어를 실행하여 시스템을 반드시 업데이트하세요.

apt update
apt upgrade

3. LAMP 스택에서 다음 PHP 확장이 시스템에 있는지 확인하세요.

apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. 다음으로, 아래 명령을 실행하여 PHP 구성 파일을 편집하고 서버의 실제 위치와 일치하도록 시간대 설정을 변경합니다.

echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. 그런 다음 LAMP 스택 설치에서 MariaDB 또는 MySQL 데이터베이스에 로그인하고 Cacti 설치를 위한 데이터베이스를 만듭니다. > 다음 명령을 실행하여 실행합니다.

선인장 데이터베이스 이름, 사용자 및 비밀번호를 자신의 구성과 일치하도록 바꾸고 선인장 데이터베이스에 대한 강력한 비밀번호를 선택하십시오.

mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. 또한 아래 명령을 실행하여 선인장 사용자에게 MySQL data.timezone 설정에 대한 선택 권한을 허용하도록 아래 명령을 실행하십시오.

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'

7. 그런 다음 MySQL 서버 구성 파일을 열고 파일 끝에 다음 줄을 추가합니다.

nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

50-server.cnf 또는 mysqld.cnf 파일 끝에 다음 줄을 추가합니다.

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

MariaDB 데이터베이스의 경우 50-server.cnf 파일 끝에 다음 줄도 추가합니다.

innodb_additional_mem_pool_size	= 80M

8. 마지막으로 MySQLApache 서비스를 다시 시작하여 모든 설정을 적용하고 다음 명령을 실행하여 두 서비스 상태를 모두 확인합니다.

systemctl restart mysql apache2
systemctl status mysql apache2

2단계: Cacti 설치 다운로드 및 준비

9. 다음 명령을 실행하여 최신 버전의 Cacti 아카이브를 다운로드하고 추출하여 소스에서 Cacti 설치를 시작하고 모든 추출 파일을 Apache 웹 문서 루트에 복사합니다.

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz 
cp -rf cacti-1.1.27/* /var/www/html/

10. /var/www/html 디렉토리에서 index.html 파일을 제거하고 Cacti 로그 파일을 생성한 후 Apache에 웹에 대한 쓰기 권한을 부여합니다. 루트 경로.

rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

11. 다음으로 선인장 구성 파일을 편집하고 아래 예와 같이 다음 줄을 수정합니다.

nano /var/www/html/include/config.php

선인장 config.php 파일 샘플. 선인장 데이터베이스 이름, 사용자 및 비밀번호를 적절하게 바꾸십시오.

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. 다음으로 아래 명령을 실행하여 /var/www/html/ 디렉토리의 cacti.sql 스크립트로 선인장 데이터베이스를 채웁니다.

mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. 이제 Cacti 엔진이 SNMP 프로토콜을 통해 장치 데이터를 수집하고 RRDtool을 사용하여 그래픽을 표시하므로 몇 가지 추가 리소스를 설치하십시오. 다음 명령을 실행하여 모두 설치하십시오.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. 아래 명령을 실행하여 snmpd 데몬을 다시 시작하여 SNMP 서비스가 실행되고 있는지 확인합니다. 또한 snmpd 데몬 상태와 열려 있는 포트를 확인하세요.

systemctl restart snmpd.service 
systemctl status snmpd.service
ss -tulpn| grep snmp

3단계: Cacti-Spine 다운로드 및 설치

15. Cacti-Spine은 기본 cmd.php 폴러를 C로 대체한 것입니다. Cacti-Spine은 더 빠른 실행 시간을 제공합니다. 소스에서 Cacti-Spine 풀러를 컴파일하려면 시스템에 아래 필수 종속성을 설치하십시오.

---------------- On Debian 9 ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. 위의 종속성을 설치한 후 최신 버전의 Cacti-Spine 아카이브를 다운로드하고, 다음 일련의 명령을 실행하여 타르볼을 추출하고 cacti-spine을 컴파일합니다. .

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz 
cd cacti-spine-1.1.27/

17. 다음 명령을 실행하여 소스에서 Cacti-Spine을 컴파일하고 설치합니다.

./bootstrap 
./configure 
make
make install

18. 다음으로, 다음 명령을 실행하여 척추 바이너리가 루트 계정의 소유인지 확인하고 척추 유틸리티에 대한 suid 비트를 설정합니다.

chown root:root /usr/local/spine/bin/spine 
chmod +s /usr/local/spine/bin/spine

19. 이제 아래 예와 같이 Cacti Spine 구성 파일을 편집하고 Cacti 데이터베이스 이름, 사용자 및 비밀번호를 Spine conf 파일에 추가합니다.

nano /usr/local/spine/etc/spine.conf

Spine.conf 파일에 다음 구성을 추가합니다.

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

4단계: 선인장 설치 마법사 설정

20. Cacti를 설치하려면 브라우저를 열고 다음 URL에서 시스템 IP 주소 또는 도메인 이름으로 이동하세요.

http://your_IP/install

먼저 라이센스 계약 동의를 선택하고 다음 버튼을 눌러 계속하세요.

21. 다음으로 시스템 요구사항을 확인하고 다음 버튼을 눌러 계속하세요.

22. 다음 창에서 새 기본 서버를 선택하고 다음 버튼을 눌러 계속합니다.

23. 다음으로 중요한 바이너리 위치와 버전을 확인하고 Spine 바이너리 경로를 /usr/local/spine/bin/spine으로 변경합니다. 완료되면 다음 버튼을 눌러 계속하세요.

24. 다음으로 모든 웹 서버 디렉토리 권한이 있는지(쓰기 권한이 설정되어 있는지) 확인하고 다음 버튼을 눌러 계속합니다.

25. 다음 단계에서는 모든 템플릿을 확인하고 마침 버튼을 눌러 설치 프로세스를 완료합니다.

26. 아래 표시된 기본 자격 증명을 사용하여 Cacti 웹 인터페이스에 로그인하고 다음 스크린샷에 설명된 대로 관리자 비밀번호를 변경합니다.

Username: admin
Password: admin

27. 다음으로 콘솔 -> 구성 -> 설정 -> 폴러로 이동하여 cmd.php<에서 폴러 유형을 변경합니다.Spine 바이너리로 이동하고 저장 버튼까지 아래로 스크롤하여 구성을 저장합니다.

28. 그런 다음 콘솔 -> 구성 -> 설정 -> 경로로 이동하여 Cacti-Spine 구성 파일에 다음 경로를 추가합니다.

/usr/local/spine/etc/spine.conf 

구성을 적용하려면 저장 버튼을 누르세요.

29. Cacti Poller가 모니터링되는 장치에서 데이터 수집을 시작할 수 있도록 하는 최종 설정은 5분마다 SNMP를 통해 각 장치에 쿼리하기 위해 새로운 crontab 작업을 추가하는 것입니다.

crontab 작업은 www-data 계정이 소유해야 합니다.

crontab -u www-data -e

Cron 파일 항목을 추가합니다.

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. Cacti가 데이터를 수집할 때까지 몇 분 정도 기다린 후 그래프 -> 기본 트리로 이동하면 모니터링되는 장치에 대해 수집된 그래프가 표시됩니다.

그게 다야! Debian 9Ubuntu 16.04 최신 릴리스의 소스에서 Cacti-Spine 풀러를 사용하여 Cacti를 성공적으로 설치하고 구성했습니다. LTS 서버.