LibreNMS
LibreNMS는 네트워크 장비의 상태를 자동으로 수집하고, 실시간으로 모니터링할 수 있도록 시각화해주는 오픈소스 네트워크 모니터링 시스템입니다.
직관적인 웹 인터페이스를 제공하며, 다양한 벤더의 장비를 효과적으로 관리할 수 있도록 확장성과 유연성을 갖추고 있습니다.
이번 글에서는 LibreNMS의 설치 과정과 기본 설정 방법을 차근차근 살펴보겠습니다.
설치 환경– OS : Ubuntu 22.04.5 LTS – Nginx 1.18.0 / PHP 8.1.2 / MariaDB : 10.6.18 |
패키지 설치
Nginx, PHP, MariaDB 등 LibreNMS를 구동하기 위한 패키지를 설치합니다.
apt install -y software-properties-common add-apt-repository universe -y apt update && sudo apt upgrade -y apt install -y nginx mariadb-server php php-fpm php-cli php-mysql php-gd php-mbstring php-xml php-bcmath php-snmp php-curl php-zip php-redis php-imap php-gmp php-json snmp snmpd rrdtool git fping whois mtr-tiny nmap python3 python3-pymysql python3-dotenv python3-redis python3-pip acl |
MariaDB 설정
mariadb 최초 설치 후 ‘mysql_secure_installation’ 명령어를 통해 root 패스워드 설정 및 기본 보안 설정을 진행한 후 root 계정으로 로그인 합니다.
mysql_secure_installation mysql -u root -p |
‘librenms’ DB를 생성하고 해당 DB에 대한 모든 권한을 가진 ‘librenms’ 사용자를 생성합니다.
CREATE DATABASE librenms; GRANT ALL PRIVILEGES ON librenms.* TO ‘librenms’@’localhost’ IDENTIFIED BY ‘패스워드‘; FLUSH PRIVILEGES; EXIT; |
LibreNMS 사용자 생성 & 설치
시스템 계정으로 ‘librenms’를 생성하고 git을 통해 librenms 배포 데이터를 다운로드합니다.
useradd -r -M -d /opt/librenms librenms usermod -a -G librenms www-data git clone -b 23.11.0 https://github.com/librenms/librenms.git /opt/librenms chown -R librenms:librenms /opt/librenms chmod 775 /opt/librenms chmod -R 775 /opt/librenms/logs |
Nginx 설정
LibreNMS 웹 UI에 접속할 수 있도록 가상 호스트를 설정합니다.
vi /etc/nginx/sites-available/librenms # 파일 생성 후 아래 내용 삽입
server { index index.php index.html index.htm; location / { location ~ \.php$ { location ~ /\.ht { |
관련 설정이 완료되면 Nginx를 재시작합니다.
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/ nginx -t systemctl restart nginx |
Cron 설정
등록된 호스트 장치 상태 자동 수집, 오래된 로그 자동 삭제 등을 위한 cron 설정을 합니다.
vi /etc/cron.d/librenms # 새 cron 파일 생성 후 아래 내용 삽입
# LibreNMS Cronjob Example # Poller (Every 5 minutes) # Discovery (Every 6 hours) # Cleanup (Every day) |
이후 ‘systemctl restart cron’으로 데몬을 재시작합니다.
Web Installer 실행
웹 브라우저를 통해 ‘http://서버IP_또는_도메인’으로 접근합니다.
500 Error가 발생하며 정상적인 설치 화면이 나오지 않아 /opt/librenms/ 디렉터리에 위치한 validate.php 파일을 이용하여 설치환경을 점검하였습니다.
sudo -u librenms php /opt/librenms/validate.php |
위와 같은 에러가 발생 하였고 메시지에 출력된 명령어를 사용하여 오류를 해결하였습니다.
웹 UI가 정상적으로 출력되면 이전에 생성했던 DB 정보를 기입한 뒤 ‘Check Credentials’를 클릭합니다.
(Host, Port, User, Database Name은 기본적으로 입력되어 있고 ‘librenms’@’localhost’ 계정에 대한 패스워드를 입력해야 합니다.)
웹에서 사용할 관리자 계정을 생성합니다.
아래 창이 나오면서 설치가 완료됩니다.
LibreNMS 둘러보기
[호스트 등록]
호스트 IP와 Community String을 입력한 후 ‘Add Device’를 클릭하면, 해당 호스트에 대해 SNMP와 ICMP 통신을 확인한 후 등록이 처리됩니다.
[호스트 목록]
[호스트 정보 및 자원 사용량 그래프]
[포트 정보 확인]
[이벤트 로그 수집]
이처럼 LibreNMS는 네트워크 환경에서 연결된 장치들의 상태를 직관적으로 확인할 수 있는 유용한 모니터링 도구입니다. 이번 글을 통해 LibreNMS의 기본적인 개념과 설치 과정을 이해하는 데 도움이 되었길 바랍니다.
읽어주셔서 감사합니다.
Libre NMS Libre NMS Libre NMS