Giới thiệu về Prometheus và Grafana – giải pháp tối ưu cho hệ thống Monitor.

Bài viết chỉ mang tính chất tham khảo và chia sẻ, các trong quá trình làm chắc chắn sẽ có bạn gặp bug. Nếu gặp bug thì vào telegram group ITFORVN để nhờ support từ cộng đồng. Hoặc các bạn thể có truy cập vào nguồn tham khảo để làm theo hướng dẫn chính thống. Ngoài ra bạn có thể tham gia Forum Google [prometheus-users] của nước ngoài để hỏi đáp. 

 

Xin chào tất cả mọi người. Hôm nay mình xin chia sẻ lại một giải pháp mình vừa triển khai cho công ty.

Nội dung sẽ có 4 đến 5 phần.

  1. Giới thiệu giải pháp
  2. Cài đặt và cấu hình
  3. Thêm thiết bị vào hệ thống monitor
  4. Alert
  5. Các thứ hay ho khác (nếu có – hehe)

Trước đó mình đang sử dụng Nagios, nhưng rồi một ngày đẹp trời mình thấy Nagios nhàm chán đến mức phát nản. Mỗi lần add device vào Nagios mình phải tạo file cấu hình các thứ rất là nhiều công đoạn thủ công. Giao diện thì rất đơn giản và chẳng có gì khác ngoài mấy cái status show lên. Metric lấy được từ device thì cũng ít ỏi.

 

Hình 01. Naigos Dashboard

Vào một ngày đẹp trời mình lại tìm được giải pháp monitor hay hơn và hấp dẫn hơn. Sau khi triển khai thành công cho công ty mình quyết định chia sẽ lại giải pháp này với mọi người, đó chính là sự kết hợp của Prometheus và Grafana.

Prometheus là gì? và Grafana là gì? Đây là 2 câu hỏi mình thắc mắc cực kỳ khi tìm hiểu. Tại sao phải kết hợp 2 cái này để hoàn thiện cho giải pháp monitoring. Mình sẽ nói ngay bây giờ để các bạn không phải thắc mắc.

I. Prometheus

Prometheus là một open-source systems monitoring và alerting ban đầu được xây dựng tại SoundCloud. Vào năm 2012 nhiều công ty, tổ chức đã đứng ra bảo trợ cho Prometheus, và project này cực kỳ và phát và có rất nhiều người dùng. Hiện tại nó không còn là một project độc lập mà được phát triển bởi rất nhiều công ty khác nhau. Nó sử dụng mã nguồn GoLang của google. Hiện tại thì Prometheus 100% là open source và có Apache 2 License on GitHub.

Hình 02: Hình ảnh về Prometheus

Tính năng

Prometheus sử dụng mã nguồn Go nên có thể dễ dàng build với các file binary, nó lấy metric của device cực kỳ nhanh và nhẹ. Một số tính năng chính mình xin trích dẫn lại từ trang chủ của Prometheus:

  • A multi-dimensional data model with time series data identified by metric name and key/value pairs
  • PromQL, a flexible query language to leverage this dimensionality
  • No reliance on distributed storage; single server nodes are autonomous
  • Time series collection happens via a pull model over HTTP
  • Pushing time series is supported via an intermediary gateway
  • Targets are discovered via service discovery or static configuration
  • Multiple modes of graphing and dashboarding support

Kiến trúc

 

Hình 03: Kiến trúc

Nguồn: https://prometheus.io

II. Grafana

Là một nền tảng để xây dựng các analytics và monitoring. Nói nôm na cho mọi người dễ hình dung là sau khi lấy được metric từ các thiết bị, grafana sẽ sử dụng metric đó để phân tích và tạo ra dashboard mô tả trực quan các metric cần thiết cho việc monitoring ví dụ như cpu, ram, dish, network, iops, session.

Việc xây dựng Dashboard nó là một phần quan trọng trong việc monotor của hệ thống. Grafana support rất nhiều giải pháp monitor khác nhau.

Hình 04. Hình ảnh về Grafana Dashboard

Nguồn: https://grafana.com/

Phần 2 mình sẽ hướng dẫn các bạn cài đặt

Tác giả:  Nguyễn Hiếu – ITFORVN.COM

To you support to be access :  Nhóm Facebook ITFORVN

 

Tất cả bài viết về prometheus tại đây.

Giới thiệu về giải pháp giám sát hệ thống Prometheus và Grafana

Phần 01 – Cài đặt Prometheus và Grafana trên Centos 07

Phần 02 – Giám sát Windows Server với Prometheus

Phần 03 – Giám sát firewall Fortigate với Prometheus

Phần 04 – Giám sát thiết bị mạng Cisco với Prometheus

Phần 05 – Giám sát firewall Pfsense và Linux Server với Prometheus

Phần 06 – Giám sát VMWARE với Prometheus

Phần 07 –  Cấu hình alert trong Prometheus và gửi tin nhắn qua telegram

5/5 - (4 votes)

Leave a Reply

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