Sensu là một công cụ mã nguồn mở và miễn phí để biên soạn hệ thống giám sát mà bạn cần. Nó được viết bằng Ruby, sử dụng RabbitMQ để xử lý tin nhắn và Redis để lưu trữ dữ liệu. Sensu cung cấp một khuôn khổ để giám sát cơ sở hạ tầng và tình trạng ứng dụng. Sensu hỗ trợ một số nền tảng như IBM AIX, Ubuntu, Debian, RedHat, CentOS, FreeBSD, Mac OS, Solaris, Windows và nhiều nền tảng khác nữa. Sensu trao quyền cho các tổ chức biên soạn các giải pháp giám sát toàn diện đáp ứng các yêu cầu kinh doanh riêng biệt của họ. Sensu đi kèm với hàng trăm plugin cung cấp công cụ gốc cho các công cụ và dịch vụ mà doanh nghiệp của bạn phụ thuộc vào, bao gồm Máy chủ web và Proxy, Cơ sở dữ liệu, Hàng đợi tin nhắn, Tổng hợp nhật ký, Lập chỉ mục, Tìm kiếm, Bộ nhớ đệm, Tài nguyên mạng và hệ thống, Quản lý cấu hình và Khám phá, Mục đích chung, Chef, Clack và nhiều hơn nữa.
Trong hướng dẫn này, chúng ta sẽ hướng dẫn từng bước cài đặt Redis, RabbitMQ và Sensu trên Ubuntu 16.04.
Sau khi hệ thống của bạn được cập nhật, hãy khởi động lại hệ thống để áp dụng tất cả các bản cập nhật bằng lệnh sau:
Sau khi khởi động lại, hãy đăng nhập vào hệ thống của bạn bằng người dùng sudo và tiến hành bước tiếp theo.
Đầu tiên, hãy thêm kho lưu trữ Erlang và khóa công khai Erlang vào danh sách khóa đáng tin cậy của bạn bằng lệnh sau:
Tiếp theo, hãy cập nhật kho lưu trữ bằng lệnh sau:
Sau khi kho lưu trữ được cập nhật, hãy cài đặt Erlang bằng cách chạy lệnh sau:
Tiếp theo, bạn sẽ cần tải xuống và cài đặt phiên bản mới nhất của kho lưu trữ RabbitMQ vào hệ thống của mình. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Sau khi kho lưu trữ được cài đặt, hãy cập nhật kho lưu trữ bằng lệnh sau:
Cuối cùng, hãy cài đặt máy chủ RabbitMQ bằng cách chạy lệnh sau:
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ RabbitMQ và cho phép dịch vụ này khởi động khi khởi động bằng lệnh sau:
Tiếp theo, bạn sẽ cần tạo một RabbitMQ vhost và người dùng cho Sensu. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành cài đặt máy chủ Redis.
Sau khi cài đặt hoàn tất, hãy khởi động máy chủ Redis và cho phép nó khởi động khi khởi động bằng cách chạy lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, hãy thêm khóa GPG bằng lệnh sau:
Tiếp theo, thêm kho lưu trữ Sensu bằng cách tạo tệp sensu.list bên trong thư mục /etc/apt/sources.list.d bằng lệnh sau:
Thêm dòng sau:
Lưu tệp và cập nhật kho lưu trữ bằng lệnh sau:
Sau khi kho lưu trữ được cập nhật, hãy cài đặt Sensu bằng lệnh sau:
Sau khi cài đặt Sensu, bạn sẽ cần cấu hình Sensu cho RabbitMQ và Redis. Theo mặc định, Sensu sẽ tải cấu hình từ thư mục /etc/sensu/conf.d/. Vì vậy, bạn sẽ cần tạo các tệp cấu hình cho RabbitMQ, Redi và Api.
Đầu tiên, hãy tạo tệp rabbitmq.json bên trong thư mục /etc/sensu/conf.d bằng cách chạy lệnh sau:
Thêm các dòng sau để kết nối phiên bản RabbitMQ:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, hãy tạo tệp redis.json bằng lệnh sau:
Thêm các dòng sau các dòng để bao gồm thông tin kết nối để Sensu truy cập Redis:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, tạo tệp api.json để bao gồm thông tin kết nối để Sensu truy cập dịch vụ API bằng cách chạy lệnh sau.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó bạn có thể tiến hành bước tiếp theo.
Vì vậy, bạn sẽ cần cài đặt một Dashboard Uchiwa nguồn mở vào hệ thống của mình. Theo mặc định, Uchiwa không có sẵn trong kho lưu trữ Ubuntu. Vì vậy, bạn sẽ cần thêm một kho lưu trữ Uchiwa vào hệ thống của mình.
Trước tiên, hãy thêm khóa công khai cho Uchiwa bằng lệnh sau:
Tiếp theo, thêm kho lưu trữ Uchiwa bằng cách tạo tệp uchiwa..list bên trong thư mục /etc/apt/sources.list.d bằng lệnh sau:
Thêm các dòng sau:
Lưu tệp, sau đó cập nhật kho lưu trữ bằng lệnh sau:
Sau khi kho lưu trữ được cập nhật, hãy cài đặt Uchiwa bằng lệnh sau:
Sau khi Uchiwa được cài đặt, 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.
Cuối cùng, khởi động lại dịch vụ Sensu và Uchiwa và cho phép chúng khởi động khi khởi độ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 cài đặt tường lửa UFW bằng cách chạy lệnh sau:
Sau khi UFW được cài đặt, hãy bật dịch vụ UFW bằng lệnh sau:
Tiếp theo, cho phép cổng 3000 đi qua tường lửa UFW bằng lệnh sau:
Sau khi cấu hình tường lửa, hãy mở trình duyệt web của bạn và nhập URL http://192.168.0.227:3000, bạn sẽ thấy trang sau:
Tiếp theo, nhấp vào biểu tượng trung tâm dữ liệu, bạn sẽ thấy phiên bản máy chủ Sensu như sau:
Tiếp theo, bạn sẽ cần thêm máy khách để giám sát máy chủ Sensu. Bạn có thể thực hiện việc này bằng cách tạo tệp client.json:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó khởi động lại dịch vụ sensu-client để áp dụng các thay đổi này:
Cuối cùng, hãy kiểm tra trạng thái của máy khách bằng cách nhấp vào biểu tượng máy khách như sau:
Trong hướng dẫn này, chúng ta sẽ hướng dẫn từng bước cài đặt Redis, RabbitMQ và Sensu trên Ubuntu 16.04.
Yêu cầu
- Máy chủ Ubuntu 16.04 được cài đặt trên hệ thống của bạn.
- Người dùng không phải root với sudo thiết lập quyền trên hệ thống của bạn.
- Cấu hình địa chỉ IP tĩnh 192.168.0.227 trên hệ thống của bạn.
Cập nhật hệ thống
Trước khi bắt đầu, bạn nên cập nhật hệ thống lên phiên bản ổn định mới nhất. Bạn có thể cập nhật hệ thống của mình bằng cách chạy lệnh sau:
Mã:
sudo apt-get update -y
sudo apt-get upgrade -y
Mã:
sudo reboot
Cài đặt và cấu hình RabbitMQ
Trước khi bắt đầu, RabbitMQ chạy trên Erlang, vì vậy bạn sẽ cần cài đặt Erlang vào hệ thống của mình.Đầu tiên, hãy thêm kho lưu trữ Erlang và khóa công khai Erlang vào danh sách khóa đáng tin cậy của bạn bằng lệnh sau:
Mã:
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
Mã:
sudo apt-get update -y
Mã:
sudo apt-get install socat erlang-nox -y
Mã:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server_3.6.10-1_all.deb
sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
Mã:
sudo apt-get update -y
Mã:
sudo apt-get install rabbitmq-server -y
Mã:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
Mã:
sudo rabbitmqctl add_vhost /sensu
sudo rabbitmqctl add_user sensu your-password
sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Cài đặt máy chủ Redis
Sensu sử dụng máy chủ Redis để lưu trữ dữ liệu của họ. Theo mặc định, Sensu có sẵn trong kho lưu trữ Ubuntu. Bạn có thể cài đặt máy chủ Redis bằng cách chạy lệnh sau:
Mã:
sudo apt-get install redis-server apt-transport-https -y
Mã:
sudo systemctl start Redis-server
sudo systemctl enable Redis-server
Cài đặt và cấu hình Sensu
Theo mặc định, Sensu không có trong kho lưu trữ Ubuntu. Vì vậy, bạn sẽ cần thêm khóa công khai và kho lưu trữ vào hệ thống của mình.Đầu tiên, hãy thêm khóa GPG bằng lệnh sau:
Mã:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
Mã:
sudo nano /etc/apt/sources.list.d/sensu.list
Mã:
deb https://sensu.global.ssl.fastly.net/apt sensu main
Mã:
sudo apt-get update -y
Mã:
sudo apt-get install sensu -y
Đầu tiên, hãy tạo tệp rabbitmq.json bên trong thư mục /etc/sensu/conf.d bằng cách chạy lệnh sau:
Mã:
sudo nano /etc/sensu/conf.d/rabbitmq.json
Mã:
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "your-password" }}
Tiếp theo, hãy tạo tệp redis.json bằng lệnh sau:
Mã:
sudo nano /etc/sensu/conf.d/redis.json
Mã:
{ "redis": { "host": "127.0.0.1", "port": 6379 }}
Tiếp theo, tạo tệp api.json để bao gồm thông tin kết nối để Sensu truy cập dịch vụ API bằng cách chạy lệnh sau.
Mã:
sudo nano /etc/sensu/conf.d/api.json
Mã:
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 }}
Cài đặt và định cấu hình Sensu Dashboard
Theo mặc định, Sensu không đi kèm với Dashboard để giám sát Sensu thông qua giao diện web.Vì vậy, bạn sẽ cần cài đặt một Dashboard Uchiwa nguồn mở vào hệ thống của mình. Theo mặc định, Uchiwa không có sẵn trong kho lưu trữ Ubuntu. Vì vậy, bạn sẽ cần thêm một kho lưu trữ Uchiwa vào hệ thống của mình.
Trước tiên, hãy thêm khóa công khai cho Uchiwa bằng lệnh sau:
Mã:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
Mã:
sudo nano /etc/apt/sources.list.d/uchiwa.list
Mã:
deb https://sensu.global.ssl.fastly.net/apt sensu main
Mã:
sudo apt-get update -y
Mã:
sudo apt-get install uchiwa -y
Mã:
sudo nano /etc/sensu/conf.d/uchiwa.json
Mã:
{ "sensu": [ { "name": "Sensu", "host": "localhost", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10 }}
Cuối cùng, khởi động lại dịch vụ Sensu và Uchiwa và cho phép chúng khởi động khi khởi động bằng lệnh sau:
Mã:
sudo systemctl start sensu-server
sudo systemctl enable sensu-server
sudo systemctl start sensu-api
sudo systemctl enable sensu-api
sudo systemctl start sensu-client
sudo systemctl enable sensu-client
sudo systemctl start uchiwa
sudo systemctl enable uchiwa
Truy cập Bảng điều khiển Sensu
Trước khi truy cập bảng điều khiển Sensu, bạn sẽ cần cho phép cổng 3000 đi qua tường lửa UFW.Trước tiên, hãy cài đặt tường lửa UFW bằng cách chạy lệnh sau:
Mã:
sudo apt-get install ufw -y
Mã:
sudo ufw enable
Mã:
sudo ufw allow 3000
Tiếp theo, nhấp vào biểu tượng trung tâm dữ liệu, bạn sẽ thấy phiên bản máy chủ Sensu như sau:
Tiếp theo, bạn sẽ cần thêm máy khách để giám sát máy chủ Sensu. Bạn có thể thực hiện việc này bằng cách tạo tệp client.json:
Mã:
sudo 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 } }}
Mã:
sudo systemctl restart sensu-client