NMS (Network Management System) : 네트워크 관리 시스템
네트워크 엔지니어 :
ip 주소 관리대장, mac 주소 관리대장 , 프로그램, OS, CPU, 메모리, 디스크 등 하드웨어/소프트웨어 관련 정보 관리
몇백개의 node가 있더라도 NMS와 동기화가 된다면 간단하고 효율적으로 쉽게 관리 가능
여러가지 솔루션이 있는데 여기서 사용할것은 ZABBIX
Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution
We support your success Backed by 20 years of experience, a global partner network, and worldwide support, we make sure your monitoring challenges are resolved quickly and reliably. Response time that sets the standard Get instant access to the Zabbix team
www.zabbix.com
시작하기 전에 실행해주기
sudo atp update
sudo atp upgrade
웹이 아닌 Ubuntu 내에서 다운받기
httpd가 아닌 apache2 로 구축하기
APACHE MariaDB PHP를 설치하기 (웹 서비스 환경 구축)
sudo apt install -y apache2 php php-fpm mariadb-server
Zabbix 모니터링 솔루션의 공식 저장소 설정 파일 다운로드
sudo wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo apt update

최초 Ubuntu설치후 puTTy에서 접속 안될때 SSH 설치
sudo apt update
sudo apt install openssh-server
다운로드한 Zabbix 저장소 설정 파일(.deb 파일) 시스템에 설치
sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
ZABBIX 설치하기
sudo apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 php-mysql php-gd php-bcmath php-net-socket
DB의 SQL -> php 파싱. 최소한의 권한 부여하기
설치한 DB 시작 및 설정하기
sudo systemctl start mariadb
sudo systemctl status mariadb
MySQL 데이터베이스를 처음 설치했을 때 보안을 강화하기 위해 실행하는 스크립
sudo mysql_secure_installation
* 여기서 root패스워드는 DB의 패스워드

MySQL 데이터베이스에 root 계정으로 로그인
sudo mysql -u root -p
Zabbix에서 사용할 my_zabbix_db라는 이름의 데이터베이스를 생성 (문자 인코딩 : utf8, 정렬 규칙 : utf8_bin)
create database my_zabbix_db character set utf8 collate utf8_bin;
DB 호출
show databases;

'zabbix_user' MySQL 사용자를 생성 (패스워드는 qwer1234!)
create user 'zabbix_user'@'localhost' identified by 'qwer1234!';
'@'localhost'
: 사용자가 접속할 수 있는 호스트를 지정합니다. **'localhost'**는 MySQL 서버가 실행 중인 로컬 컴퓨터에서만 접속할 수 있도록 제한합니다.
'zabbix_user' 에게 my_zabbix_db 데이터베이스에 대한 모든 권한을 부여
grant all privileges on my_zabbix_db.* to 'zabbix_user'@'localhost' with grant option;
MySQL 서버에 권한 정보를 갱신하도록 요청
flush privileges;
현재 MySQL 세션에서 my_zabbix_db 데이터베이스를 사용하겠다고 선언
use my_zabbix_db;
테이블 확인 후 MariaDB 종료
show tables;
quit
압축된 Zabbix 데이터베이스 스키마 파일을 해제하여 MySQL 데이터베이스로 불러오기
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix_user -p'qwer1234!' my_zabbix_db
zcat : gz로 압축된 파일을 해제하는 명령어
Zabbix 서버의 주 설정 파일을 vi 편집기로 열기 (Zabbix 서버의 동작 방식을 수정 가능)
sudo vi /etc/zabbix/zabbix_server.conf

Zabbix Agent 2의 주 설정 파일을 vi 편집기로 열기 (Zabbix Agent 2의 동작 방식 변경 가능)
sudo vi /etc/zabbix/zabbix_agent2.conf

아파치 웹 서비스 시작 및 시스템 재부팅 시 자동으로 시작
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start zabbix-server zabbix-agent2
sudo systemctl enable zabbix-server zabbix-agent2
PHP-FPM 설정 파일을 vi 편집기로 열기 (PHP-FPM 프로세스의 동작 방식을 변경 가능)
sudo vi /etc/php/8.3/fpm/pool.d/www.conf

php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[always_populate_raw_post_data] = -1
php_value[date.timezone] = Asia/Seoul
방화벽 관리 도구인 firewalld를 설치
sudo apt install -y firewalld
방화벽에 웹 서비스(80번), 데이터베이스(3306번), 그리고 Zabbix 서버(10051번) 포트를 영구적으로 허용
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --permanent --add-port=10051/tcp
설정을 재적용하고 현재 방화벽 규칙을 확인
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

아파치 웹 서버 / PHP-FPM 서비스 / Zabbix 서버 서비스를 재시작
sudo systemctl restart apache2 php8.3-fpm
sudo systemctl restart zabbix-server
내 IP 확인하기

http 웹으로 접속하기



locale 설정하기
sudo apt install -y locales
sudo dpkg-reconfigure locales
locale을 en-US로 변경하기
sudo systemctl restart apache2 php8.3-fpm






아까 설치된 zabbix.conf.php 파일 확인하기
sudo vi /etc/zabbix/web/zabbix.conf.php

기존의 클라이언트의 Ubuntu에 추가로 에이전트 Ubuntu를 실행

agent에서
sudo apt install -y apache2 php php-fpm mariadb-server
sudo wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo apt update
sudo apt install -y zabbix-agent2
sudo vi /etc/zabbix/zabbix_agent2.conf

sudo apt install -y firewalld
sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --reload
sudo systemctl start zabbix-agent2
sudo systemctl enable zabbix-agent2

agent를 추가했음에도 호스트 수가 1인것을 확인 -> Zabbix 에서 호스트 생성하기



Agents 연결

Windows 연결을 위해 Zabbix-Agents2 다운받기

Zabbix_agent2.conf 파일 수정하기

관리자 모드로 모두 실행하기

방화벽 끄기

Windows Client 추가하기


conf 파일에서 192.168.16.231 (Server IP) 설정 . Zabbix에서 각각의 인터페이스 IP 설정

msi 파일 다운받고 conf파일 관리자 권한으로 열기 -> ServiceIP/ServiceActiveIP/Name 바꾸기 -> Zabbix 홈페이지에서 인터페이스에 내 PC의 IP 지정해주기