Giải pháp giám sát hệ thống
Telegraf - InfluxDB - Grafana
November 2020
Nội dung
2
•
•
•
•
•
•
Telegraf, InfluxDB & Grafana là gì ?
Tại sao kết hợp sử dụng cùng nhau
Thiết lập cơ bản
Một số cấu hình chung
Tổng quan tính năng
Làm thế nào có một hệ thống hiệu suất cao.
Telegraf, InfluxDB & Grafana là gì ?
3
4
•
•
Là một agent để thu
thập các số liệu, events,
và logs trực tiếp từ các
database, hệ thống và
các IoT sensors
Viết bởi ngôn ngữ Go
được biên dịch thành
binary đơn và tiêu thụ
rất ít bộ nhớ.
•
•
Là một Time Series
Data.
Nó cung cấp một ngơn
ngữ giống SQL để tương
tác với dữ liệu.
•
Grafana cho phép truy
vấn, hiển thị, cảnh báo
các số liệu thu thập
được.
Time series data là
Một chuỗi các điểm dữ liệu,
Là kết quả của các phép đo lường liên tiếp,
được tạo ra từ các nguồn dữ liệu giống nhau
qua một khoản thời gian.
Là các điểm được biểu
diễn trên đồ thị và
một trong các trục
của đồ thị sẽ luôn
là thời gian.
6
So sánh với:
Time series
databases
Được tối ưu cho việc thu
thập, lưu trữ, phục hồi
và xử lý dữ liệu chuỗi
thời gian
7
✓ Document databases
Được tối ưu cho lưu trữ dạng JSON
✓ Search databases
Được tối ưu hóa cho những tìm kiếm fulltext
✓ Traditional relational
Cơ sở dữ liệu được tối ưu hóa cho lưu trữ
dạng bảng và dữ liệu quan hệ trong hàng
và cột.
Tại sao nên sử
dụng kết hợp các
giải pháp này cùng
nhau?
8
✓ Nhu cầu cần thiết để thu thập và làm
việc trên dữ liệu time series cho việc
DepOps, IoT hoặc các dự án phân
tích thời gian thực.
✓ InfluxData & Grafana là hai đối tác hoàn
hảo cho việc thu thập, lưu trữ, và biểu
diễn các số liệu cũng như các sự kiện.
✓ Open Source: Được cung cấp miễn
phí và có thể tùy biến theo người sử
dụng.
Thiết lập cơ bản
9
Architecture
10
Tải về
/>
11
/>
Open Source
Open Source
Dùng thử InfluxCloud & InfluxEnterprise
Dùng thử Hosted Grafana
© 2018 InfluxData. All rights reserved.
Cài đặt Database
INSTALL DATABASE INFLUX
# apt update –y
# apt install influxdb
# systemctl start influxdb
# systemctl status influxdb
# influx -version
12
Tạo một database
CREATE DATABASE telegraf
Last login: Mon Nov 19 10:50:43 on ttys006
~$ influx
Connected to http://localhost:8086 version 0.9
InfluxDB shell 0.9
> create database telegraf
>
13
Kiểm tra database được tạo
SHOW DATABASES
> show databases
name: databases
--------------name
_internal
telegraf
14
Sử dụng Database vừa tạo
USE telegraf
> use telegraf
Using database telegraf
>
15
Kiểm tra dữ liệu đã được ghi
SELECT * FROM cpu
PS. Be careful! This query can be very expensive.
SHOW SERIES
SHOW MEASUREMENTS
16
T
Cấu hình Telegraf
Cài đặt trên Ubuntu 18.04
apt install telegraf –y
Khởi động dịch vụ
systemctl start telegraf
systemctl enable telegraf
Cấu hình telegraf agent
Sửa file: /etc/telegraf/telegraf.conf và các dòng dưới
hostname = "test"
urls = ["http://192.168.x.x:8086"]
database = "telegraf"
username = "telegraf"
password = "P@ssw0rd"
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
17
Demo
Truy cập Grafana :
http://localhost:30
00
18
Demo
-
19
Thêm datasource và các dashboard panel
Graph panel để xem dữ liệu
Thay đổi tùy chọn query và chọn trong Query Inspector
Thêm telegraf datasource, xếp chồng các CPU graphs
Template variable dựa vào CPU
Chú thích dựa trên logs
Một số cấu hình giúp nâng cao hiệu suất
● Nhiều Grafana graphs = trải nghiệm chậm hơn trên browser
● Sử dụng nhiều loại graph
○
○
○
Single-stat
Templating
Annotations
● Thụ gọn các rows
○
○
Tránh việc render các graph không cần thiết
Tiết kiệm space.
● Số lượng lớn series = slow query builder dropdowns
20
Một số cấu hình giúp nâng cao hiệu suất
● InfluxDB khơng cache lại; mỗi query đều được tính tốn lại
○ Khi những query InfluxDB gặp lỗi…
○ ...đừng click nhiều lần lặp lại vào nút refress
● Lấy mẫu dữ liệu độ trung thực cao để có hiệu suất tốt hơn
○ Continuous queries
■ Chạy các query một cách định kỳ được thiết lập
sẵn.
■ Lưu lại kết quả vào các chính sách Retention mới
○ Các chính sách Retention
■ Cho phép dữ liệu hết thời hạn sau khi thiết lập
duration
○ Kapacitor
21
Questions?
Thank you !