Sensu là một công cụ mã nguồn mở và miễn phí được sử dụng để giám sát cơ sở hạ tầng và tình trạng ứng dụng. Nó được viết bằng Ruby, sử dụng RabbitMQ để xử lý tin nhắn và Redis để lưu trữ dữ liệu. Nó có thể được cài đặt trên hầu hết các hệ điều hành bao gồm Ubuntu, Debian, RHEL, CentOS, IBM, AIX, FreeBSD, Mac OS, Solaris, Windows và nhiều hệ điều hành khác. Đây là một trong những nền tảng phổ biến nhất và thế hệ tiếp theo thay thế các hệ thống giám sát khác như Zabbix, Icinga và Nagios. Sensu sử dụng mô hình máy khách-máy chủ. Bạn chỉ cần cài đặt một máy khách sensu trên mỗi hệ thống mà bạn muốn giám sát.
Trong hướng dẫn này, chúng tôi sẽ chỉ cách cài đặt máy chủ giám sát Sensu trên máy chủ Ubuntu 20.04.
Sau khi hệ thống của bạn được cập nhật, hãy cài đặt các gói phụ thuộc khác bằng lệnh sau:
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, nhập khóa GPG bằng lệnh sau:
Tiếp theo, thêm kho lưu trữ bằng cách chạy lệnh sau:
Tiếp theo, cập nhật kho lưu trữ và cài đặt gói RabbitMQ bằng lệnh sau:
Sau khi cài đặt, bạn sẽ cần tạo một vhost RabbitMQ cho Sensu. Bạn có thể tạo nó bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, tạo người dùng để quản lý vhost bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, bạn sẽ cần chỉ định đầy đủ quyền cho vhost /sensu.
Bạn sẽ nhận được kết quả sau:
Tiếp theo, cài đặt máy chủ Redis bằng lệnh sau lệnh:
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ Redis và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy nhập khóa GPG của kho lưu trữ bằng lệnh sau:
Tiếp theo, thêm kho lưu trữ bằng lệnh sau:
Sau khi kho lưu trữ được thêm vào, hãy cập nhật kho lưu trữ và cài đặt Sensu bằng lệnh sau:
Sau khi Sensu được cài đặt, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp sau đó tạo tệp redis.json bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tạo tệp cấu hình RabbitMQ bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Bạn có thể cài đặt Uchiwa bằng lệnh sau:
Sau khi cài đặt Uchiwa, hãy tạo tệp cấu hình cho Uchiwa bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, bạn sẽ cần tạo một tệp client.json để theo dõi chính máy chủ Sensu. Bạn có thể tạo tệp này bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, khởi động máy chủ Sensu, Api, Uchiwa và dịch vụ máy khách Sensu bằng lệnh sau:
Khi tất cả các dịch vụ đã được khởi động, bạn có thể xác minh trạng thái của tất cả các dịch vụ bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bây giờ, hãy nhấp vào biểu tượng client ở ngăn bên trái. Bạn sẽ thấy trạng thái của máy khách Sensu trong màn hình sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cách cài đặt máy chủ giám sát Sensu trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một mật khẩu gốc được cấu hình cho máy chủ.
Bắt đầu
Trước tiên, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản ổn định mới nhất. Bạn có thể thực hiện việc này bằng cách cập nhật tất cả các gói hệ thống bằng lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install gnupg2 curl wget unzip -y
Cài đặt Redis và RabbitMQ
Sensu sử dụng RabbitMQ để xử lý tin nhắn và Redis để lưu trữ dữ liệu. Vì vậy, cả hai gói phải được cài đặt trong hệ thống của bạn. Theo mặc định, RabbitMQ không có trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ RabbitMQ vào hệ thống của mình.Đầu tiên, nhập khóa GPG bằng lệnh sau:
Mã:
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -
Mã:
echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
Mã:
apt-get update -y
apt-get install rabbitmq-server -y
Mã:
rabbitmqctl add_vhost /sensu
Mã:
Adding vhost "/sensu" ...
Mã:
rabbitmqctl add_user sensu password
Mã:
Adding user "sensu" ...
Mã:
rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Mã:
Setting permissions for user "sensu" in vhost "/sensu" ...
Mã:
apt-get install redis-server -y
Mã:
systemctl start redis-server
systemctl enable redis-server
Cài đặt Sensu Server
Theo mặc định, Sensu không có trong kho lưu trữ chính thức của Ubuntu. Vì vậy, bạn sẽ cần thêm kho lưu trữ Sensu vào hệ thống của mình.Trước tiên, hãy nhập khóa GPG của kho lưu trữ bằng lệnh sau:
Mã:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -
Mã:
echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list
Mã:
apt-get update -y
apt-get install sensu -y
Cấu hình Sensu
Tiếp theo, bạn sẽ cần tạo các tệp cấu hình cho RabbitMQ, Redis và Api. Trước tiên, hãy tạo tệp api.json bằng lệnh sau:
Mã:
nano /etc/sensu/conf.d/api.json
Mã:
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 }}
Mã:
nano /etc/sensu/conf.d/redis.json
Mã:
{ "redis": { "host": "127.0.0.1", "port": 6379 }}
Mã:
nano /etc/sensu/conf.d/rabbitmq.json
Mã:
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" }}
Cài đặt và cấu hình Sensu Dashboard
Tiếp theo, bạn sẽ cần cài đặt Uchiwa dashboard trong hệ thống của mình. Uchiwa là bảng điều khiển nguồn mở để giám sát Sensu thông qua giao diện web.Bạn có thể cài đặt Uchiwa bằng lệnh sau:
Mã:
apt-get install uchiwa -y
Mã:
nano /etc/sensu/uchiwa.json
Mã:
{ "sensu": [ { "name": "Sensu", "host": "127.0.0.1", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10 }}
Tiếp theo, bạn sẽ cần tạo một tệp client.json để theo dõi chính máy chủ Sensu. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/sensu/conf.d/client.json
Mã:
{ "client": { "name": "sensu-server", "address": "127.0.0.1", "environment": "management", "subscriptions": [ "dev", "ubuntu" ], "socket": { "bind": "127.0.0.1", "port": 3030 } }}
Tiếp theo, khởi động máy chủ Sensu, Api, Uchiwa và dịch vụ máy khách Sensu bằng lệnh sau:
Mã:
systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client
Mã:
systemctl status sensu-server sensu-api sensu-client uchiwa
Mã:
? sensu-server.service - sensu server Đã tải: đã tải (/lib/systemd/system/sensu-server.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2020-08-23 09:04:43 UTC; 4 phút 18 giây trước PID chính: 10031 (sensu-server) Nhiệm vụ: 24 (giới hạn: 2353) Bộ nhớ: 20,6M CGroup: /system.slice/sensu-server.service ??10031 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>23 tháng 8 09:04:43 ubuntu2004 systemd[1]: Đã khởi động máy chủ sensu.? sensu-api.service - sensu api Đã tải: đã tải (/lib/systemd/system/sensu-api.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2020-08-23 09:04:42 UTC; 4 phút 19 giây trước PID chính: 10023 (sensu-api) Nhiệm vụ: 2 (giới hạn: 2353) Bộ nhớ: 18,9M CGroup: /system.slice/sensu-api.service ??10023 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-api -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extens>23 tháng 8 09:04:42 ubuntu2004 systemd[1]: Đã khởi động sensu api.? sensu-client.service - sensu client Đã tải: đã tải (/lib/systemd/system/sensu-client.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2020-08-23 09:04:42 UTC; 4 phút 18 giây trước PID chính: 10027 (sensu-client) Nhiệm vụ: 2 (giới hạn: 2353) Bộ nhớ: 17,0M CGroup: /system.slice/sensu-client.service ??10027 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-client -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>23 tháng 8 09:04:42 ubuntu2004 systemd[1]: sensu-client.service: Thành công.23 tháng 8 09:04:42 ubuntu2004 systemd[1]: Đã dừng sensu client.23 tháng 8 09:04:42 ubuntu2004 systemd[1]: Đã khởi động sensu client.? uchiwa.service - LSB: Uchiwa, bảng điều khiển Sensu. Đã tải: đã tải (/etc/init.d/uchiwa; đã tạo) Đang hoạt động: đang hoạt động (đã thoát) kể từ CN 2020-08-23 09:04:41 UTC; 4 phút 19 giây trước
Truy cập Bảng điều khiển Sensu
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://your-server-ip:3000. Bạn sẽ thấy bảng điều khiển Sensu trong màn hình sau:Bây giờ, hãy nhấp vào biểu tượng client ở ngăn bên trái. Bạn sẽ thấy trạng thái của máy khách Sensu trong màn hình sau: