Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt Prometheus trên Ubuntu 20.04. Đối với những ai chưa quen với Prometheus, đây là công cụ giám sát hệ thống cung cấp tổng quan về tất cả các số liệu và thông tin hiệu suất của hệ thống để bạn có thể xác định mọi vấn đề hoặc điểm nghẽn. Bạn có thể thấy nó hữu ích nếu bạn muốn theo dõi các tài nguyên như mức sử dụng CPU, mức sử dụng bộ nhớ, thời gian chờ IO mạng, v.v... Nó có giao diện web cho phép dễ dàng theo dõi từ bất kỳ thiết bị nào có kết nối internet và cũng hỗ trợ cảnh báo qua email và tin nhắn SMS trong trường hợp số liệu vượt quá ngưỡng đã cấu hình.
Lệnh này sẽ nhắc bạn, phản hồi mặc định là y và Enter. Chúng tôi khuyên bạn không nên nhấn n khi được nhắc vì điều này có thể gây ra sự cố với các gói hoặc chương trình được cài đặt sau này.
Các kho lưu trữ hiện được hệ thống của bạn cập nhật thông qua một quy trình trung gian và sau khi hoàn tất bước này, bạn có thể tiến hành cài đặt nginx bằng lệnh bên dưới:
Dịch vụ Nginx hiện đang chạy và sẽ phản hồi các yêu cầu. Bạn có thể kiểm tra bằng cách chạy lệnh bên dưới:
Nếu bạn thấy đầu ra tương tự như sau, thì Nginx đang chạy:
Nếu dịch vụ Nginx của bạn không chạy, bạn có thể khởi động nó bằng cách nhập lệnh sau:
Vậy là xong!nginx đã chạy trên máy chủ của bạn
Sau khi tải xuống tệp nhị phân, hãy giải nén tệp đó bằng lệnh tar:
Từ thư mục đã giải nén, hãy sao chép tệp nhị phân prometheus và promtool vào thư mục /usr/local/bin:
Sau khi sao chép, hãy thay đổi quyền sở hữu các tệp thành prometheus bằng cách nhập các lệnh bên dưới:
Tiếp theo, hãy sao chép các thư mục sau vào thư mục cấu hình Prometheus của bạn /etc/prometheus: "console_libraries" và "prometheus". Điều quan trọng là không được quên bước này!
Sử dụng các lệnh sau để thay đổi quyền sở hữu tệp:
Tiếp theo, sao chép và dán các dòng sau vào thiết bị đầu cuối của bạn:
Khi bạn hoàn tất, hãy nhấn Ctrl+x rồi y rồi enter để lưu tệp.
Cấu hình mặc định có một tác vụ duy nhất có tên là Prometheus, tác vụ này sẽ thu thập dữ liệu chuỗi thời gian do máy chủ hiển thị. Tác vụ này chỉ chứa một mục tiêu, localhost trên cổng 9090 và được cấu hình tĩnh.
Bây giờ chúng ta cần tạo một tệp cho dịch vụ systemd. Chạy lệnh bên dưới:
Sao chép và dán nội dung sau vào tệp:
Tệp dịch vụ cho systemd biết để chạy Prometheus với tư cách là người dùng prometheus, với cấu hình trong thư mục /etc/prometheus và dữ liệu được lưu trữ trong /var/libdirectory.
Khi bạn hoàn tất, hãy nhấn Ctrl+x rồi y rồi enter để lưu tệp.
Để sử dụng dịch vụ mới tạo, hãy tải lại systemd bằng cách chạy lệnh bên dưới:
Bây giờ bạn có thể khởi động Prometheus bằng lệnh sau:
Bạn có thể kiểm tra trạng thái dịch vụ bằng cách sử dụng lệnh bên dưới:
Trình giám sát trạng thái Prometheus cho bạn biết mức độ hoạt động hiện tại của dịch vụ. Bạn cũng có thể xem tiến trình nào đang chạy và nó sử dụng bao nhiêu bộ nhớ tại bất kỳ thời điểm nào.
Để truy cập dịch vụ Prometheus, trước tiên bạn cần mở cổng 9090 trên tường lửa của mình. Bạn có thể thực hiện việc này bằng cách nhập:
Bây giờ hãy mở trình duyệt web và điều hướng đến địa chỉ sau:
Thay thế thuật ngữ “ip-address” bằng địa chỉ IP thực tế của máy chủ của bạn. Bạn cũng có thể sử dụng localhost hoặc 127.0.0.1 để truy cập Prometheus trên hệ thống cục bộ của bạn và xem nó có chạy đúng không.
Ứng dụng Prometheus hiện đã hoạt động và sẵn sàng nhận các yêu cầu web:
Điều kiện tiên quyết
- Máy chủ chạy Ubuntu 20.04 LTS với ít nhất 2GB RAM và 1 vCPU.
- Đăng nhập với tư cách là người dùng root hoặc người dùng không phải root có quyền sudo.
Cài đặt Nginx
Bạn nên luôn cập nhật kho lưu trữ của mình bằng cách chạy lệnh này:
Mã:
sudo apt update
Các kho lưu trữ hiện được hệ thống của bạn cập nhật thông qua một quy trình trung gian và sau khi hoàn tất bước này, bạn có thể tiến hành cài đặt nginx bằng lệnh bên dưới:
Mã:
sudo apt install nginx
Mã:
sudo systemctl status nginx
Nếu dịch vụ Nginx của bạn không chạy, bạn có thể khởi động nó bằng cách nhập lệnh sau:
Mã:
sudo systemctl start nginx
Tạo Người dùng Hệ thống Prometheus
Máy chủ Prometheus yêu cầu một tài khoản người dùng dịch vụ để chạy. Bạn có thể tạo người dùng bằng lệnh sau. Thay thế tên ứng dụng của riêng bạn cho prometheus-server thay cho "node_exporter".
Mã:
sudo useradd --no-create-home --shell /bin/false prome
sudo useradd --no-create-home --shell /bin/false node_exporter
Tạo các thư mục Prometheus
Tiếp theo, bạn cần tạo một số thư mục. Đây là nơi các tệp cấu hình và dữ liệu khác sẽ được lưu trữ. Các thư mục này sẽ được tạo trong thư mục mà bạn đã chọn trước đó cho Prometheus. Trong ví dụ này, chúng ta sẽ sử dụng /ect/prometheus và /var/lib/prometheus làm thư mục cơ sở:
Mã:
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Tải xuống và cài đặt Prometheus
Chúng ta có thể tải xuống Prometheus cho Linux chỉ bằng cách sử dụng wget. Chúng tôi điều hướng đến phiên bản tải xuống mới nhất trên trang web của họ và tải xuống từ đó.
Mã:
wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
Mã:
tar -xvf prometheus-2.28.1.linux-amd64.tar.gz
Mã:
sudo cp prometheus-2.28.1.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.28.1.linux-amd64/promtool /usr/local/bin/
Mã:
sudo chown prome:prome /usr/local/bin/prometheus
sudo chown prome:prome /usr/local/bin/promtool
Mã:
sudo cp -r prometheus-2.28.1.linux-amd64/consoles /etc/prometheus
sudo cp -r prometheus-2.28.1.linux-amd64/console_libraries /etc/prometheus
Mã:
sudo chown -R prome:prome /etc/prometheus/consoles
sudo chown -R prome:prome /etc/prometheus/console_libraries
Tạo tệp cấu hình Prometheus
Prometheus cần có tệp cấu hình để hoạt động. prometheous.yml là cách cấu hình phổ biến nhất đang được sử dụng. Trong phần này, chúng ta sẽ tạo các tệp cấu hình có tên prometheus.yml trong thư mục /etc/prometheus đã tạo trước đó.
Mã:
sudo nano /etc/prometheus/prometheus.yml
Mã:
global:
scrape_interval: 15 giây
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5 giây
static_configs:
- targets: ['localhost:9090']
Khi bạn hoàn tất, hãy nhấn Ctrl+x rồi y rồi enter để lưu tệp.
Cấu hình mặc định có một tác vụ duy nhất có tên là Prometheus, tác vụ này sẽ thu thập dữ liệu chuỗi thời gian do máy chủ hiển thị. Tác vụ này chỉ chứa một mục tiêu, localhost trên cổng 9090 và được cấu hình tĩnh.
Bây giờ chúng ta cần tạo một tệp cho dịch vụ systemd. Chạy lệnh bên dưới:
Mã:
sudo nano /etc/systemd/system/prometheus.service
Mã:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prome
Group=prome
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
[Install]
Khi bạn hoàn tất, hãy nhấn Ctrl+x rồi y rồi enter để lưu tệp.
Để sử dụng dịch vụ mới tạo, hãy tải lại systemd bằng cách chạy lệnh bên dưới:
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl enable prometheus
Mã:
sudo systemctl status prometheus
Mã:
prometheus.service - Prometheus
Đã tải: đã tải (/etc/systemd/system/prometheus.service; đã tắt; vendor preset: enabled)
Hoạt động: hoạt động (đang chạy) kể từ Thu 2021-07-15 22:31:10 UTC; 3 giây trước
Tiến trình: 3949 ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus>
PID chính: 3949 (prometheus)
Nhiệm vụ: 7
Bộ nhớ: 13,8M
CPU: 470ms
CGroup: /system.slice/prometheus.service
Kiểm tra Prometheus
Prometheus cung cấp giao diện web cơ bản mà người dùng có thể xem số liệu thống kê về bản thân và các chương trình khác mà họ đã cài đặt để xác định xem có bất kỳ sự cố nào đang xảy ra trong đó không.Để truy cập dịch vụ Prometheus, trước tiên bạn cần mở cổng 9090 trên tường lửa của mình. Bạn có thể thực hiện việc này bằng cách nhập:
Mã:
ufw allow 9090/tcp
Thay thế thuật ngữ “ip-address” bằng địa chỉ IP thực tế của máy chủ của bạn. Bạn cũng có thể sử dụng localhost hoặc 127.0.0.1 để truy cập Prometheus trên hệ thống cục bộ của bạn và xem nó có chạy đúng không.
Ứng dụng Prometheus hiện đã hoạt động và sẵn sàng nhận các yêu cầu web: