Cách cài đặt Sensu Monitoring trên Ubuntu 20.04

theanh

Administrator
Nhân viên
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.

Đ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
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:
Mã:
apt-get install gnupg2 curl wget unzip -y
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.

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 -
Tiếp theo, thêm kho lưu trữ bằng cách chạy lệnh sau:
Mã:
echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
Tiếp theo, cập nhật kho lưu trữ và cài đặt gói RabbitMQ bằng lệnh sau:
Mã:
apt-get update -y
apt-get install rabbitmq-server -y
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:
Mã:
rabbitmqctl add_vhost /sensu
Bạn sẽ thấy kết quả sau:
Mã:
Adding vhost "/sensu" ...
Tiếp theo, tạo người dùng để quản lý vhost bằng lệnh sau:
Mã:
rabbitmqctl add_user sensu password
Bạn sẽ thấy kết quả sau:
Mã:
Adding user "sensu" ...
Tiếp theo, bạn sẽ cần chỉ định đầy đủ quyền cho vhost /sensu.
Mã:
rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Bạn sẽ nhận được kết quả sau:
Mã:
Setting permissions for user "sensu" in vhost "/sensu" ...
Tiếp theo, cài đặt máy chủ Redis bằng lệnh sau lệnh:
Mã:
apt-get install redis-server -y
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:
Mã:
systemctl start redis-server
systemctl enable redis-server
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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 -
Tiếp theo, thêm kho lưu trữ bằng lệnh sau:
Mã:
echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list
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:
Mã:
apt-get update -y
apt-get install sensu -y
Sau khi Sensu được cài đặt, bạn có thể tiến hành bước tiếp theo.

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
Thêm các dòng sau:
Mã:
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 }}
Lưu và đóng tệp sau đó tạo tệp redis.json bằng lệnh sau:
Mã:
nano /etc/sensu/conf.d/redis.json
Thêm các dòng sau:
Mã:
{ "redis": { "host": "127.0.0.1", "port": 6379 }}
Lưu và đóng tệp, sau đó tạo tệp cấu hình RabbitMQ bằng lệnh sau:
Mã:
nano /etc/sensu/conf.d/rabbitmq.json
Thêm các dòng sau:
Mã:
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" }}
Lưu và đóng tệp khi bạn hoàn tất.

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
Sau khi cài đặt Uchiwa, hãy tạo tệp cấu hình cho Uchiwa bằng lệnh sau:
Mã:
nano /etc/sensu/uchiwa.json
Thêm các dòng sau:
Mã:
{ "sensu": [ { "name": "Sensu", "host": "127.0.0.1", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10 }}
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:
Mã:
nano /etc/sensu/conf.d/client.json
Thêm các dòng sau:
Mã:
{ "client": { "name": "sensu-server", "address": "127.0.0.1", "environment": "management", "subscriptions": [ "dev", "ubuntu" ], "socket": { "bind": "127.0.0.1", "port": 3030 } }}
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:
Mã:
systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client
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:
Mã:
systemctl status sensu-server sensu-api sensu-client uchiwa
Bạn sẽ nhận được kết quả đầu ra sau:
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
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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:


Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công Sensu và Uchiwa trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể thêm nhiều máy khách hơn và bắt đầu giám sát từ bảng điều khiển Uchiwa. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên