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

theanh

Administrator
Nhân viên
LibreNMS là một công cụ giám sát mã nguồn mở dựa trên PHP/MYSQL/SNMP. Đây là một hệ thống giám sát mạng nổi bật hỗ trợ nhiều loại phần cứng mạng và hệ điều hành bao gồm FreeBSD, Cisco, Linux, HP, v.v.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và cấu hình công cụ giám sát mã nguồn mở 'LibreNMS' bằng cách sử dụng Nginx làm máy chủ web, MariaDB làm cơ sở dữ liệu và máy chủ Ubuntu 16.04 làm máy chủ chính của chúng tôi. Chúng tôi sẽ hướng dẫn bạn từng bước về cách cài đặt và cấu hình 'LibreNMS' trên máy chủ Ubuntu 16.04 Xenial Xerus.

Những gì chúng ta sẽ làm
  1. Cài đặt các gói
  2. Cài đặt máy chủ web Nginx
  3. Cài đặt và cấu hình PHP-FPM
  4. Cài đặt và cấu hình MariaDB
  5. Tải xuống và cấu hình LibreNMS
  6. Trình cài đặt web LibreNMS
  7. Cấu hình cuối cùng
Điều kiện tiên quyết
  • Máy chủ Ubuntu 16.04
  • Quyền root

Bước 1 - Cài đặt các gói​

Bước đầu tiên chúng ta phải thực hiện để cài đặt Công cụ giám sát LibreNMS là cài đặt một số gói cần thiết trên máy chủ. Kết nối với máy chủ của bạn và cập nhật kho lưu trữ.
Mã:
ssh root@hakase-labs-server
sudo apt update
Cài đặt tất cả các gói cần thiết cho LibreNMS từ kho lưu trữ Ubuntu bằng lệnh sau.
Mã:
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo.

Bước 2 - Cài đặt Nginx Máy chủ web​

Trong hướng dẫn này, chúng ta sẽ chạy LibreNMS dưới máy chủ web Nginx. Nginx là máy chủ web mạnh mẽ có sẵn trong kho lưu trữ Ubuntu.

Cài đặt nginx bằng lệnh apt từ kho lưu trữ theo cách sau.
Mã:
apt install nginx
Khi hoàn tất, hãy khởi động dịch vụ và cho phép dịch vụ chạy tự động mỗi khi khởi động hệ thống.
Mã:
systemctl start nginx
systemctl enable nginx
Máy chủ web Nginx đang chạy dưới cổng mặc định 80. Chúng ta có thể kiểm tra cổng bằng lệnh netstat và kiểm tra Nginx bằng lệnh curl để lấy mã trạng thái HTTP, như hiển thị bên dưới.
Mã:
netstat -plntu | grep 80
curl -I localhost


Quá trình cài đặt Nginx đã hoàn tất.

Bước 3 - Cài đặt và cấu hình PHP-FPM​

LibreNMS là công cụ giám sát ứng dụng web dựa trên PHP. Nó cung cấp hỗ trợ cho phiên bản PHP mới 7.0 và chúng tôi sẽ sử dụng nó cho hướng dẫn này.

Cài đặt PHP, PHP-FPM và tất cả các tiện ích mở rộng/mô-đun cần thiết để cài đặt LibreNMS bằng lệnh apt bên dưới.
Mã:
apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6
Tiếp theo, chúng ta cần thêm một số cấu hình vào các tệp php.ini. Chúng ta cần xác định múi giờ mặc định trong tệp php.ini và đảm bảo múi giờ khớp với múi giờ hiện tại mà hệ thống sử dụng.

Kiểm tra múi giờ hiện tại mà hệ thống đang sử dụng bằng lệnh sau.
Mã:
timedatectl
Bạn sẽ nhận được kết quả tương tự như sau.



Bạn có thể thấy máy chủ đang sử dụng múi giờ 'Châu Âu/Paris'.

Bây giờ hãy đến thư mục cấu hình PHP và chỉnh sửa các tệp php.ini cho cli và fpm config.
Mã:
cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini
Bỏ chú thích dòng 'date.time' và thay đổi giá trị bằng múi giờ hệ thống của chúng ta là 'Châu Âu/Paris'.
Mã:
date.time = Europe/Paris
Bỏ chú thích cấu hình cgi bên dưới, đổi giá trị thành 0.
Mã:
cgi.fix_pathinfo = 0
Lưu và thoát.

Toàn bộ cấu hình đã hoàn tất. Bây giờ hãy khởi động dịch vụ và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống bằng các lệnh systemctl sau.
Mã:
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM hiện đang chạy trên máy chủ ubuntu - nó đang chạy dưới tệp sock. Kiểm tra nó bằng lệnh netstat.
Mã:
netstat -pl | grep php

Bước 4 - Cài đặt và cấu hình MariaDB​

Trong bước này, chúng ta sẽ cài đặt mariadb-server cho cơ sở dữ liệu LibreNMS. Chúng ta sẽ cài đặt, cấu hình và tạo một cơ sở dữ liệu mới và một người dùng mới cho quá trình cài đặt LibreNMS.

Cài đặt mariadb-server từ kho lưu trữ ubuntu bằng lệnh apt bên dưới.
Mã:
apt install mariadb-server mariadb-client mariadb
Khi hoàn tất, hãy khởi động dịch vụ và cho phép dịch vụ chạy tự động khi khởi động hệ thống, bạn có thể thực hiện việc này bằng các lệnh systemctl sau.
Mã:
systemctl start mysql
systemctl enable mysql
Máy chủ cơ sở dữ liệu mariadb hiện đang chạy. Tiếp theo, chúng ta cần cấu hình mật khẩu gốc cho mariadb. Chúng ta có thể sử dụng lệnh 'mysql_secure_installation' bên dưới để cấu hình mật khẩu gốc.
Mã:
mysql_secure_installation
Bạn sẽ được hỏi về mật khẩu gốc mới - hãy nhập mật khẩu của bạn và nhấn 'Enter' để tiếp tục.
Mã:
Đặt mật khẩu gốc? [Y/n] Y
Xóa người dùng ẩn danh? [Y/n] Y
Không cho phép đăng nhập gốc từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Mật khẩu gốc cho mariadb đã được cấu hình.

Tiếp theo, chúng ta phải tạo cơ sở dữ liệu và người dùng mới cho LibreNMS. Chúng tôi sẽ tạo một cơ sở dữ liệu mới có tên là 'librenms', một người dùng mới có tên là 'librenms' với mật khẩu là 'hakase-labs123'.

Đăng nhập vào shell mariadb bằng lệnh sau.
Mã:
mysql -u root -p
Nhập mật khẩu ROOT:
Chạy các truy vấn mariadb bên dưới để tạo một cơ sở dữ liệu và người dùng mới, đồng thời cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng mới.
Mã:
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
Một cơ sở dữ liệu và người dùng mới cho LibreNMS đã được tạo.



Để cài đặt LibreNMS, chúng ta cần thêm một số cấu hình vào tệp cấu hình. Vào thư mục '/etc/mysql/' và chỉnh sửa tệp cấu hình mariadb.

cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf

Dán cấu hình bên dưới vào phần '[mysqld]'.
Mã:
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Lưu và thoát.



Bây giờ áp dụng cấu hình mới bằng cách khởi động lại dịch vụ.
Mã:
systemctl restart mysql
Cấu hình cơ sở dữ liệu mariadb đã hoàn tất.

Bước 5 - Tải xuống và cấu hình LibreNMS​

Trong bước này, chúng ta sẽ cấu hình hệ thống cho LibreNMS cài đặt.

- Thêm người dùng mới và tải xuống LibreNMS

Tạo người dùng hệ thống mới có tên là 'librenms', định nghĩa '/opt/librenms' là thư mục gốc mặc định cho người dùng và chỉ định người dùng 'librenms' mới cho nhóm www-data.

Chạy lệnh sau để thực hiện tất cả.
Mã:
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
Bây giờ hãy đến thư mục '/opt/' và tải xuống mã nguồn LibreNMS bằng lệnh git.
Mã:
cd /opt/
git clone https://github.com/librenms/librenms.git librenms


Tiếp theo, tạo một thư mục mới cho các tệp nhật ký libreNMS và các tệp rrd.
Mã:
mkdir -p /opt/librenms/{logs,rrd}
Thay đổi quyền sở hữu cho thư mục 'rrd' thành '775' và thay đổi chủ sở hữu của thư mục 'librenms' thành người dùng và nhóm 'librenms'.
Mã:
chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/


Một 'librenms' mới đã được tạo và mã nguồn LibreNMS đã được tải xuống.

- Cấu hình LibreNMS Virtualhost

Đi đến thư mục cấu hình 'nginx' và tạo tệp máy chủ ảo mới 'librenms' bằng vim
Mã:
cd /etc/nginx/
vim sites-available/librenms
Dán cấu hình máy chủ ảo LibreNMS sau đây.
Mã:
server {

 # Thêm tên miền của riêng bạn
 listen 80;
 server_name librenms.irsyadf.me;

 # Thư mục gốc Webroot LibreNMS
 root /opt/librenms/html;
 index index.php;

 # Nhật ký LibreNMS
 access_log /opt/librenms/logs/access_log;
 error_log /opt/librenms/logs/error_log;
 
 # Bật nén Gzip trên Nginx
 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;
 }

 # PHP-FPM xử lý tất cả các yêu cầu tệp .php
 location ~ \.php {
 include fastcgi.conf;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 }

 location ~ /\.ht {
 deny all;
 }
}
Lưu và thoát. Bây giờ, hãy kích hoạt virtualhost.
Mã:
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Kiểm tra cấu hình nginx và đảm bảo không có lỗi. Sau đó khởi động lại dịch vụ.
Mã:
nginx -t
systemctl restart nginx


- Cấu hình Tường lửa UFW

Thêm cổng mới vào tường lửa. Thêm ssh, http, https mới và cổng được sử dụng bởi loại udp snmpd 161 vào tường lửa ufw.

Chạy các lệnh ufw sau.
Mã:
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp


Khởi động tường lửa ufw bằng lệnh ufw enable như hiển thị bên dưới.
Mã:
ufw enable
Gõ 'y' và nhấn 'Enter' để xác nhận. Khởi động và bật nó để khởi chạy mỗi lần khởi động hệ thống.

Nếu bạn muốn xem trạng thái tường lửa, hãy chạy lệnh 'ufw status'.
Mã:
ufw status
Bạn sẽ nhận được trạng thái tường lửa - đang hoạt động hay không hoạt động - và danh sách các cổng và dịch vụ được thêm vào tường lửa.


Bước 6 - Trình cài đặt web LibreNMS​

Sau khi hoàn tất tất cả các bước trên, chúng ta cần cài đặt LibreNMS thông qua trình duyệt web. Mở trình duyệt web của bạn, nhập tên miền LibreNMS 'librenms.hakase-labs.co' vào thanh địa chỉ và nhấn Enter.

- Kiểm tra các mô-đun PHP

Bạn sẽ được chuyển hướng đến trang install.php hiển thị kết quả kiểm tra hỗ trợ mô-đun PHP. Đảm bảo tất cả trạng thái đều có màu xanh lá cây như hiển thị bên dưới.



Nhấp vào 'Giai đoạn tiếp theo' để tiếp tục.

- Cấu hình cơ sở dữ liệu

Điền tất cả thông tin cơ sở dữ liệu bằng db của riêng bạn.
  • Người dùng DB: librenms
  • Mật khẩu DB: hakase-labs123
  • Tên DB: librenms


Và nhấp vào 'Giai đoạn tiếp theo'.

- Nhập cơ sở dữ liệu MySQL

Chờ tập lệnh cài đặt để nhập mẫu cơ sở dữ liệu vào cơ sở dữ liệu của chúng tôi - không đóng tab trình duyệt trong quá trình này.



Sau khi db được nhập, hãy nhấp vào 'Chuyển đến Thêm người dùng'.

- Thêm quản trị viên Người dùng

Tại đây, nhập tên người dùng quản trị, email và mật khẩu của bạn.



Nhấp vào 'Thêm người dùng'.

- Tạo cấu hình LibreNMS



Nhấp vào nút 'Tạo cấu hình'.

Và bạn sẽ nhận được tệp cấu hình tương tự như tệp được hiển thị bên dưới.



Sao chép tập lệnh cấu hình php và quay lại phiên ssh của bạn. Vào thư mục '/opt/librenms' và tạo tệp 'config.php' theo cách thủ công bằng vim.
Mã:
cd /etc/librenms/
vim config.php
Dán cấu hình vào đó và thay đổi quyền sở hữu tệp thành người dùng và nhóm librenms.
Mã:
chown librenms:librenms config.php


Quay lại trình duyệt web của bạn và nhấp vào nút 'Hoàn tất cài đặt'.

Bây giờ bạn sẽ đến trang cuối cùng từ trình cài đặt web librenms - xem bên dưới.


Bước 7 - Cấu hình cuối cùng​

Sau khi cài đặt thông qua trình duyệt web hoàn tất, chúng ta cần thực hiện một số bước khác.

- Cấu hình SNMP

Sao lưu mặc định tệp cấu hình và sao chép cấu hình mẫu vào thư mục '/etc/snmp/'.
Mã:
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Chỉnh sửa cấu hình mới bằng vim.
Mã:
vim /etc/snmp/snmpd.conf
Thay thế dòng 'RANDOMSTRINGGOESHERE' bằng tên cộng đồng của riêng bạn 'hakaselabs', như hiển thị bên dưới.
Mã:
com2sec readonly default hakaselabs
Lưu và thoát.



Tiếp theo, chúng ta cần tải xuống tập lệnh phát hiện bản phân phối. Tải xuống bằng curl, sau đó thực thi tập lệnh, cuối cùng, khởi động lại dịch vụ snmp.
Mã:
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd


- Cấu hình Crontab và Logrotate

Vào thư mục librenms và sao chép cấu hình mẫu cho Crontab và Logrotate.
Mã:
cd /opt/librenms/
Sao chép cấu hình.
Mã:
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms
Bây giờ hãy khởi động lại dịch vụ cron và tải lại cấu hình logrotate.
Mã:
systemctl restart cron
logrotate -f /etc/logrotate.conf


- Xác thực cấu hình

Chờ một lúc cho đến khi tập lệnh cron chạy trên hệ thống. Sau khi hoàn tất, hãy xác thực bằng tập lệnh 'validate.php'.

Vào thư mục librenms và chạy tập lệnh xác thực.
Mã:
cd /opt/librenms/
./validate.php
Nếu cài đặt của bạn đúng, bạn sẽ nhận được kết quả như hiển thị bên dưới.



Cài đặt LibreNMS với Nginx Webserver trên Ubuntu 16.04 đã hoàn tất.

Tham khảo​

 
Back
Bên trên