1. epel repository 설치
- centos7의 epel-release 설치 진행
bash $ yum install -y epel-release
2. snmp 설치
- SNMP와 RRDTool 설치
$ yum -y install net-snmp net-snmp-utils net-snmp-libs rrdtool
3. PHP와 PHP 확장자 설치
- cacti 설치를 위해서는 PHP v7.2 이상으로 필요
- Remi 저장소를 사용하여 PHP 7.x를 설치
$ yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- PHP v7.3 설치
$ yum install -y --enablerepo=remi-php73 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
- PHP v7.2 설치 (설치 X)
$ yum install -y --enablerepo=remi-php723 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
4. MariaDB 설치
- Cacti는 설치를 위해 MariaDB v5.6+ 또는 MariaDB v10+가 필요 → OS 리포지토리에서 사용 가능한 MariaDB 패키지(v5.4)는 Cacti의 최소 요구 사항을 충족 X
- MariaDB 커뮤니티 웹 사이트에서 제공되는 최신 버전의 MariaDB를 설치
$ cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
- MariaDB 서버를 설치
$ yum install -y MariaDB-server MariaDB-client
- Database Tuning
- Cacti는 더 나은 성능을 위해 MariaDB 설정을 변경할 것을 권장
- [mysqld] 섹션에 변수를 추가
$ vi /etc/my.cnf.d/server.cnf collation-server = utf8mb4_unicode_ci character-set-server=utf8mb4 max_heap_table_size = 1024M tmp_table_size = 1024M join_buffer_size = 3072M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_flush_log_at_timeout = 3 innodb_buffer_pool_size = 16GB innodb_doublewrite = OFF innodb_buffer_pool_instances = 64 # Based on what type for storage you use. The below values are for SSD drives. # Change it if Cacti reports issues during the installation innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000
5. 서비스 시작 과 영구적 설정(Start & Enable)
- 서비스 시작
$ systemctl start httpd snmpd mariadb
- 서비스 재부팅하여도 실행될 수 있도록 하기 위한 영구적 설정
$ systemctl enable httpd snmpd mariadb
6. Database 생성
- 처음으로 MySQL을 구성하는 경우; MariaDB를 보호하는 방법을 살펴볼 필요 있음
- Cacti 설치를 위한 데이터베이스 생성 → 비밀번호 없음
$ mysql -u root -p Enter password:
- Cacti용 데이터베이스를 생성
MariaDB [(none)]> create database cacti; Query OK, 1 row affected (0.001 sec)
- 새로 생성된 데이터베이스에 권한을 부여
MariaDB [(none)]> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword'; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> exit Bye
- 새로 생성된 데이터베이스 사용자(cactuuser)는 mysql.time_zone_name 테이블에 액세스 가능 → mysql_test_data_timezone.sql을 mysql 데이터베이스로 가져옴 → 비밀번호 없음
$ mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql Enter password:
- MySQL 로그인 → 비밀번호 없음
$ mysql -u root -p Enter password:
- cactiuser에게 권한을 부여함
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> exit Bye
7. Cacti 설치
- CentOS/RHEL에서 yum 명령을 사용하여 Cacti 패키지를 설치
$ yum -y install cacti
- 기본 데이터베이스를 cacti 데이터베이스로 가져옴
$ mysql cacti < /usr/share/doc/cacti-*/cacti.sql -u root -p
- 구성 파일을 편집하여 데이터베이스 유형, 이름, 호스트 이름, 사용자 및 암호 정보를 지정
$ vi /usr/share/cacti/include/config.php ...생략... /* make sure these values reflect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactipassword"; $database_port = "3306"; $database_ssl = false;
- crontab 파일 수정 → 5분마다 폴링하려면 다음 항목의 주석 처리를 제거
$ vi /etc/cron.d/cacti */5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
- /etc/php.ini 파일을 편집하여 시간대를 설정 → timezone 업데이트
$ vi /etc/php.ini date.timezone = Asia/Seoul memory_limit = 512M max_execution_time = 60
- Apache 구성 파일을 편집 → Require host localhost에서 Require all granted로 수정
$ vi /etc/httpd/conf.d/cacti.conf Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require all granted Allow from [설정 IP] </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from localhost </IfModule> </Directory>
- httpd 재실행
$ systemctl restart httpd
8. Cacti 설정
- cacti 설치를 시작하려면 아래 URL을 방문 → [http://[설치IP]/cacti/install/install.php]
- Cacti에 로그인하여 Cacti 설치를 설정
- Username: admin
- Password: admin
- cacti 설정에 로그인
- cacti를 설정하기 전에 cacti 관리자의 비밀번호를 변경
- 기존 비밀번호 : admin
- 변경 비밀번호 : hello1234
- 사용권 계약에 동의하고 다음을 클릭하여 계속
- Cacti는 Cacti 설치를 위한 사전 설치 검사를 수행
- 설치 마법사가 보고하는 경우 문제를 수정해야 함
- 페이지 우측 하단에 위치한 Next 버튼을 클릭하여 다음 단계로 이동
- 새 primary 서버 또는 새 설치를 선택하고 다음을 클릭
- Cacti 설치 디렉토리에 있을 수 있는 권한 문제를 확인 -> selniux 0 설정 필요
- Cacti의 필수인 패키지가 누락된 경우 표시
- White Protection에 대한 방법 공지
- 5분마다 폴링하도록 cron을 구성했는지 기본 Profile에서 확인
- 모든 템플릿을 선택하고 마침을 클릭
- 최종 테스트 요약 페이지
- 설치 확인을 선택하고 설치를 눌러 Cacti 설치를 시작
- 설치 확인 완료
9. Cacti 접속
- cacti에 로그인하려면 사용자 이름과 비밀번호를 입력
- 접속 URL : [http://[서버 ip]/cacti/]
- Username : admin
- Password : hello1234
- Cacti Dashboard
'Mornitoring(모니터링)' 카테고리의 다른 글
smokeping (Centos7 설치 방법) (0) | 2022.06.23 |
---|