Cài đặt phần mềm giám sát mạng Observium trên Debian 9

theanh

Administrator
Nhân viên
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình phiên bản mới nhất của phần mềm Giám sát mạng Observium (Phiên bản cộng đồng) trên bản phát hành Debian 9, để giám sát thiết bị mạng tại cơ sở của bạn.

Observium là phần mềm giám sát mạng tự động phát hiện miễn phí và mã nguồn mở mạnh mẽ và linh hoạt, được viết chủ yếu bằng ngôn ngữ lập trình PHP và triển khai trên Linux dưới máy chủ web Apache/Nginx, hệ thống quản lý cơ sở dữ liệu PHP và MySQL/MariaDB, còn được gọi là ngăn xếp LAMP hoặc LEMP. Ovservium sử dụng giao thức SNMP để truy vấn trạng thái của máy chủ mạng, máy chủ, bộ định tuyến, bộ chuyển mạch và các thiết bị mạng khác, hỗ trợ nhiều loại phần cứng mạng và hệ điều hành, chẳng hạn như Linux, Windows, Cisco, HP, FreeBSD, Juniper, Brocade, Dell và các nhà cung cấp thiết bị mạng quan trọng khác. Quá trình quản lý ứng dụng có thể dễ dàng thực hiện thông qua giao diện web đơn giản và trực quan.

Yêu cầu​

  • Cài đặt tối thiểu Debian 9 trên máy chủ bare-metal hoặc trên máy chủ riêng ảo
  • Quyền sudo root cho tài khoản cục bộ hoặc từ xa hoặc quyền truy cập trực tiếp vào tài khoản root
  • Địa chỉ IP tĩnh được định cấu hình cho một trong các card giao diện mạng hệ thống của bạn
  • Tên miền, riêng tư hoặc công khai, tùy thuộc vào triển khai của bạn, với các bản ghi DNS thích hợp được định cấu hình cho các dịch vụ web. Nếu bạn không có tên miền hợp lệ hoặc đã đăng ký, bạn có thể thực hiện cài đặt và truy cập trang web thông qua địa chỉ IP máy chủ của mình
  • Nếu bạn muốn sử dụng thông báo qua email Observium, bạn phải có một máy chủ thư đang chạy được định cấu hình đúng tại cơ sở của mình với quyền truy cập từ xa vào các dịch vụ IMAP và SMTP của máy chủ đó. Đối với cùng một tác vụ, bạn cũng có thể sử dụng dịch vụ email công khai, chẳng hạn như Gmail hoặc Yahoo! Thư.

Cài đặt Apache, PHP và MySQL​

Trước khi bắt đầu cài đặt và cấu hình Observium từ các nguồn trên máy chủ của riêng bạn, trước tiên hãy đảm bảo hệ thống đáp ứng mọi yêu cầu phần mềm để biên dịch và cài đặt ứng dụng. Trong bước đầu tiên, hãy cập nhật kho lưu trữ hệ thống và các gói phần mềm của bạn bằng cách đưa ra lệnh sau.
Mã:
apt update
Mã:
apt upgrade
Tiếp theo, hãy thực hiện lệnh sau để cài đặt một số tiện ích cần thiết sẽ được sử dụng để quản lý hệ thống của bạn từ dòng lệnh.
Mã:
apt install wget bash-completion curl
Sau khi hệ thống đã được cập nhật đầy đủ và các tiện ích cần thiết để quản lý máy chủ của bạn đã được cài đặt, hãy thiết lập tên hệ thống của bạn bằng cách thực hiện lệnh sau. Thay thế biến hostname của bạn cho phù hợp.
Mã:
hostnamectl set-hostname www.mynet.com
Xác minh tên máy chủ và tệp hosts bằng cách đưa ra các lệnh sau.
Mã:
hostnamectl
Mã:
cat /etc/hostname
Mã:
hostname –s
Mã:
hostname –f
Cuối cùng, khởi động lại máy chủ Debian để áp dụng các bản cập nhật kernel và các thay đổi tên máy chủ một cách chính xác.
Mã:
systemctl reboot
Observium là một nền tảng giám sát mạng dựa trên web được viết bằng ngôn ngữ lập trình phía máy chủ PHP. Để thực thi các tập lệnh tệp PHP của ứng dụng, một máy chủ web, chẳng hạn như máy chủ Apache HTTP và một cổng xử lý PHP phải được cài đặt và đưa vào hoạt động trong hệ thống. Để cài đặt máy chủ web Apache và trình thông dịch PHP cùng với tất cả các mô-đun PHP cần thiết mà ứng dụng cần để chạy đúng cách, hãy đưa ra lệnh sau trong bảng điều khiển máy chủ của bạn.
Mã:
apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-mcrypt php-pear php7.0-cli php7.0-snmp
Phát hành lệnh sau để xác minh xem tất cả các mô-đun PHP đã cài đặt có được bật trong hệ thống của bạn hay không
Mã:
php –m
Ngoài ra, hãy đảm bảo rằng bạn cài đặt các tiện ích sau mà Observium yêu cầu để truy vấn và giám sát các thiết bị mạng thông qua giao thức SNMP, phát hiện và chèn các tham số mạng khác và hiển thị biểu đồ tài nguyên hệ thống.
Mã:
apt install fping rrdtool graphviz ipmitool snmp whois mtr-tiny imagemagick python-mysqldb
Sau khi Apache và PHP đã được cài đặt, hãy kiểm tra xem máy chủ web có đang chạy và lắng nghe các kết nối mạng trên cổng 80 hay không bằng cách đưa ra lệnh sau với quyền root.
Mã:
netstat –tlpn
Trong trường hợp tiện ích mạng netstat không được cài đặt theo mặc định trong hệ thống Debian của bạn, hãy thực hiện lệnh sau để cài đặt tiện ích đó.
Mã:
apt install net-tools
Bằng cách kiểm tra đầu ra của lệnh netstat, bạn có thể thấy máy chủ web apache đang lắng nghe các kết nối mạng đến trên cổng 80. Đối với cùng một tác vụ, bạn cũng có thể sử dụng lệnh ss, được cài đặt tự động theo mặc định trong Debian 9.
Mã:
ss- tulpn
Trong trường hợp bạn đã bật tường lửa trong hệ thống của mình, chẳng hạn như ứng dụng tường lửa UFW, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTP đi qua tường lửa bằng cách đưa ra lệnh sau.
Mã:
ufw allow WWW
hoặc
Mã:
ufw allow 80/tcp
Nếu bạn đang sử dụng các quy tắc thô iptables để quản lý các quy tắc Tường lửa trong máy chủ Debian của mình, hãy thêm quy tắc sau để cho phép lưu lượng đến cổng 80 và 22 (cho SSH) trên tường lửa để các quản trị viên mạng khác có thể duyệt ứng dụng trực tuyến.
Mã:
apt-get install -y iptables-persistent
Mã:
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
Mã:
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
Mã:
netfilter-persistent save
Mã:
systemctl restart netfilter-persistent
Mã:
systemctl status netfilter-persistent
Mã:
systemctl enable netfilter-persistent.service
Tiếp theo, hãy bật và áp dụng các mô-đun Apache sau mà ứng dụng yêu cầu để chạy đúng cách bằng cách đưa ra các lệnh sau.
Mã:
a2enmod rewrite
Mã:
systemctl restart apache2
Cuối cùng, hãy kiểm tra xem trang web mặc định của máy chủ web Apache có thể được hiển thị trong trình duyệt của khách hàng bằng cách truy cập địa chỉ IP máy Debian hoặc tên miền hoặc FQDN của máy chủ thông qua giao thức HTTP, như được hiển thị trong hình ảnh bên dưới. Nếu bạn không biết địa chỉ IP của máy, hãy thực hiện lệnh ifconfig hoặc ip a để hiển thị địa chỉ IP của máy chủ.

http://your_domain.tld



Để cài đặt và truy cập bảng điều khiển quản trị web Observium qua giao thức HTTPS (giao thức này sẽ bảo mật lưu lượng truy cập cho máy khách của bạn), hãy đưa ra lệnh sau để bật mô-đun SSL của máy chủ web Apache và tệp cấu hình trang web SSL.
Mã:
a2enmod ssl
Mã:
a2ensite default-ssl.conf
Tiếp theo, hãy mở tệp cấu hình trang web SSL mặc định của Apache bằng trình soạn thảo văn bản và bật các quy tắc ghi đè URL bằng cách thêm các dòng mã sau sau lệnh DocumentRoot, như được hiển thị trong mẫu bên dưới:
Mã:
nano /etc/apache2/sites-enabled/default-ssl.conf
SSL trích đoạn tệp cấu hình trang web:
Mã:
 Options +FollowSymlinks
 AllowOverride All
 Require all granted
Ngoài ra, hãy thay đổi dòng VirtualHost thành như sau:
Mã:


Đóng tệp Apache SSL và mở tệp /etc/apache2/sites-enabled/000-default.conf để chỉnh sửa và thêm các quy tắc ghi đè URL giống như đối với tệp cấu hình SSL. Chèn các dòng mã sau vào sau câu lệnh DocumentRoot:
Mã:
 Options +FollowSymlinks
 AllowOverride All
 Require all granted


Cuối cùng, khởi động lại daemon Apache để áp dụng tất cả các quy tắc đã cấu hình cho đến nay và truy cập miền của bạn qua giao thức HTTP. Vì bạn đang sử dụng cặp chứng chỉ Tự ký tự động do Apache cấp khi cài đặt, chứng chỉ không được trình duyệt tin cậy, nên cảnh báo lỗi sẽ hiển thị trong trình duyệt.
Mã:
systemctl restart apache2

Chấp nhận cảnh báo để chấp nhận chứng chỉ không tin cậy và tiếp tục được chuyển hướng đến trang web mặc định của Apache, như minh họa trong hình ảnh sau.



Trong trường hợp ứng dụng tường lửa UFW chặn các kết nối mạng đến cổng HTTPS, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTPS đi qua tường lửa bằng cách phát hành lệnh sau.
Mã:
ufw allow ‘WWW Full’
hoặc
Mã:
ufw allow 443/tcp
Nếu iptables là ứng dụng tường lửa mặc định được cài đặt để bảo vệ hệ thống Debian của bạn ở cấp độ mạng, hãy thêm quy tắc sau để cho phép cổng 443 lưu lượng truy cập đến tường lửa để khách truy cập có thể duyệt tên miền của bạn.
Mã:
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
Mã:
netfilter-persistent save
Mã:
systemctl restart netfilter-persistent
Mã:
systemctl status netfilter-persistent
Trong bước tiếp theo, chúng ta cần thực hiện một số thay đổi nữa đối với tệp cấu hình mặc định của PHP để đảm bảo rằng các biến PHP sau được bật và cài đặt múi giờ của PHP được cấu hình chính xác và khớp với vị trí địa lý của hệ thống. Mở tệp /etc/php/7.0/apache2/php.ini để chỉnh sửa và đảm bảo rằng các dòng sau được thiết lập như hiển thị. Ngoài ra, trước tiên, hãy sao lưu tệp cấu hình PHP.
Mã:
cp /etc/php/7.0/apache2/php.ini{,.backup}
Mã:
nano /etc/php/7.0/apache2/php.ini
Tìm kiếm, chỉnh sửa và thay đổi các biến sau trong tệp cấu hình php.ini:
Mã:
file_uploads = On
default_charset = UTF-8
error_reporting = E_ALL & ~E_NOTICE
date.timezone = Europe/London
Thay thế biến date.timezone theo vị trí địa lý của máy chủ bằng cách tham khảo danh sách múi giờ do tài liệu PHP cung cấp tại liên kết sau http://php.net/manual/en/timezones.php

Nếu bạn muốn tăng tốc độ tải các trang web của mình thông qua plugin OPCache có sẵn cho PHP7, hãy thêm các thiết lập OPCache sau vào cuối tệp cấu hình trình thông dịch PHP, bên dưới câu lệnh [opcache], như được mô tả chi tiết bên dưới:
Mã:
nano /etc/php/7.0/apache2/php.ini
Mã:
[opcache]
opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1
opcache.revalidate_freq=1
Đóng tệp cấu hình php.ini và xác minh phần cuối của tệp cấu hình PHP để kiểm tra xem các biến OPCache đã được thêm đúng chưa bằng cách phát hành lệnh bên dưới.
Mã:
grep opcache /etc/php/7.0/apache2/php.ini
Sau khi bạn đã thực hiện tất cả các thay đổi được giải thích ở trên, hãy khởi động lại daemon apache để áp dụng các thay đổi mới bằng cách phát hành lệnh sau.
Mã:
systemctl restart apache2
Cuối cùng, hãy tạo tệp thông tin PHP bằng cách thực hiện lệnh sau và kiểm tra xem múi giờ PHP đã được định cấu hình đúng chưa bằng cách truy cập tệp tập lệnh thông tin PHP từ trình duyệt tại URL sau, như minh họa trong hình ảnh bên dưới. Cuộn xuống cài đặt ngày để kiểm tra cấu hình múi giờ PHP.
Mã:
echo ''| tee /var/www/html/info.php



Ứng dụng web Observium lưu trữ các cấu hình khác nhau, chẳng hạn như người dùng, phiên, danh bạ, thiết bị mạng, địa chỉ IP, giao diện mạng và dữ liệu khác, trong cơ sở dữ liệu RDBMS. Trong hướng dẫn này, chúng tôi sẽ cấu hình ứng dụng Observium để sử dụng cơ sở dữ liệu MariaDB làm phần phụ trợ. Phát hành lệnh sau để cài đặt cơ sở dữ liệu MariaDB và mô-đun PHP cần thiết để truy cập cơ sở dữ liệu MySQL.
Mã:
apt install mariadb-server php7.0-mysql mariadb-client
Sau khi bạn đã cài đặt MariaDB, hãy kiểm tra bằng cách chạy lệnhnetstat xem daemon có đang chạy và lắng nghe các kết nối trên localhost, cổng 3306 không.
Mã:
netstat –tlpn | grep mysql
Sau đó, hãy đăng nhập vào bảng điều khiển MySQL và bảo mật tài khoản gốc MariaDB bằng cách phát hành các lệnh sau.
Mã:
mysql -h localhost
Mã:
Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MariaDB của bạn là 2
Phiên bản máy chủ: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
 
Bản quyền (c) 2000, 2017, Oracle, MariaDB Corporation Ab và những bên khác.
 
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
 
MariaDB [(none)]> [B]sử dụng mysql;
[/b]Đọc thông tin bảng để hoàn thành tên bảng và cột
Bạn có thể tắt tính năng này để khởi động nhanh hơn với -A
 
Cơ sở dữ liệu đã thay đổi
MariaDB [mysql]> [B]update user set plugin='' where user='root';
[/b]Query OK, 1 hàng bị ảnh hưởng (0,00 giây)
Rows matches: 1 Changed: 1 Warnings: 0
 
MariaDB [mysql]> [B]flush privileges;
[/b]Query OK, 0 hàng bị ảnh hưởng (0,00 giây)
 
MariaDB [mysql]> [B]exit
[/b]Bye
Ở bước tiếp theo, hãy bảo mật MariaDB bằng cách thực thi tập lệnhmysql_secure_installationdo các gói cài đặt từ kho lưu trữ Debian stretch cung cấp. Trong khi chạy, tập lệnh sẽ hỏi một loạt các câu hỏi được thiết kế để bảo mật cơ sở dữ liệu MariaDB, chẳng hạn như: thay đổi mật khẩu gốc MySQL, xóa người dùng ẩn danh, vô hiệu hóa đăng nhập gốc từ xa và xóa cơ sở dữ liệu thử nghiệm. Thực thi tập lệnh bằng cách đưa ra lệnh sau và đảm bảo bạn nhập yes cho tất cả các câu hỏi được hỏi để bảo mật hoàn toàn daemon MySQL. Sử dụng đoạn trích đầu ra của tập lệnh sau đây làm hướng dẫn.
Mã:
mysql_secure_installation
Mã:
LƯU Ý: KHUYẾN NGHỊ CHẠY TẤT CẢ CÁC PHẦN CỦA Script này CHO TẤT CẢ CÁCMÁY CHỦ MariaDB ĐANG SỬ DỤNG TRONG SẢN XUẤT! VUI LÒNG ĐỌC KỸ TỪNG BƯỚC!Để đăng nhập vào MariaDB để bảo mật, chúng ta sẽ cần mật khẩu hiện tạicho người dùng root. Nếu bạn vừa cài đặt MariaDB vàchưa đặt mật khẩu root, mật khẩu sẽ để trống,vì vậy bạn chỉ cần nhấn enter ở đây.Nhập mật khẩu hiện tại cho root (nhập nếu không có):OK, mật khẩu đã sử dụng thành công, tiếp tục...Đặt mật khẩu root đảm bảo rằng không ai có thể đăng nhập vào người dùng rootcủa MariaDB nếu không có quyền thích hợp.Bạn đã đặt mật khẩu root, vì vậy bạn có thể trả lời 'n' một cách an toàn.Thay đổi mật khẩu root? [Y/n] yMật khẩu mới:Nhập lại mật khẩu mới:Đã cập nhật mật khẩu thành công!Đang tải lại bảng đặc quyền..... Thành công!Theo mặc định, cài đặt MariaDB có một người dùng ẩn danh, cho phép bất kỳ aiđăng nhập vào MariaDB mà không cần phải tạo tài khoản người dùng chohọ. Điều này chỉ nhằm mục đích thử nghiệm và để quá trình cài đặtdiễn ra suôn sẻ hơn một chút. Bạn nên xóa những người dùng này trước khi chuyển sangmôi trường sản xuất.Xóa người dùng ẩn danh? [Y/n] y... Thành công!Thông thường, root chỉ được phép kết nối từ 'localhost'. Điều nàyđảm bảo rằng không ai có thể đoán được mật khẩu root từ mạng.Không cho phép root đăng nhập từ xa? [Y/n] y... Thành công!Theo mặc định, MariaDB đi kèm với một cơ sở dữ liệu có tên là 'test' mà bất kỳ ai cũng có thểtruy cập. Điều này cũng chỉ nhằm mục đích thử nghiệm và nên xóatrước khi chuyển sang môi trường sản xuất.Xóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] y- Đang xóa cơ sở dữ liệu thử nghiệm...... Thành công!- Xóa các đặc quyền trên cơ sở dữ liệu thử nghiệm...... Thành công!Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi đã thực hiện cho đến naysẽ có hiệu lực ngay lập tức.Tải lại các bảng đặc quyền ngay bây giờ? [Y/n] y... Thành công!Đang dọn dẹp...Xong! Nếu bạn đã hoàn tất tất cả các bước trên, thì cài đặt MariaDBcủa bạn hiện đã an toàn.Cảm ơn bạn đã sử dụng MariaDB!
Để kiểm tra tính bảo mật của MariaDB, hãy thử đăng nhập vào cơ sở dữ liệu từ bảng điều khiển mà không có mật khẩu gốc. Quyền truy cập vào cơ sở dữ liệu sẽ bị từ chối nếu không cung cấp mật khẩu cho tài khoản gốc, như minh họa trong đoạn trích lệnh bên dưới:
Mã:
mysql -h localhost -u root
Mã:
[I]LỖI 1045 (28000): Quyền truy cập bị từ chối đối với người dùng 'root'@'localhost' (sử dụng mật khẩu: KHÔNG)[/I]
Nếu mật khẩu được cung cấp, quy trình đăng nhập sẽ được cấp cho bảng điều khiển MySQL, như minh họa trong lệnh sau:
Mã:
mysql -h localhost -u root -p
Mã:
Nhập mật khẩu:
Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MariaDB của bạn là 15
Phiên bản máy chủ: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Bản quyền (c) 2000, 2017, Oracle, MariaDB Corporation Ab và những bên khác.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
MariaDB [(none)]> [B]thoát[/b]
Tạm biệt
Tiếp theo, hãy đăng nhập vào bảng điều khiển cơ sở dữ liệu MariaDB và tạo bằng cách đưa ra các lệnh sau một cơ sở dữ liệu cho ứng dụng Observium và một người dùng có mật khẩu sẽ được sử dụng để quản lý cơ sở dữ liệu ứng dụng. Thay thế tên cơ sở dữ liệu, người dùng và mật khẩu cho phù hợp.
Mã:
mysql –u root -p
Mã:
Chào mừng đến với màn hình MariaDB. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MariaDB của bạn là 2
Phiên bản máy chủ: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
 
Bản quyền (c) 2000, 2017, Oracle, MariaDB Corporation Ab và những bên khác.
 
Nhập 'help;' hoặc '\h' để được trợ giúp. Gõ '\c' để xóa câu lệnh nhập hiện tại.
 
MariaDB [(none)]>[B] create database observium_db;
[/b]Query OK, 1 hàng bị ảnh hưởng (0,00 giây)
[B] 
[/b]MariaDB [(none)]>[B] cấp tất cả các đặc quyền trên observium_db.* cho 'observium_user'@'localhost' được xác định bởi 'password1234';
[/b]Query OK, 0 hàng bị ảnh hưởng (0,00 giây)
[B] 
[/b]MariaDB [(none)]>[B] flush privileges;
[/b]Query OK, 0 hàng bị ảnh hưởng (0,00 giây)

MariaDB [(none)]>[B] exit
[/b]Bye
Để áp dụng tất cả các thay đổi đã thực hiện cho đến nay, hãy khởi động lại daemon MySQL và Apache và xác minh nếu daemon đang chạy bằng cách phát hành các lệnh sau.
Mã:
systemctl restart mysql apache2
Mã:
systemctl status mysql apache2

Cài đặt Observium Network Monitoring Platform​

Sau khi đáp ứng tất cả các yêu cầu hệ thống để cài đặt ứng dụng, hãy truy cập trang web chính thức của Observium tại www.observium.org và tải xuống tệp nén gzip mới nhất bằng cách phát hành lệnh sau.
Mã:
wget http://www.observium.org/observium-community-latest.tar.gz
Sau khi quá trình tải xuống kho lưu trữ gzip hoàn tất, hãy giải nén tệp lưu trữ Observium vào thư mục làm việc hiện tại của bạn và liệt kê các tệp đã giải nén bằng cách sử dụng các lệnh sau. Ngoài ra, hãy xóa tệp index.html mặc định được máy chủ web Apache cài đặt vào đường dẫn gốc web và cũng xóa tệp info.php đã tạo trước đó.
Mã:
tar xfz observium-community-latest.tar.gz[B] [/b]
Mã:
ls
Mã:
rm /var/www/html/index.html
Mã:
rm /var/www/html/info.php
Các tệp cài đặt của Observium nằm trong thư mục làm việc hiện tại của bạn trong thư mụcobservium/. Sử dụng lệnh ls để liệt kê các tệp thư mục này. Sao chép toàn bộ nội dung của thư mục đã giải nén vào đường dẫn gốc tài liệu máy chủ web của bạn ở cấp cao hơn một bậc (/var/www/ thư mục) bằng cách phát hành các lệnh sau. Ngoài ra, hãy đảm bảo rằng bạn sao chép các tệp ẩn vào thư mục cài đặt và tạo các thư mục logsrrd tại vị trí này.
Mã:
cp -rf observium/* /var/www/
Mã:
cp observium/.scrutinizer.yml /var/www/
Mã:
mkdir /var/www/logs
Mã:
mkdir /var/www/rrd
Mã:
ls -al /var/www/
Tiếp theo, thực hiện các lệnh sau để cấp cho người dùng Apache runtime toàn quyền ghi vào đường dẫn gốc web và các thư mục rrdlogs của ứng dụng. Sử dụng lệnh ls để liệt kê các quyền cho các tệp đã cài đặt của ứng dụng, nằm trong các thư mục /var/www/html/ và rrd và logs.
Mã:
chown -R www-data:www-data /var/www/rrd/
Mã:
chown -R www-data:www-data /var/www/logs/
Mã:
chown -R www-data:www-data /var/www/html/
Mã:
ls -al /var/www/html/
Trong bước tiếp theo, tạo tệp cấu hình ứng dụng mới dựa trên tệp cấu hình mẫu mặc định của Observium bằng cách đưa ra các lệnh sau.
Mã:
cd /var/www/
Mã:
cp config.php.default config.php
Tiếp theo, bắt đầu chỉnh sửa tệp cấu hình Observium và thay thế các biến kết nối MySQL sau cho phù hợp.
Mã:
nano /var/www/ config.php
Trên đầu tệp config.php, hãy tìm kiếm và cập nhật tên cơ sở dữ liệu MySQL và thông tin đăng nhập theo cài đặt của riêng bạn, như được hiển thị trong đoạn trích tệp sau:
Mã:
$config['db_extension'] = 'mysqli';
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium_user';
$config['db_pass'] = 'password1234';
$config['db_name'] = 'observium_db';


Tiếp theo, lưu và đóng tệp config.php và nhập lược đồ cơ sở dữ liệu Observium MySQL bằng cách thực thi tập lệnh discover.php với cờ –u như được hiển thị trong ảnh chụp màn hình sau. Tập lệnh PHP nằm trong thư mục /var/www/.
Mã:
/var/www/discovery.php –u


Tiếp theo, thêm tài khoản quản trị Observium đầu tiên có mức đặc quyền cao nhất (10) bằng cách thực thi tập lệnh adduser.php nằm trong thư mục /var/www/. Chọn mật khẩu mạnh cho tài khoản quản trị Observium.
Mã:
/var/www/adduser.php observium_admin strongpass123 10
Để đăng nhập vào bảng điều khiển quản trị web Observium, hãy mở trình duyệt và điều hướng đến địa chỉ IP hoặc tên miền hoặc FQDN của máy chủ thông qua giao thức HTTPS. Đăng nhập vào bảng điều khiển Observium bằng tên người dùng và mật khẩu được cấu hình cho tài khoản quản trị viên ở bước trên.




Sau khi đăng nhập vào ứng dụng bằng thông tin đăng nhập của quản trị viên, bạn tiếp tục điều chỉnh cài đặt ứng dụng bằng cách điều hướng đến URL /settings/ hoặc nhấp vào menu Global Settings -> Edit, như minh họa trong ảnh chụp màn hình sau. Các tham số Observium được cấu hình qua giao diện web cũng có thể được mã hóa cứng vào tệp cấu hình ứng dụng: /var/www/config.php



Để giám sát thiết bị mạng qua giao thức SNMP, hãy nhấp vào menu trên cùng bên trái và chọn Add Device từ menu thả xuống, như minh họa trong hình ảnh bên dưới. Bạn cũng có thể thêm thiết bị mới thông qua dòng lệnh.
Mã:
/var/www/add_device.php hostname_or_IP SNMP_community_string v2c


Cuối cùng, để buộc khách truy cập duyệt giao diện Observium một cách an toàn thông qua giao thức HTTPS mã hóa lưu lượng giữa trình duyệt máy chủ và máy khách, hãy quay lại thiết bị đầu cuối của máy chủ và chỉnh sửa tệp .htaccess nằm trong đường dẫn gốc của tài liệu trang web của bạn bằng cách đưa ra lệnh bên dưới.
Mã:
nano /var/www/html/.htaccess
Thêm các quy tắc sau vào tệp .htaccess sau dòng RewriteEngine on để tự động chuyển hướng lưu lượng truy cập miền sang HTTPS.

Trích đoạn tệp .htaccess:
Mã:
# Chuyển hướng đến HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
Bạn cũng có thể tắt danh sách tài liệu web của máy chủ Apache HTTP bằng cách thêm dòng sau sau dòng chuyển hướng đến HTTPS:
Mã:
[B][I]Options -Indexes[/I][/b]
Ở cuối tệp, bạn có thể thay đổi cài đặt máy chủ PHP gốc bằng các ví dụ cấu hình sau. Sửa đổi cài đặt PHP để phù hợp với tài nguyên và cấu hình máy chủ của riêng bạn.
Mã:
# Sửa đổi cài đặt PHP
php_value session.use_trans_sid 0
php_value register_globals 1


Để ứng dụng tự động khám phá và thêm các thiết bị mạng mới vào cơ sở dữ liệu và kiểm tra cũng như cập nhật trạng thái của chúng sau mỗi năm phút, hãy thêm các tác vụ crontab sau để thực thi theo quyền của người dùng thời gian chạy Apache:
Mã:
crontab –u www-data –e
trích đoạn tệp crontab:
Mã:
# Chạy khám phá hoàn chỉnh tất cả các thiết bị sau mỗi 6 giờ
33 */6 * * * /var/www/discovery.php -h all >> /dev/null 2>&1
 
# Chạy tự động khám phá các thiết bị mới được thêm vào sau mỗi 5 phút
*/5 * * * * /var/www/discovery.php -h new >> /dev/null 2>&1
 
# Chạy trình bao bọc poller đa luồng sau mỗi 5 phút
*/5 * * * * /var/www/poller-wrapper.py 4 >> /dev/null 2>&1
Vậy là xong! Bạn đã cài đặt và định cấu hình thành công ứng dụng giám sát mạng Observium trong Debian 9. Tuy nhiên, vì máy chủ Apache HTTP sử dụng chứng chỉ Tự ký để mã hóa lưu lượng giữa máy chủ và trình duyệt của khách truy cập, nên một thông báo cảnh báo sẽ luôn được tạo và hiển thị trong trình duyệt của khách truy cập. Cảnh báo này có thể gây khó chịu cho những người quản trị mạng truy cập ứng dụng web thông qua trình duyệt hoặc địa chỉ IP mới. Trong trường hợp này, bạn nên mua chứng chỉ do một Cơ quan cấp chứng chỉ đáng tin cậy cấp hoặc nhận một cặp chứng chỉ miễn phí từ Let’s Encrypt CA.

Để biết các cấu hình tùy chỉnh khác liên quan đến ứng dụng Observium, hãy truy cập trang tài liệu theo địa chỉ sau: http://docs.observium.org/
 
Back
Bên trên