Thứ sáu, 06/11/2015 | 00:00 GMT+7

Cách sử dụng Prometheus để giám sát server CentOS 7 của bạn

Prometheus là một hệ thống giám sát open-souce được phát triển bởi SoundCloud. Giống như các hệ thống giám sát khác, chẳng hạn như InfluxDB và Graphite, Prometheus lưu trữ tất cả dữ liệu của nó trong database chuỗi thời gian. Tuy nhiên, nó cung cấp mô hình dữ liệu đa chiều và ngôn ngữ truy vấn mạnh mẽ, cho phép administrator hệ thống không chỉ dễ dàng tinh chỉnh các định nghĩa về số liệu của họ mà còn tạo ra các báo cáo chính xác hơn.

Ngoài ra, dự án Prometheus cũng bao gồm PromDash (một công cụ dựa trên trình duyệt được dùng để phát triển trang tổng quan tùy chỉnh) và một AlertManager thử nghiệm có khả năng gửi cảnh báo qua e-mail, Flowdock, Slack, HipChat và hơn thế nữa.

Trong hướng dẫn này, bạn sẽ học cách cài đặt, cấu hình và sử dụng Prometheus Server, Node Exporter và PromDash.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

Bước 1 - Cài đặt Server Prometheus

Đầu tiên, tạo một folder mới để lưu trữ tất cả các file bạn download trong hướng dẫn này và chuyển đến đó.

  • mkdir ~/Downloads
  • cd ~/Downloads

Sử dụng curl để download bản dựng mới nhất của server Prometheus và database chuỗi thời gian từ GitHub.

  • curl -LO "https://github.com/prometheus/prometheus/releases/download/0.16.0/prometheus-0.16.0.linux-amd64.tar.gz"

Hệ thống giám sát Prometheus bao gồm một số thành phần, mỗi thành phần cần được cài đặt riêng biệt. Giữ tất cả các thành phần bên trong một folder mẹ là một ý tưởng hay, vì vậy hãy tạo một thành phần bằng mkdir .

  • mkdir ~/Prometheus

Nhập folder bạn vừa tạo.

  • cd ~/Prometheus

Sử dụng tar để extract prometheus-0.16.0.linux-amd64.tar.gz .

  • tar -xvzf ~/Downloads/prometheus-0.16.0.linux-amd64.tar.gz

Điều này hoàn tất quá trình cài đặt server Prometheus. Xác minh cài đặt bằng lệnh lệnh sau:

  • ~/Prometheus/prometheus-0.16.0.linux-amd64/prometheus -version

Bạn sẽ thấy thông báo sau trên màn hình của bạn :

Đầu ra Prometheus
prometheus, version 0.16.0 (branch: HEAD, revision: dcb8ba4)   build user:       julius@desktop   build date:       20151009-23:51:17   go version:       1.5.1 

Bước 2 - Cài đặt Node Exporter

Prometheus được phát triển với mục đích giám sát các dịch vụ web. Để theo dõi các chỉ số của server CentOS, bạn nên cài đặt một công cụ có tên là Node Exporter. Node Exporter, như tên gọi của nó, xuất rất nhiều số liệu (chẳng hạn như thống kê I / O đĩa, tải CPU, sử dụng bộ nhớ, thống kê mạng, v.v.) ở định dạng mà Prometheus hiểu được.

Nhập folder Downloads và sử dụng curl để download bản dựng mới nhất của Node Exporter có sẵn trên GitHub.

  • cd ~/Downloads && curl -LO "https://github.com/prometheus/node_exporter/releases/download/0.11.0/node_exporter-0.11.0.linux-amd64.tar.gz"

Tạo một folder mới có tên node_exporter bên trong folder Prometheus và vào bên trong nó:

  • mkdir ~/Prometheus/node_exporter
  • cd ~/Prometheus/node_exporter

Đến đây bạn có thể sử dụng lệnh tar để extract node_exporter-0.11.0.linux-amd64.tar.gz .

  • tar -xvzf ~/Downloads/node_exporter-0.11.0.linux-amd64.tar.gz

Bước 3 - Chạy Node Exporter như một dịch vụ

Để dễ dàng khởi động và dừng Node Exporter, bây giờ ta hãy chuyển nó thành một dịch vụ.

Sử dụng vi hoặc bất kỳ editor nào khác để tạo file cấu hình đơn vị có tên node_exporter.service .

  • sudo vi /etc/systemd/system/node_exporter.service

Tệp này phải chứa đường dẫn của file thực thi node_exporter và cũng chỉ định user nào sẽ chạy file thực thi. Theo đó, hãy thêm mã sau:

/etc/init/node_exporter.conf
[Unit] Description=Node Exporter  [Service] User=prometheus ExecStart=/home/prometheus/Prometheus/node_exporter/node_exporter  [Install] WantedBy=default.target 

Lưu file và thoát khỏi editor .

Reload systemd để nó đọc file cấu hình bạn vừa tạo.

  • sudo systemctl daemon-reload

Đến đây, Node Exporter có sẵn như một dịch vụ có thể được quản lý bằng lệnh systemctl . Kích hoạt nó để nó tự động khởi động lúc khởi động.

  • sudo systemctl enable node_exporter.service

Đến đây bạn có thể khởi động lại server của bạn hoặc sử dụng lệnh sau để khởi động dịch vụ theo cách thủ công:

  • sudo systemctl start node_exporter.service

Khi nó bắt đầu, hãy sử dụng trình duyệt để xem giao diện web của Node Exporter, có sẵn tại http:// your_server_ip :9100/metrics . Bạn sẽ thấy một trang có nhiều văn bản:

http: // your_server_ip: 9100 / trích đoạn số liệu
# HELP go_gc_duration_seconds A summary of the GC invocation durations. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds{quantile="0"} 0.00023853100000000002 go_gc_duration_seconds{quantile="0.25"} 0.00023998700000000002 go_gc_duration_seconds{quantile="0.5"} 0.00028122 . . . 

Bước 4 - Khởi động Server Prometheus

Nhập folder mà bạn đã cài đặt server Prometheus:

cd ~/Prometheus/prometheus-0.16.0.linux-amd64 

Trước khi khởi động Prometheus, trước tiên bạn phải tạo một file cấu hình cho nó có tên là prometheus.yml .

  • vi ~/Prometheus/prometheus-0.16.0.linux-amd64/prometheus.yml

Sao chép mã sau vào file .

~ / Prometheus / prometheus-0.16.0.linux-amd64 / prometheus.yml
scrape_configs:   - job_name: "node"     scrape_interval: "15s"     target_groups:     - targets: ['localhost:9100'] 

Điều này tạo ra một phần scrape_configs và xác định một công việc được gọi là node . Nó bao gồm URL của giao diện web Node Exporter của bạn trong mảng targets của nó. scrape_interval được đặt thành 15 giây để Prometheus loại bỏ các chỉ số mười lăm giây một lần.

Bạn có thể đặt tên cho công việc của bạn là bất kỳ thứ gì bạn muốn, nhưng việc gọi nó là "nút" cho phép bạn sử dụng các mẫu console mặc định của Node Exporter.

Lưu file và thoát.

Khởi động server Prometheus như một quá trình .

  • nohup ./prometheus > prometheus.log 2>&1 &

Lưu ý bạn đã chuyển hướng kết quả của server Prometheus tới file có tên là prometheus.log . Bạn có thể xem vài dòng cuối cùng của file bằng lệnh tail :

  • tail ~/Prometheus/prometheus-0.16.0.linux-amd64/prometheus.log

Khi server đã sẵn sàng, bạn sẽ thấy các thông báo sau trong file :

đoạn trích prometheus.log
INFO[0000] Starting target manager...         file=targetmanager.go line=75 INFO[0000] Listening on :9090                 file=web.go line=118 

Sử dụng trình duyệt để truy cập trang chủ của Prometheus có tại http:// your_server_ip :9090 . Bạn sẽ thấy trang chủ sau.

Trang chủ Prometheus

Để đảm bảo Prometheus đang thu thập dữ liệu từ Node Exporter, hãy nhấp vào tab Đồ thị ở đầu trang. Trên trang mở ra, hãy nhập tên của một số liệu (chẳng hạn như procs nút đang chạy ) trong trường văn bản cho biết Biểu thức . Sau đó, nhấn nút Execute màu xanh lam. Nhấp vào Biểu đồ (bên cạnh Control panel ) ngay bên dưới và bạn sẽ thấy biểu đồ cho số liệu đó:

Đồ thị Prometheus

Prometheus có các mẫu console cho phép bạn xem biểu đồ của một số chỉ số thường được sử dụng. Mẫu console này chỉ có thể truy cập được nếu bạn đặt giá trị của job_name thành node trong cấu hình của Prometheus.

Truy cập http:// your_server_ip :9090/consoles/node.html để truy cập Node Console và nhấp vào server của bạn, localhost:9100 , để xem các số liệu của nó:

 Control panel  nút

Bước 5 - Cài đặt PromDash

Mặc dù server Prometheus cho phép bạn xem đồ thị và thử nghiệm với các biểu thức, nó thường chỉ được sử dụng cho mục đích gỡ lỗi hoặc để chạy các truy vấn một lần. Cách ưa thích để trực quan hóa dữ liệu trong database chuỗi thời gian của Prometheus là sử dụng PromDash, một công cụ cho phép bạn tạo trang tổng quan tùy chỉnh không chỉ có cấu hình cao mà còn đẹp hơn.

Nhập folder Prometheus :

  • cd ~/Prometheus

PromDash là một ứng dụng Ruby on Rails có các file nguồn có sẵn trên GitHub. Để download và chạy nó, bạn cần cài đặt Git, Ruby và một số công cụ xây dựng. Sử dụng yum để thực hiện .

  • sudo yum install git ruby ruby-devel sqlite-devel zlib-devel gcc gcc-c++ automake patch

Đến đây bạn có thể sử dụng git để download các file nguồn.

  • git clone https://github.com/prometheus/promdash.git

Nhập folder promdash .

  • cd ~/Prometheus/promdash

PromDash phụ thuộc vào một số viên ngọc Ruby. Để tự động hóa việc cài đặt các viên ngọc đó, bạn nên cài đặt một viên đá quý có tên là bundler .

  • gem install bundler

Đến đây bạn có thể sử dụng lệnh bundle để cài đặt tất cả các viên ngọc Ruby mà PromDash yêu cầu. Vì ta sẽ cấu hình PromDash để hoạt động với SQLite3 trong hướng dẫn này, hãy đảm bảo bạn loại trừ các gem cho MySQL và PostgreSQL bằng cách sử dụng tham số --without :

  • bundle install --without mysql postgresql

Bạn có thể phải đợi một vài phút để lệnh này hoàn tất. Sau khi hoàn tất, bạn sẽ thấy các thông báo sau:

Gói kết quả
. . . Your bundle is complete! Gems in the groups mysql and postgresql were not installed. Use `bundle show [gemname]` to see where a bundled gem is installed. 

Bước 6 - Cài đặt Môi trường Rails

Tạo một folder để lưu trữ database SQLite3 được liên kết với PromDash.

  • mkdir ~/Prometheus/databases

PromDash sử dụng một biến môi trường được gọi là DATABASE_URL để xác định tên của database được liên kết với nó. Nhập thông tin sau để PromDash tạo database SQLite3 có tên mydb.sqlite3 bên trong folder databases :

  • echo "export DATABASE_URL=sqlite3:$HOME/Prometheus/databases/mydb.sqlite3" >> ~/.bashrc

Trong hướng dẫn này, bạn sẽ chạy PromDash ở chế độ production , vì vậy hãy đặt biến môi trường RAILS_ENV thành chế độ production .

  • echo "export RAILS_ENV=production" >> ~/.bashrc

Áp dụng các thay đổi mà ta đã thực hiện cho file .bashrc .

  • . ~/.bashrc

Tiếp theo, tạo các bảng của PromDash trong database SQLite3 bằng công cụ rake .

  • rake db:migrate

Vì PromDash sử dụng Đường ống nội dung Rails nên tất cả các nội dung (tệp CSS, hình ảnh và file Javascript) của dự án PromDash phải được biên dịch trước. Nhập thông tin sau để thực hiện :

  • rake assets:precompile

Bước 7 - Khởi động và cấu hình PromDash

PromDash chạy trên Thin, một web server nhẹ. Khởi động server dưới dạng daemon bằng lệnh lệnh sau:

  • bundle exec thin start -d

Chờ một vài giây để server khởi động rồi truy cập http:// your_server_ip :3000/ để xem trang chủ của PromDash.

Trang chủ của PromDash

Trước khi bắt đầu tạo trang tổng quan tùy chỉnh, bạn nên cho PromDash biết URL của server Prometheus của bạn. Bạn có thể thực hiện bằng cách nhấp vào tab Server ở trên cùng. Nhấp vào Server mới , sau đó trong biểu mẫu, đặt bất kỳ tên nào cho server Prometheus của bạn. Đặt trường Url thành http:// your_server_ip :9090 và trường Loại server thành Prometheus .

PromDash's Create Server Screen

Cuối cùng, nhấn vào Create Server để hoàn tất cấu hình. Trang web sẽ thông báo Server đã được tạo thành công. và bạn có thể nhấp trở lại Trang tổng quan ở menu trên cùng.

Bước 8 - Tạo Trang tổng quan

Vì console Promdash phải thuộc về folder Promdash, trước tiên hãy tạo một folder mới bằng cách nhấp vào Thư mục mới . Trong biểu mẫu hiển thị, hãy đặt tên cho folder của bạn, chẳng hạn như Trang tổng quan của tôi , sau đó nhấp vào Tạo folder .

Sau khi bạn gửi biểu mẫu, bạn sẽ được đưa trở lại trang chủ. Nhấp vào nút Trang tổng quan mới ngay bây giờ để tạo trang tổng quan mới. Trong biểu mẫu được hiển thị, hãy đặt tên cho trang tổng quan của bạn, như Trang tổng quan đơn giản và chọn folder bạn vừa tạo từ menu thả xuống.

Sau khi gửi biểu mẫu, bạn có thể xem trang tổng quan mới.

Trang tổng quan trống

Trang tổng quan của bạn đã có một biểu đồ, nhưng nó cần được cấu hình . Di chuột qua tiêu đề của biểu đồ (có ghi Tiêu đề ) sẽ hiển thị các biểu tượng khác nhau cho phép bạn cấu hình biểu đồ. Để thay đổi tiêu đề của nó, bạn có thể nhấp vào biểu tượng Cài đặt Đồ thị và Trục (thứ tư từ bên trái) và nhập tiêu đề mới vào trường Tiêu đề Đồ thị .

Nhấp vào biểu tượng Nguồn dữ liệu , biểu tượng thứ hai ở bên trái, để thêm một hoặc nhiều biểu thức vào biểu đồ. Nhấp vào Thêm biểu thức và trong trường có nội dung Nhập biểu thức , hãy nhập các procs nút đang chạy .

Thêm biểu thức

Bây giờ hãy nhấp vào biểu tượng Làm mới (biểu tượng ngoài cùng bên trái) trong tiêu đề của biểu đồ để cập nhật biểu đồ. Trang tổng quan của bạn hiện chứa một biểu đồ được cấu hình đầy đủ. Bạn có thể thêm nhiều đồ thị hơn bằng cách nhấp vào nút Thêm đồ thị ở dưới cùng.

Sau khi thực hiện tất cả các thay đổi, hãy đảm bảo bạn nhấp vào nút Lưu thay đổi ở bên phải để thực hiện thay đổi vĩnh viễn. Lần tiếp theo khi bạn truy cập trang chủ của PromDash, bạn có thể thấy một liên kết đến trang tổng quan của bạn :

Trang tổng quan PromDash

Kết luận

Như vậy, bạn có một hệ sinh thái Prometheus đầy đủ chức năng đang chạy trên server CentOS 7 của bạn và bạn có thể sử dụng PromDash để tạo trang tổng quan giám sát phù hợp với yêu cầu của bạn .

Mặc dù bạn đã cài đặt tất cả các thành phần trên một máy CentOS, bạn có thể dễ dàng theo dõi nhiều máy hơn bằng cách chỉ cài đặt Node Exporter trên mỗi máy và thêm URL của Node Exporters mới vào mảng targets của prometheus.yml .

Bạn có thể tìm hiểu thêm về Prometheus bằng cách tham khảo tài liệu của nó.


Tags:

Các tin liên quan

Cách cài đặt Elasticsearch 1.7, Logstash 1.5 và Kibana 4.1 (ELK Stack) trên CentOS 7
2015-11-04
Cách cài đặt và cấu hình scponly trên CentOS 7
2015-07-22
Cách viết quy tắc kiểm tra hệ thống tùy chỉnh trên CentOS 7
2015-07-16
Cách viết quy tắc kiểm tra hệ thống tùy chỉnh trên CentOS 7
2015-07-16
Cách thiết lập firewall bằng FirewallD trên CentOS 7
2015-06-18
Cách thiết lập firewall bằng FirewallD trên CentOS 7
2015-06-18
Cách phát hiện bất thường với Skyline trên CentOS 7
2015-06-16
Cách cài đặt và cấu hình mod_deflate trên CentOS 7
2015-06-12
Cách hạn chế tài nguyên bằng cách sử dụng nhóm trên CentOS 6
2015-06-10
Cách phân tích chỉ số hệ thống với InfluxDB trên CentOS 7
2015-06-04