Sensu là hệ thống giám sát ứng dụng và cơ sở hạ tầng nguồn mở được thiết kế cho cả giám sát container và không phải container và cơ sở hạ tầng đa đám mây.
Sensu là 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. Giải pháp này 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 tích hợp của bên thứ ba.
Trong hướng dẫn này, bạn sẽ thiết lập Giải pháp giám sát Sensu trên máy chủ Ubuntu 22.04. Bạn cũng sẽ cài đặt và cấu hình Sensu-go-client sẽ được sử dụng để quản lý Sensu. Và cuối cùng, bạn sẽ cài đặt Sensu Agent trên máy chủ đích để giám sát và thiết lập các kiểm tra Sensu cho mục đích giám sát hệ thống cơ bản.
Bây giờ chúng ta hãy chuyển sang phần cài đặt.
Đối với bước đầu tiên này, bạn sẽ thiết lập kho lưu trữ Sensu trên cả máy chủ Sensu và hệ thống giám sát mục tiêu.
Để bắt đầu, hãy chạy lệnh apt bên dưới để cập nhật chỉ mục gói và cài đặt một số gói cơ bản vào hệ thống.
Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22284%22%3E%3C/svg%3E
Tiếp theo, hãy chạy lệnh bên dưới để thêm kho lưu trữ ổn định Sensu vào hệ thống của bạn. Thao tác này sẽ tải xuống tập lệnh bash tự động thiết lập và cấu hình kho lưu trữ Sensu cho hệ thống Ubuntu của bạn.
Bạn sẽ nhận được kết quả tương tự như thế này.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22246%22%3E%3C/svg%3E
Sau khi kho lưu trữ sensu được thêm vào, giờ đây bạn đã sẵn sàng để khởi động Sensu Cài đặt Go trên Sensu Server và Sensu Agent trên Target Monitoring.
Trước khi bắt đầu, hãy đảm bảo rằng bạn chạy tất cả các lệnh sau trên Sensu Server. Trong ví dụ này là tên máy chủ 'sensugo-server'.
Để bắt đầu, hãy chạy lệnh apt bên dưới để cài đặt Sensu Go backend.
Bây giờ quá trình cài đặt sẽ bắt đầu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22192%22%3E%3C/svg%3E
Sau khi Sensu Go Backend được đã cài đặt, tải xuống cấu hình mẫu thông qua lệnh wget bên dưới vào '/etc/sensu/backend.yml'. Sau đó, mở tệp bằng lệnh trình chỉnh sửa nano.
Bỏ chú thích các dòng sau trong tệp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.
Tiếp theo, chạy tiện ích lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ Sensu Go Backend 'sensu-backend'.
'sensu-backend' hiện đã có thể chạy và được kích hoạt. Ngoài ra, dịch vụ sẽ tự động chạy khi khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22179%22%3E%3C/svg%3E
Xác minh trạng thái dịch vụ 'sensu-backend' thông qua lệnh systemctl sau.
Bạn sẽ nhận được đầu ra tương tự như thế này - Dịch vụ 'sensu-backend' đã được bật và hiện đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22249%22%3E%3C/svg%3E
Khi Sensu Go Backend đang chạy, tiếp theo bạn sẽ khởi tạo Sensu Go Backend bằng cách thiết lập mật khẩu quản trị viên và tạo một số cấu hình.
Để khởi tạo cài đặt Sensu Go Backend, hãy chạy lệnh bên dưới để tạo các biến môi trường mới sẽ được sử dụng để thiết lập người dùng và mật khẩu quản trị viên Sensu.
Ví dụ này sẽ sử dụng 'sensuadmin' làm người dùng và 'sensupassword' làm mật khẩu. Vì vậy, hãy đảm bảo thay đổi người dùng và mật khẩu quản trị viên.
Bây giờ hãy chạy lệnh 'sensu-backend' sau để khởi tạo cài đặt Sensu Go Backend.
Bạn sẽ nhận được kết quả tương tự như sau - Sensu Go Backend hiện đã được khởi tạo và đang chạy trên cổng mặc định '3000'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22182%22%3E%3C/svg%3E
Bây giờ hãy mở trình duyệt web và truy cập địa chỉ IP của máy chủ theo sau là cổng TCP 3000 (ví dụ: http://192.168.5.100:3000). Và bạn sẽ nhận được trang đăng nhập Sensu.
Đăng nhập bằng tên người dùng và mật khẩu trong quá trình khởi tạo và nhấp vào 'ĐĂNG NHẬP'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22534%22%20height=%22591%22%3E%3C/svg%3E
Sau khi đăng nhập, bạn sẽ thấy bảng điều khiển quản trị Sensu. Bây giờ bạn đã hoàn tất cài đặt Sensu Go Backend.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22628%22%3E%3C/svg%3E
Ngoài ra, bạn cũng có thể xác minh trạng thái hoạt động của máy chủ Sensu Go Backend thông qua Sensu API.
Cài đặt tiện ích gói 'jq' vào hệ thống của bạn thông qua lệnh apt bên dưới.
Bây giờ hãy chạy lệnh curl bên dưới để truy cập Sensu Server API chạy trên cổng mặc định '8080'. Lệnh này sẽ kiểm tra trạng thái hoạt động của máy chủ Sensu, sau đó đầu ra sẽ được định dạng dưới dạng json, giúp đầu ra có thể đọc được.
Đầu ra - Trong đầu ra sau, 'Khỏe mạnh: đúng' và không có lỗi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22657%22%20height=%22429%22%3E%3C/svg%3E
Cách 'sensuctl' hoạt động là giao tiếp với Sensu Server thông qua API để tạo, đọc, cập nhật và xóa tài nguyên, sự kiện và thực thể trên Sensu Server.
Chạy lệnh apt bên dưới để cài đặt Sensu Go Client. Quá trình cài đặt bây giờ sẽ bắt đầu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22738%22%20height=%22263%22%3E%3C/svg%3E
Sau khi cài đặt 'sensu-go-cli', hãy mở tệp '~/.bashrc' bằng trình chỉnh sửa nano bên dưới lệnh.
Thêm các dòng sau vào cuối dòng. Cấu hình này sẽ kích hoạt tính năng tự động hoàn thành cho lệnh 'sensuctl'.
Sensu là 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. Giải pháp này 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 tích hợp của bên thứ ba.
Trong hướng dẫn này, bạn sẽ thiết lập Giải pháp giám sát Sensu trên máy chủ Ubuntu 22.04. Bạn cũng sẽ cài đặt và cấu hình Sensu-go-client sẽ được sử dụng để quản lý Sensu. Và cuối cùng, bạn sẽ cài đặt Sensu Agent trên máy chủ đích để giám sát và thiết lập các kiểm tra Sensu cho mục đích giám sát hệ thống cơ bản.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn sẽ cần các yêu cầu sau:- Hai máy chủ Ubuntu 22.04 - Máy chủ đầu tiên sẽ được sử dụng để cài đặt Sensu Monitoring Solution và máy chủ thứ hai là máy chủ đích để giám sát.
- Người dùng không phải root có quyền quản trị viên sudo/root.
Mã:
Hostname IP Address Used as
--------------------------------------------------
sensugo-server 192.168.5.100 Sensu Server
machine1 192.168.5.120 Target Monitoring
Thêm kho lưu trữ Sensu
Sensu là giải pháp giám sát an toàn và có thể mở rộng, có thể cài đặt trên nhiều hệ điều hành như Linux, macOS, Windows và FreeBSD. Sensu cung cấp kho lưu trữ riêng, đặc biệt dành cho bản phân phối dựa trên RHEL và Debian. Các gói sensu được phân phối thông qua kho lưu trữ packagecloud.io.Đối với bước đầu tiên này, bạn sẽ thiết lập kho lưu trữ Sensu trên cả máy chủ Sensu và hệ thống giám sát mục tiêu.
Để bắt đầu, hãy chạy lệnh apt bên dưới để cập nhật chỉ mục gói và cài đặt một số gói cơ bản vào hệ thống.
Mã:
sudo apt update
sudo apt install wget curl gnupg2 apt-transport-https
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22284%22%3E%3C/svg%3E
Tiếp theo, hãy chạy lệnh bên dưới để thêm kho lưu trữ ổn định Sensu vào hệ thống của bạn. Thao tác này sẽ tải xuống tập lệnh bash tự động thiết lập và cấu hình kho lưu trữ Sensu cho hệ thống Ubuntu của bạn.
Mã:
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22246%22%3E%3C/svg%3E
Sau khi kho lưu trữ sensu được thêm vào, giờ đây bạn đã sẵn sàng để khởi động Sensu Cài đặt Go trên Sensu Server và Sensu Agent trên Target Monitoring.
Cài đặt và cấu hình Sensu Go Backend
Sensu Go Backend là thành phần chính của Sensu Monitoring Platform. Nó cung cấp bảng điều khiển quản trị web và HTTP API cho phép bạn quản lý Sensu thông qua dòng lệnh và cũng cung cấp WebSockets sẽ được sử dụng để các máy/agent đích kết nối.Trước khi bắt đầu, hãy đảm bảo rằng bạn chạy tất cả các lệnh sau trên Sensu Server. Trong ví dụ này là tên máy chủ 'sensugo-server'.
Để bắt đầu, hãy chạy lệnh apt bên dưới để cài đặt Sensu Go backend.
Mã:
sudo apt install sensu-go-backend
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22192%22%3E%3C/svg%3E
Sau khi Sensu Go Backend được đã cài đặt, tải xuống cấu hình mẫu thông qua lệnh wget bên dưới vào '/etc/sensu/backend.yml'. Sau đó, mở tệp bằng lệnh trình chỉnh sửa nano.
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
Mã:
cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"
log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.
Tiếp theo, chạy tiện ích lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ Sensu Go Backend 'sensu-backend'.
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=%22179%22%3E%3C/svg%3E
Xác minh trạng thái dịch vụ 'sensu-backend' thông qua lệnh systemctl sau.
Mã:
sudo systemctl is-enabled sensu-backend
sudo systemctl status sensu-backend
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22249%22%3E%3C/svg%3E
Khi Sensu Go Backend đang chạy, tiếp theo bạn sẽ khởi tạo Sensu Go Backend bằng cách thiết lập mật khẩu quản trị viên và tạo một số cấu hình.
Để khởi tạo cài đặt Sensu Go Backend, hãy chạy lệnh bên dưới để tạo các biến môi trường mới sẽ được sử dụng để thiết lập người dùng và mật khẩu quản trị viên Sensu.
Ví dụ này sẽ sử dụng 'sensuadmin' làm người dùng và 'sensupassword' làm mật khẩu. Vì vậy, hãy đảm bảo thay đổi người dùng và mật khẩu quản trị viên.
Mã:
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=sensuadmin
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=sensupassword
Mã:
sensu-backend init
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22182%22%3E%3C/svg%3E
Bây giờ hãy mở trình duyệt web và truy cập địa chỉ IP của máy chủ theo sau là cổng TCP 3000 (ví dụ: http://192.168.5.100:3000). Và bạn sẽ nhận được trang đăng nhập Sensu.
Đăng nhập bằng tên người dùng và mật khẩu trong quá trình khởi tạo và nhấp vào 'ĐĂNG NHẬP'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22534%22%20height=%22591%22%3E%3C/svg%3E
Sau khi đăng nhập, bạn sẽ thấy bảng điều khiển quản trị Sensu. Bây giờ bạn đã hoàn tất cài đặt Sensu Go Backend.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22628%22%3E%3C/svg%3E
Ngoài ra, bạn cũng có thể xác minh trạng thái hoạt động của máy chủ Sensu Go Backend thông qua Sensu API.
Cài đặt tiện ích gói 'jq' vào hệ thống của bạn thông qua lệnh apt bên dưới.
Mã:
sudo apt install jq -y
Mã:
curl -s http://127.0.0.1:8080/health | jq .
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22657%22%20height=%22429%22%3E%3C/svg%3E
Cài đặt và cấu hình sensuctl
Sau khi cài đặt và cấu hình Sensu Go Backend, bạn sẽ cài đặt Sensu Go Client trên Sensu Server. Sensu Go Client cung cấp tiện ích dòng lệnh 'sensuctl' cho phép bạn quản lý Sensu thông qua máy chủ đầu cuối.Cách 'sensuctl' hoạt động là giao tiếp với Sensu Server thông qua API để tạo, đọc, cập nhật và xóa tài nguyên, sự kiện và thực thể trên Sensu Server.
Chạy lệnh apt bên dưới để cài đặt Sensu Go Client. Quá trình cài đặt bây giờ sẽ bắt đầu.
Mã:
sudo apt install sensu-go-cli
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22738%22%20height=%22263%22%3E%3C/svg%3E
Sau khi cài đặt 'sensu-go-cli', hãy mở tệp '~/.bashrc' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
nano ~/.bashrc
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