Metric monitoring
Là một hệ thống các monitor dựa trên các metric được gửi từ về các máy đã cài đặt collectorvd: Để quản lý Rảm free của một máy, trên máy đó ta cài đặt collector, collector này sẽ kiểm tra và thu thập thông tin về lượng ram trống của máy đó và gửi về server tập trung theo một chu kì nào đó do ta cài đặt. Từ các metric thu được đó, sau một khoảng thời gian ta sẽ thu được các điểm, từ các điểm này ta sẽ xây dựng được các biêu đồ hiển thị thông tin về lượng ram trống của máy đó trong khoảng thời gian đó.
+ Graphite: hệ thống đồ họa thời gian thực, có khả năng mở rộng cao và cấu trúc gồm 3 phần( bên dưới)
+ monitor:( màn hình) có chức năng hiển thị các thông tin do collector gửi về
+ Collector: có chức năng thu thập lại dữ liệu theo yêu cầu và gửi tới server tập trung
+ Server tập trung(ví dụ như một máy server) nơi nhận , lưu trữ và hiển thị dữ liệu
+Metric: Là thông tin do collector thu thập được và gửi về server trung tâm trong một điểm thời gian xác định
Graphite
http://graphite.readthedocs.org/en/latest/orgKiến trúc của graphite gồm 3 thành phần là graphite-web, carbon và whisper
Graphite Web
Là Graphite interfaces,hiển thị các metric đã được lưu trên Whisper dưới dạng biểu đồCarbon
Tiếp nhận các metric do collector gửi về và gửi tới WhisperWhisper
Tiếp nhận các Metric từ Cacbon gửi về, lưu trữ chúng lại trên đĩa cứngSơ đồ sự di chuyển của metric
Collector trên máy X ===(gửi tới)====> Carbon =====(gửi tới)====> whisper ====(lưu vào đĩa cứng). <(đọc) Graphite-web <- người dùngVài điều chú ý khi cài đặt
- Data về các metric được lưu trữ trên /var/lib/graphite
- Data về thay đổi của người dùng lưu trên một SQL database.
- Khi triển khai trên hệ thống của Backbone Team, cần mount các volume vào các thư mục chứa data để đảm bảo tính toàn vẹn dữ liệu khi có sự cố xảy ra, đồng thời đảm bảo về dung lượng lưu trữ do rootdisk của cloud instance chỉ 20GB. Trong khi lượng metric có thể lên tới vài trăm GB hoặc hơn nếu sử dụng lâu dài (và nhiều).
- Hệ thống graphite của Backbone team hiện tại sử dụng postgresql, vì vậy cần mount một volume vào thư mục /var/lib/postgres
- Để các thay đổi về mount ổ cứng trở nên cố định, cần sửa nội dung file /etc/fstab
- Sử dụng salt formula ở đây để cài đặt https://git.vccloud.vn/lamdt/saltstate/tree/master/graphite
- Để giảm nguy cơ về bảo mật do graphite không hỗ trợ authenticate, sử dụng iptables để lọc các metric được gửi từ các địa chỉ cố định.
- Để đảm bảo không sử dụng quá nhiều dung lượng lưu trữ, có thể dùng cron để tìm và xóa các file tồn tại trong
/var/lib/graphite/whisper hơn 30 ngày. - Cấu hình nginx đã được thay đổi để Graphite Explorer có thể đọc data từ graphite. (xem trong document của Graphite Explorer)
- Cần theo dõi hàng ngày dung lượng còn trống của rootdisk, do carbon hiện có 1 lỗi khiến cho nó ghi liên tục vào file log lúc không kết nối được. Khi hiện tượng rootdisk giảm mảnh, cần kiểm tra /var/log/graphite và xóa đi file log có dung lượng lớn.
Vài điều chú ý khi sử dụng
- Hệ thống graphite hiện tại không hỗ trợ phân quyền người dùng. Chú ý không sửa/xóa dashboard của nhau.
- Màu của các line trên graph phụ thuộc vào thứ tự thêm nó vào.
- Chuột phải vào graph và chọn "copy link to image" để chia sẻ graph đó cho người khác.
- Khi graphite nhận được metric mới hoàn toàn, nó sẽ sử dụng khá nhiều đĩa cứng (để "nhận chỗ" trước).
- Cần theo dõi thường xuyên lượng metric nhận được hàng ngày, % CPU sử dụng trên máy cài graphite, rootdisk còn trống trên graphite
Một số thông tin hữu ích
- Graphite cung cấp API để các chương trình bên ngoài có thể truy cập và render
- Graphite được viết bằng Python
Các thành phần bổ sung
Graphite explorer
Giúp nâng cao khả năng truy vấn, đưa ra các kết quả mong muốn dựa trên data của graphitehttps://github.com/vimeo/graph-explorer/wiki/Tutorial
Cabot
Hệ thống cảnh báo dựa trên các metric của graphite (khi vượt hay dưới 1 ngưỡng nhất định)http://cabotapp.com/
Các thuật ngữ
http://graphite.readthedocs.org/en/latest/terminology.html#term-series+ Functions:
Là các time-series function, được apply lên graph,giúp chúng ta tùy tùy chỉnh graph theo yêu cầu
+ Targets:
Nguồn dữ liệu input của graph
+Metric series : tập hợp của các metrics
+ timetamps
+Bucket
+Timetamps bucket:
Là một hệ thống các monitor dựa trên các metric được gửi về các máy đã cài đặt collector => gửi về từ
Trả lờiXóa+ Graphite: Là biểu đồ hiển thị lượng ram trống theo thời gian vừa xây dựng được
Trả lờiXóa+ monitor: được hiểu như là một interface( như màn hình) hiển thị các thông tin do collector gửi về
=> sai hoàn tòan
copy- paste thì bài viết ko có giá trị gì cả !
Trả lờiXóacom1,2: đã sửa
Trả lờiXóacom 3: :v