Hướng dẫn cài đặt Sensu trên server Ubuntu 18.04

0

Sensu  là một giải pháp giám sát nguồn mở có khả năng giám sát các môi trường khác nhau, đặc biệt là đối với các môi trường hỗn hợp như đám mây công cộng, riêng tư và đám mây lai. Sensu cũng cung cấp rất nhiều plugin có thể được sử dụng như những gì họ gọi là Sens Sensu kiểm tra. Các plugin này theo dõi sức khỏe của các dịch vụ, tài nguyên máy chủ và thu thập các số liệu máy chủ khác nhau từ các dịch vụ khác nhau. Nó cũng cung cấp các thông báo và thông báo.

Nó được phát triển bằng ngôn ngữ Ruby. Nó sử dụng RabbitMQ làm trung gian cho các tin nhắn và Redis để lưu trữ và lưu trữ dữ liệu.

Trong bài viết này, chúng tôi sẽ chỉ cho bạn các hướng dẫn từng bước về  cách cài đặt Sensu  trên Ubuntu 18.04 .

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

Đối với hướng dẫn này, chúng tôi khuyên bạn nên sử dụng  cài đặt VPS Ubuntu 18.04 mới .

Đảm bảo rằng máy chủ của bạn đáp ứng cấu hình phần cứng và phần mềm tối thiểu sau đây cho back-end máy chủ Sensu:

Phần cứng:

  • 4 core CPU
  • RAM 4 GB
  • 4 GB dung lượng đĩa trống
  • Liên kết mạng đáng tin cậy

Phần mềm:

  • Ubuntu 18.04
  • Địa chỉ IP chuyên dụng
  • Quyền root đầy đủ hoặc người dùng root

Để tìm hiểu thêm về các yêu cầu back-end và đại lý cho Sensu, bạn có thể truy cập bài viết chính thức của họ về các yêu cầu phần cứng .

Kiểm tra cập nhật và cài đặt phụ thuộc

Đăng nhập vào máy chủ của bạn thông qua SSH:

ssh [username]@[server_ip_address]

Hãy chắc chắn thay thế tên người dùng của người dùng khác với tên tài khoản của người dùng root được tìm thấy trên máy chủ (hoặc chính người dùng root) và thay thế server server_ip tựa bằng địa chỉ IP của máy chủ của bạn.

Trước khi bắt đầu cài đặt, nên cập nhật tất cả các gói Ubuntu lên phiên bản mới nhất của chúng:

apt-get update
apt-get upgrade

Để tránh các thư viện bị thiếu trong các vấn đề về cài đặt trong tương lai, các cài đặt phụ thuộc cơ bản được khuyến nghị:

apt-get install software-properties-common build-essential -y

Cài đặt và thiết lập RabbitMQ

RabbitMQ là nhà môi giới tin nhắn phổ biến nhất. Nó sẽ hoạt động như hệ thống nhắn tin trung gian cho Sensu. RabbitMQ yêu cầu Erlang – một ngôn ngữ lập trình được sử dụng để xây dựng các hệ thống ứng dụng thời gian thực.

Để cài đặt Erlang, sử dụng các lệnh sau để cài đặt gói kho lưu trữ Erlang:

cd /opt
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
dpkg -i erlang-solutions_1.0_all.deb

Sau khi thiết lập kho lưu trữ Erlang và RabbitMQ và cập nhật cài đặt Ubuntu của chúng tôi, bây giờ chúng tôi có thể tiến hành cài đặt gói Erlang bằng cách chỉ cần gõ như sau:

apt-get update
apt-get install erlang rabbitmq-server

Để xác minh xem dịch vụ RabbitMQ đã được cài đặt thành công hay chưa, hãy chạy như sau để kiểm tra trạng thái của dịch vụ RabbitMQ:

systemctl status rabbitmq-server

Bạn sẽ có thể thấy một tin nhắn tương tự như tin nhắn này:

rabbitmq-server.service - RabbitMQ Messaging Server
Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor
Active: active (running) since Sun 2019-03-17 23:12:51 CDT; 1min 22s ago

Bây giờ, chúng ta cần tạo một vhost để cài đặt Sensu:

rabbitmqctl add_vhost / Sensu

Tiếp theo là thêm người dùng vào vhost. Vui lòng thay thế [mật khẩu] bằng một mật khẩu mạnh.

rabbitmqctl add_vhost /sensu

Cuối cùng, cấp quyền đầy đủ cho người dùng Sensu của chúng tôi:

rabbitmqctl set_permissions -p / Sensu Sensu ". *" ". *" ". *"

Cài đặt và thiết lập Redis

Redis đang được Sensu sử dụng làm hệ thống lưu trữ dữ liệu chính cho dữ liệu do các tác nhân giám sát tạo ra, bao gồm kiểm tra, sự kiện, cảnh báo và thông báo.

Cài đặt máy chủ Redis rất đơn giản – bạn chỉ cần gõ như sau:

apt-get -y install redis-server

Để xác minh rằng máy chủ Redis đang chạy:

systemctl status redis-server

Bạn sẽ thấy được Active (đang chạy) trong kết quả:
redis-server.service – Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor pre
Active: active (running) since Sun 2019-03-17 23:23:15 CDT; 1min 15s ago

Cài đặt Sensu

Sau khi cài đặt hai yêu cầu chính, bây giờ chúng ta có thể tiến hành cài đặt và cấu hình Sensu Core.

Theo văn bản này, gói Sensu Core vẫn chưa có sẵn chính thức trong kho lưu trữ Ubuntu. Để thêm kho lưu trữ và khóa chính thức của Sensu, hãy sử dụng các lệnh sau:

echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | sudo tee /etc/apt/sources.list.d/sensu.list
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -

Bước tiếp theo là cập nhật và cuối cùng cài đặt gói Sensu:

apt-get update
apt-get install sensu -y

Cấu hình Sensu

Sau khi cài đặt Sensu, chúng tôi sẽ cần định cấu hình API, RabbitMQ và Redis cho Sensu bằng cách tạo các tệp cấu hình riêng lẻ có định dạng JSON. Chúng tôi sẽ sử dụng nanođể mở các tập tin cấu hình.

API:

nano /etc/sensu/conf.d/api.json
{
 "api": {
 "host": "localhost",
 "bind": "0.0.0.0",
 "port": 4567
 }
}

RabbitMQ:

nano /etc/sensu/conf.d/rabbitmq.json
{
 "rabbitmq": {
 "host": "127.0.0.1",
 "port": 5672,
 "vhost": "/sensu",
 "user": "sensu",
 "password": "[password]"
 }
}

Redis:

nano /etc/sensu/conf.d/redis.json
{
 "redis": {
 "host": "127.0.0.1",
 "port": 6379
 }
}

Cài đặt và thiết lập Uchiwa làm Giao diện web bảng điều khiển của Sensu

Sensu không có bảng điều khiển giám sát được cài đặt theo mặc định. Uchiwa là một bảng điều khiển nguồn mở được thiết kế cho Sensu.

Để cài đặt Uchiwa, gõ các lệnh sau:

apt-get install uchiwa -y

Sau khi cài đặt, chúng ta cần tạo tập tin cấu hình cho Sensu. Bạn nên sử dụng mật khẩu mạnh cho tài khoản quản trị viên Uchiwa:

nano /etc/sensu/uchiwa.json
{
 "sensu": [
 {
 "name": "sensu.your-domain.com",
 "host": "127.0.0.1",
 "port": 4567,
 "timeout": 10
 }
 ],
 "uchiwa": {
 "host": "0.0.0.0",
 "port": 3000,
 "refresh": 10,
 "user": "admin",
 "pass": "[password]"
 }
}

Hãy nhớ thay thế [mật khẩu] bằng một mật khẩu mạnh mà bạn chọn.

Cấu hình máy chủ Sensu làm máy khách

Chúng tôi có thể thiết lập Sensu để tự giám sát bằng cách tạo tệp sau:

nano /etc/sensu/conf.d/client.json
{
 "client": {
 "environment": "development",
 "name": "sensu-server",
 "address": "127.0.0.1",
 "subscriptions": [
 "development",
 "sensu-server"
 ]
 }
}

Cuối cùng, thiết lập quyền chính xác cho cấu hình là bắt buộc.

chown -R sensu:sensu /etc/sensu/conf.d/*
chown sensu:sensu /etc/sensu/uchiwa.json

Quản lý dịch vụ Sensu

Để cho phép tự động khởi động tất cả các dịch vụ khi khởi động:

systemctl enable sensu-server 
systemctl enable sensu-api
systemctl enable sensu-client 
systemctl enable uchiwa

Hãy đảm bảo rằng tất cả các dịch vụ được bắt đầu:

systemctl start sensu-server 
systemctl start sensu-api
systemctl start sensu-client 
systemctl start uchiwa

Bây giờ bạn có thể truy cập bảng điều khiển Uchiwa của bạn bằng cách sử dụng http://[server's public IP]:3000. Bạn sẽ có thể xem máy chủ Sensu như một máy khách.

Thế là xong –  giờ bạn đã có một máy chủ theo dõi Sensu đang hoạt động trên máy chủ Ubuntu 18.04 của mình.

 

Leave a Reply

Your email address will not be published. Required fields are marked *