Cách cài đặt giải pháp giám sát Sensu trên Rocky Linux 9

theanh

Administrator
Nhân viên
Sensu là một hệ thống giám sát ứng dụng và cơ sở hạ tầng nguồn mở được thiết kế cho mục đích giám sát container và không phải container cũng như cơ sở hạ tầng đa đám mây.

Sensu là một giải pháp giám sát có khả năng mở rộng, an toàn và tích hợp cho công nghệ và cơ sở hạ tầng máy chủ của bạn. Nó có thể được sử dụng để giám sát máy chủ, tình trạng ứng dụng và dịch vụ, đồng thời gửi thông báo cảnh báo đến nhiều mục tiêu với sự tích hợp của bên thứ ba.

Trong hướng dẫn này, bạn sẽ cài đặt Giải pháp giám sát Sensu trên máy chủ Rocky Linux 9. Ngoài ra, bạn cũng sẽ cài đặt và thiết lập Sensuctl cho phép bạn quản lý Sensu thông qua thiết bị đầu cuối dòng lệnh.

Cho đến hết hướng dẫn này, bạn cũng sẽ cài đặt Sensu Agent trên các bản phân phối dựa trên RHEL và các bản phân phối dựa trên Debian. Sau đó, bạn sẽ thiết lập kiểm tra để giám sát máy chủ thông qua Sensu Agent.

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

Để làm theo hướng dẫn này, bạn sẽ cần các yêu cầu sau:
  • Máy chủ Linux có Rocky Linux 9.
  • Người dùng không phải root có quyền quản trị viên sudo/root.
  • SELinux đang chạy ở chế độ cho phép.
Đối với máy chủ giám sát mục tiêu, ví dụ này sử dụng máy chủ Rocky Linux và Debian. Dưới đây là các máy chủ chi tiết sẽ được sử dụng để trình diễn:
Mã:
Host IP Address Used as
-----------------------------------------------
sensu-rock 192.168.5.45 Sensu Go Backend
RPM-OS 192.168.5.80 Sensu Go Agent
DEB-OS 192.168.5.85 Sensu Go Agent
Vậy là xong. Bạn đã sẵn sàng để bắt đầu cài đặt Sensu.

Thiết lập kho lưu trữ​

Điều đầu tiên bạn sẽ làm là kích hoạt kho lưu trữ CRB (Code Ready Builder), thêm kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux), sau đó bạn sẽ thêm kho lưu trữ Sensu thông qua packagecloud.io.

Trên Rocky Linux 9, kho lưu trữ crb tương đương với PowerTools có sẵn trên CentOS. Chạy lệnh dnf sau để kích hoạt kho lưu trữ crb và cài đặt kho lưu trữ EPEL.
Mã:
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22691%22%20height=%22251%22%3E%3C/svg%3E


Sau khi crb được bật và kho lưu trữ EPEL được cài đặt, hãy chạy lệnh sau để thêm kho lưu trữ Sensu vào máy chủ Rocky Linux của bạn. Thao tác này sẽ tự động thiết lập kho lưu trữ Sensu trên hệ thống của bạn và bạn sẽ sử dụng kho lưu trữ Sensu từ nhánh ổn định.
Mã:
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.rpm.sh | sudo bash

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22120%22%3E%3C/svg%3E


Xác minh danh sách các kho lưu trữ đã bật trên hệ thống của bạn bằng cách nhập lệnh dnf bên dưới. Bạn sẽ nhận được thông báo rằng các kho lưu trữ crb, epel và sensu_stable đã được thêm vào hệ thống Rocky Linux của bạn.
Mã:
sudo dnf repolist

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22162%22%3E%3C/svg%3E


Bây giờ bạn đã thêm các kho lưu trữ cần thiết, bạn đã sẵn sàng để bắt đầu cài đặt Sensu.

Cài đặt Sensu Go Backend​

Sensu là giải pháp hoàn chỉnh để giám sát ở quy mô lớn, có thể được sử dụng để giám sát các máy chủ truyền thống, container, ứng dụng và/hoặc ứng dụng đám mây. Trước khi cài đặt Sensu, bạn phải biết rằng có ba thành phần trên Sensu, dưới đây là danh sách:
  • Sensu Backend - thành phần chính của Sensu được hỗ trợ bởi kho dữ liệu etcd và transport nhúng. Sensu Backend đã đưa ra WebSocket sẽ được sử dụng để giao tiếp với Sensu Agent, API HTTP sẽ được sử dụng để giao tiếp với sensuctl. Ngoài ra, nó cung cấp bảng điều khiển giao diện người dùng web mà bạn có thể truy cập qua trình duyệt.
  • Sensu Agent - đây là một máy khách nhẹ sẽ được cài đặt và chạy trên các máy chủ mục tiêu. Một tác nhân sẽ tạo trạng thái và số liệu trên máy chủ đích và gửi kết quả đến Sensu Backend qua WebSocket.
  • Sensu Workstation - đây là máy tính cục bộ mà bạn có thể cài đặt Sensuctl hoặc bạn có thể truy cập Sensu Dashboard từ trình duyệt của mình.
Trong phần này, bạn sẽ cài đặt và cấu hình Sensu Backend trên máy chủ Rocky Linux.

Nhập lệnh dnf sau để cài đặt gói 'sensu-go-backend' vào hệ thống của bạn. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install sensu-go-backend

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22152%22%3E%3C/svg%3E


Sau khi cài đặt Sensu Backend, hãy tải xuống cấu hình mẫu của Sensu Backend vào '/etc/sensu/backend.yml' thông qua curl. Sau đó, mở tệp đã tải xuống bằng lệnh nano editor sau.
Mã:
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
sudo nano /etc/sensu/backend.yml
Bỏ chú thích các dòng sau.
Mã:
cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"

log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"
Lưu và đóng tệp '/etc/sensu/backend.yml' khi hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22144%22%3E%3C/svg%3E


Tiếp theo, hãy chạy tiện ích lệnh systemctl sau để khởi động và kích hoạt dịch vụ 'sensu-backend'. Với lệnh này, Sensu Backend sẽ chạy và tự động khởi động khi hệ thống khởi động.
Mã:
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22164%22%3E%3C/svg%3E


Chạy lệnh systemctl sau để xác minh dịch vụ 'sensu-backend' và đảm bảo rằng dịch vụ đang chạy và đã bật.
Mã:
sudo systemctl is-enabled sensu-backend
sudo systemctl status sensu-backend
Đầu ra 'đã bật' xác nhận rằng Sensu Backend sẽ tự động khởi động khi hệ thống khởi động. Và đầu ra 'active (running)' xác nhận rằng Sensu Backend hiện đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22253%22%3E%3C/svg%3E


Bây giờ bạn đã cài đặt Sensu Backend, nó đang chạy và được bật. Tiếp theo, bạn sẽ khởi tạo người dùng quản trị Sensu và xác minh cài đặt.

Cấu hình Sensu Go Backend​

Trong phần này, bạn sẽ khởi tạo tên người dùng và mật khẩu quản trị viên cho Sensu Backend, xác minh cài đặt thông qua curl và trình duyệt web và mở một số cổng thông qua firewalld.

Chạy lệnh sau để thiết lập các biến môi trường 'SENSU_BACKEND_CLUSTER_ADMIN_USERNAME' và 'SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD'. Hãy nhớ thay đổi giá trị bằng tên người dùng và mật khẩu của bạn.
Mã:
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks
Bây giờ hãy chạy lệnh 'sensu-backend init' sau để khởi tạo cài đặt Sensu của bạn. Với thao tác này, người dùng quản trị Sensu backend của bạn đã được tạo.
Mã:
sensu-backend init

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22176%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh sau để cài đặt gói 'jq' để phân tích cú pháp đầu ra thành json. Sau đó, chạy lệnh curl để xác minh trạng thái Sensu Backend. API HTTP của Sensu backend đang chạy trên cổng mặc định 8080.
Mã:
sudo dnf install jq
curl -s http://127.0.0.1:8080/health | jq .
Đầu ra 'Healthy: true' xác nhận rằng Sensu Backend đang chạy mà không có lỗi.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22620%22%20height=%22395%22%3E%3C/svg%3E


Trước khi truy cập bảng điều khiển Sensu, bạn phải mở các cổng trên firewalld.

Nhập lệnh firewall-cmd sau để thêm một số cổng cho Sensu Backend. Sau đó, tải lại firewalld để áp dụng các thay đổi.
Mã:
sudo firewall-cmd --add-port={2379/tcp,2380/tcp,3000/tcp,6060/tcp,8080/tcp,8081/tcp} --permanent
sudo firewall-cmd --reload
Xác minh danh sách các cổng mở trên firewalld thông qua lệnh sau.
Mã:
sudo firewall-cmd --list-all

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22284%22%3E%3C/svg%3E


Bây giờ hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ theo sau là cổng 3000 (ví dụ: http://192.168.5.45:3000/). Bạn sẽ nhận được trang đăng nhập của Sensu.

Đăng nhập bằng tên người dùng và mật khẩu của bạn, sau đó nhấp vào 'ĐĂNG NHẬP'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22561%22%20height=%22585%22%3E%3C/svg%3E


Khi thành công, bạn sẽ nhận được bảng điều khiển quản trị Sensu.





Với điều này, bây giờ bạn đã cài đặt Sensu Backend, cấu hình người dùng và mật khẩu quản trị viên, và cũng đã đăng nhập thành công vào bảng điều khiển Sensu từ trình duyệt. Trong bước tiếp theo, bạn sẽ cài đặt Sensuctl, sau đó kết nối với Sensu Backend qua Sensuctl.

Cài đặt dòng lệnh Sensuctl​

Chạy lệnh dnf sau để cài đặt lệnh Sensuctl. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install sensu-go-cli

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22149%22%3E%3C/svg%3E


Sau khi Sensuctl được cài đặt, hãy chạy lệnh sau để xác minh đường dẫn nhị phân và phiên bản của Sensuctl.
Mã:
which sensuctl
sensuctl --version
Đường dẫn nhị phân của Sensuctl có tại '/bin/sensuctl' và phiên bản đã cài đặt là v6.9.1.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22614%22%20height=%22147%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh sau Lệnh 'sensuctl' để cấu hình kết nối đến máy chủ Sensu Backend của bạn.
Mã:
sensuctl configure
Bây giờ bạn sẽ được hỏi về một số cấu hình:
  • Phương pháp xác thực? tên người dùng/mật khẩu
  • URL API Sensu Backend? API Sensu đang chạy theo mặc định trên http://127.0.0.1:8080
  • Không gian tên? mặc định
  • Định dạng đầu ra ưa thích? Chọn định dạng đầu ra mà bạn muốn - ví dụ này là json.
  • Tên người dùng? Người dùng quản trị cho sensu
  • Mật khẩu? mật khẩu cho người dùng quản trị sensu

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22484%22%20height=%22196%22%3E%3C/svg%3E


Khi hoàn tất, hãy chạy lệnh bên dưới để xác minh kết nối chi tiết.
Mã:
sensuctl config view
Bạn sẽ nhận được đầu ra tương tự như thế này - Sensuctl được kết nối với Sensu Backend thông qua API HTTP chạy theo mặc định trên 'http://127.0.0.1:8080'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22459%22%20height=%22243%22%3E%3C/svg%3E


Sau khi cấu hình Sensuctl, bây giờ bạn sẽ bật tính năng tự động hoàn thành cho dòng lệnh Sensuctl.

Chạy lệnh dnf sau để cài đặt 'bash-completion' gói.
Mã:
sudo dnf install bash-completion -y
Khi 'bash-completion' được cài đặt, hãy mở tệp '~/.bashrc' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano ~/.bashrc
Thêm các dòng sau vào tệp. Thao tác này sẽ kích hoạt 'bash-completion' cho người dùng root.
Mã:
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

source
 
Back
Bên trên