Cách thiết lập công cụ giám sát LibreNMS với Nginx trên Ubuntu 20.04

theanh

Administrator
Nhân viên
LibreNMS là một công cụ giám sát mạng miễn phí và mã nguồn mở dành cho hệ điều hành Linux. Bạn có thể giám sát nhiều hệ điều hành khác nhau như Linux, Windows, FreeBSD và một số thiết bị mạng như Cisco, Juniper, Foundry, FreeBSD, Brocade và nhiều thiết bị khác nữa bằng LibreNMS. Công cụ này sử dụng các giao thức SNMP, ARP, CDP, FDP, LLDP, OSPF và BGP để tự động khám phá toàn bộ mạng. Công cụ này có giao diện web đơn giản và thân thiện với người dùng, giúp bạn giám sát tất cả các thiết bị từ trình duyệt web. Nó có một bộ tính năng phong phú bao gồm, khám phá tự động, cảnh báo tùy chỉnh, truy cập API, cập nhật tự động và nhiều tính năng khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn hướng dẫn từng bước về cách cài đặt LibreNMS trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04.
  • Một mật khẩu gốc được cấu hình trên.

Bắt đầu​

Trước tiên, bạn nên cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện bằng lệnh sau:
Mã:
apt-get update -y
Sau khi cập nhật tất cả các gói, hãy cài đặt tất cả các phần phụ thuộc cần thiết cho LibreNMS bằng lệnh sau:
Mã:
apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y
Sau khi tất cả các phần phụ thuộc đã được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt LEMP Server​

Tiếp theo, bạn sẽ cần cài đặt máy chủ web Nginx, máy chủ MariaDB, PHP và các tiện ích mở rộng PHP khác trên máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php-fpm php-zip -y
Sau khi cài đặt tất cả các gói, bạn sẽ cần đặt múi giờ trong tệp php.ini của mình.

Trước tiên, hãy tìm múi giờ hệ thống của bạn bằng lệnh sau:
Mã:
cat /etc/timezone
Bạn sẽ thấy đầu ra sau:
Mã:
Etc/UTC
Tiếp theo, hãy chỉnh sửa cả hai tệp php.ini bằng lệnh sau:
Mã:
nano /etc/php/7.4/fpm/php.ini
nano /etc/php/7.4/cli/php.ini
Xác định múi giờ hệ thống của bạn như hiển thị bên dưới:
Mã:
date.timezone = Etc/UTC
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi:
Mã:
systemctl restart php7.4-fpm
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Cơ sở dữ liệu MariaDB​

Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho LibreNMS.

Đầu tiên, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
mysql
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Mã:
MariaDB [(none)]> tạo cơ sở dữ liệu librenmsdb KÝ TỰ BẮT utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> cấp tất cả các quyền trên librenmsdb.* cho librenms@localhost ĐƯỢC XÁC ĐỊNH bằng "password";
Tiếp theo, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> exit;
Tiếp theo, chỉnh sửa tệp cấu hình MariaDB và thêm một số thiết lập mong muốn:
Mã:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Thêm các dòng sau vào phần [mysqld]:
Mã:
innodb_file_per_table=1sql-mode=""lower_case_table_names=0
Lưu và đóng tệp, sau đó khởi động lại dịch vụ MariaDB để áp dụng các thay đổi:
Mã:
systemctl restart mariadb
Lúc này, MariaDB của bạn đã được cấu hình. Bây giờ, bạn có thể tiến hành bước tiếp theo.

Cài đặt và cấu hình LibreNMS​

Trước tiên, bạn sẽ cần tạo một người dùng riêng để chạy LibreNMS. Bạn có thể thêm nó bằng lệnh sau:
Mã:
useradd -r -M -d /opt/librenms librenms
Tiếp theo, thêm người dùng librenms vào nhóm www-data bằng lệnh sau:
Mã:
usermod -a -G librenms www-data
Tiếp theo, thay đổi thư mục thành /opt và tải xuống phiên bản mới nhất của LibreNMS bằng lệnh sau:
Mã:
cd /opt
git clone https://github.com/librenms/librenms.git librenms
Tiếp theo, tạo tệp nhật ký cho LibreNMS bằng lệnh sau:
Mã:
touch /opt/librenms/logs/librenms.log
Tiếp theo, sao chép tệp cấu hình mẫu SNMP bằng lệnh sau:
Mã:
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Tiếp theo, chỉnh sửa tệp snmpd.conf:
Mã:
nano /etc/snmp/snmpd.conf
Tìm dòng sau:
Mã:
com2sec readonly default RANDOMSTRINGGOESHERE
Và thay thế bằng dòng sau:
Mã:
com2sec readonly default mysnmpserverkey
Lưu và đóng tệp, sau đó tải xuống tệp nhị phân distro SNMP và sao chép vào vị trí mong muốn:
Mã:
curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x distro
mv distro /usr/bin/distro
Tiếp theo, khởi động lại dịch vụ SNMP để áp dụng các thay đổi:
Mã:
systemctl restart snmpd
Tiếp theo, bạn cũng sẽ cần sao chép tệp cron LibreNMS và logrotate vào vị trí mong muốn. Bạn có thể sao chép chúng bằng lệnh sau:
Mã:
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Tiếp theo, hãy thay đổi thư mục thành librenms và cài đặt các depemdencies cần thiết bằng lệnh sau:
Mã:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
Sau khi tất cả các dependency đã được cài đặt, hãy thay đổi quyền sở hữu thư mục librenms và cấp các quyền cần thiết bằng lệnh sau:
Mã:
chown -R www-data:librenms /opt/librenms
chmod -R 775 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Nginx cho LibreNMS​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Nginx cho LibreNMS. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/librenms.conf
Thêm các dòng sau:
Mã:
server { listen 80; server_name librenms.example.com; root /opt/librenms/html; index index.php; charset utf-8; gzip on; gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; location / { try_files $uri $uri/ /index.php?$query_string; } location /api/v0 { try_files $uri $uri/ /api_v0.php?$query_string; } location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } vị trí ~ /\.ht { từ chối tất cả; }}
Lưu và đóng tệp, sau đó kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ thấy kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Bạn cũng có thể xác minh trạng thái dịch vụ Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nhận được kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: hoạt động (đang chạy) từ Sat 2020-09-05 06:15:20 UTC; 4 phút 5 giây trước Tài liệu: man:nginx(8) Quy trình: 28239 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 28250 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 28253 (nginx) Nhiệm vụ: 3 (giới hạn: 2353) Bộ nhớ: 3,4M CGroup: /system.slice/nginx.service ??28253 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??28254 nginx: tiến trình làm việc ??28255 nginx: tiến trình làm việc05/09 06:15:20 ubuntu2004 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...05/09 06:15:20 ubuntu2004 systemd[1]: Đã khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện web LibreNMS​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập LibreNMS bằng URL http://librenms.example.com. Bạn sẽ được chuyển hướng đến trang Kiểm tra trước khi cài đặt:



Đảm bảo rằng tất cả các tiện ích mở rộng bắt buộc đã được cài đặt, sau đó nhấp vào cài đặt Cơ sở dữ liệu. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng cơ sở dữ liệu, tên cơ sở dữ liệu, mật khẩu và nhấp vào nút Kiểm tra Thông tin xác thực. Khi thành công, bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Xây dựng Cơ sở dữ liệu. Bạn sẽ thấy trang sau:



Tiếp theo, nhấp vào nút Tạo người dùng Quản trị. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng, email, mật khẩu quản trị viên và nhấp vào nút Thêm Người dùng. Bạn sẽ thấy trang sau:



Tiếp theo, nhấp vào nút Hoàn tất cài đặt. Bạn sẽ thấy trang sau:



Tiếp theo, nhấp vào "xác thực cài đặt". Bạn sẽ thấy trang đăng nhập LibreNMS:



Cung cấp tên người dùng, mật khẩu quản trị viên LibreNMS của bạn và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển LibreNMS:


Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công công cụ giám sát mạng LibreNMS trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể thêm thiết bị hoặc máy chủ và bắt đầu giám sát từ bảng điều khiển LibreNMS. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên