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
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.
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo.
Cài đặt nginx bằng lệnh apt từ kho lưu trữ theo cách sau.
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á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.
Quá trình cài đặt Nginx đã hoàn tất.
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.
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.
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.
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'.
Bỏ chú thích cấu hình cgi bên dưới, đổi giá trị thành 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.
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.
Cài đặt mariadb-server từ kho lưu trữ ubuntu bằng lệnh apt bên dưới.
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á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.
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 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.
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ộ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]'.
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ụ.
Cấu hình cơ sở dữ liệu mariadb đã hoàn tấ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ả.
Bây giờ hãy đến thư mục '/opt/' và tải xuống mã nguồn LibreNMS bằng lệnh git.
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.
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ộ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
Dán cấu hình máy chủ ảo LibreNMS sau đây.
Lưu và thoát. Bây giờ, hãy kích hoạt virtualhost.
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ụ.
- 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.
Khởi động tường lửa ufw bằng lệnh ufw enable như hiển thị bên dưới.
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'.
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.
- 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.
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.
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.
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.
- 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/'.
Chỉnh sửa cấu hình mới bằng vim.
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.
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.
- 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.
Sao chép cấu hình.
Bây giờ hãy khởi động lại dịch vụ cron và tải lại cấu hình logrotate.
- 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.
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.
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
- Cài đặt các gói
- Cài đặt máy chủ web Nginx
- Cài đặt và cấu hình PHP-FPM
- Cài đặt và cấu hình MariaDB
- Tải xuống và cấu hình LibreNMS
- Trình cài đặt web LibreNMS
- Cấu hình cuối cùng
- 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
Mã:
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
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
Mã:
systemctl start nginx
systemctl enable nginx
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
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 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
Mã:
date.time = Europe/Paris
Mã:
cgi.fix_pathinfo = 0
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
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
Mã:
systemctl start mysql
systemctl enable mysql
Mã:
mysql_secure_installation
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
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:
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;
Để 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
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
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
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}
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
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;
}
}
Mã:
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
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
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ướ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
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
Mã:
vim /etc/snmp/snmpd.conf
Mã:
com2sec readonly default hakaselabs
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/
Mã:
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms
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
Cài đặt LibreNMS với Nginx Webserver trên Ubuntu 16.04 đã hoàn tất.