Overview
TIG stack là một bộ công cụ phổ biến được sử dụng trong lĩnh vực giám sát và thu thập dữ liệu hệ thống. TIG viết tắt của Telegraf, InfluxDB và Grafana, là 3 thành phần chính của bộ công cụ này
- Telegraf: Là một agent giám sát mã nguồn mở, chuyên nghiệp trong việc thu thập và gửi dữ liệu về các hệ thống và ứng dụng. Telegraf hỗ trợ nhiều nguồn dữ liệu khác nhau và có khả năng mở rộng để tích hợp với nhiều loại hệ thống khác nhau
- InfluxDB: Là một cơ sở dữ liệu dạng time-series, được thiết kế đặc biệt để lưu trữ và truy vấn dữ liệu theo thời gian. Dữ liệu time-series thích hợp cho việc lưu trữ thông tin như log hệ thống, dữ liệu giám sát và các dữ liệu theo thời gian khác
- Grafana: Là một nền tảng giám sát và trực quan hoá dữ liệu mã nguồn mở. Grafana cho phép bạn tạo các đồ thị, biểu đồ và bảng điều khiển để hiển thị từ InfluxDB và các nguồn dữ liệu khác một cách dễ dàng và trực quan. Điều này giúp người quản trị phát triển theo dõi hiệu suất hệ thống, phân tích vấn đề và đưa ra quyết định thông minh
Hoạt động của TIG stack
- Telegraf là 1 agent dùng để thu thập số liệu hệ thống cũng như dịch vụ trên hệ thống mà nó chạy
- Các số liệu được thu thập và đưa vào InfluxDB
- Từ InfluxDB, dữ liệu sẽ được đẩy đến Grafana và hiển thị theo dạng đồ thị trực quan
Triển khai
Hệ thống TIG stack sẽ được triển khai trên hệ điều hành Ubuntu server 22.04
Mục lục
- Cài đặt InfluxDB
- Cấu hình InfluxDB
- Cài đặt Telegraf agent
- Cấu hình Telegraf agent
- Cài đặt Grafana
- Kết nối hệ thống
- Kết nối InfluxDB với Grafana
Hướng dẫn triển khai
Cài đặt InfluxDB
Thêm Influxdata key vào máy chủ
wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add -
Kết nối repository Influxdata và update lại máy chủ
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
apt update -y
Cài đặt InfluxDB
apt install influxdb -y
Khởi động dịch vụ và cấu hình khởi động cùng hệ thống
systemctl start influxdb
systemctl enable influxdb
Kiểm tra trạng thái
systemctl status influxdb
Kiểm tra firewall rule và mở port 8088 và 8006
netstat -plntu
ufw allow 8086
ufw allow 8088
Cấu hình InfluxDB
Chỉnh sửa file cấu hình /etc/influxdb/influxdb.conf
vi /etc/influxdb/influxdb.conf
Sửa các nội dung sau
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# Determines whether the Flux query endpoint is enabled.
flux-enabled = true
# The bind address used by the HTTP service.
bind-address = ":8086"
# Determines whether HTTP request logging is enabled.
log-enabled = true
Thực hiện lệnh sử dụng InfluxDB
influx
Tạo database và user cho Telegraf
> create database telegraf
> create user telegraf with password 'P@ssw0rd' with all privileges
Kiểm tra database và user
> show databases
> show users
Thoát ra ngoài
> exit
Cài Telegraf Agent
Truy cập vào website https://portal.influxdata.com/downloads/ và download file cài đặt cho HĐH Windows
Hoặc cài đặt trên Ubuntu server
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.14.2-1_amd64.deb
sudo dpkg -i telegraf_1.14.2-1_amd64.deb
hoặc
apt install telegraf -y
Khởi động dịch vụ và khởi động cùng hệ thống
systemctl start telegraf
systemctl enable telegraf
Kiểm tra trạng thái dịch vụ
systemctl status telegraf
Cấu hình Telegraf Agent
Sửa file /etc/telegraf/telegraf.conf
Sửa nội dung
hostname = "tig"
urls = ["http://10.10.34.164:8086"]
database = "telegraf"
username = "telegraf"
password = "P@ssw0rd"
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
[[inputs.net]]
[[inputs.netstat]]
Khởi động lại dịch vụ
systemctl restart telegraf
Cài đặt Grafana
Update và cài đặt các gói cần thiết
apt-get install -y apt-transport-https
apt-get install -y software-properties-common wget
apt-get update
apt-get upgrade
reboot
Thêm key vào các gói cài đặt
wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Update và cài đặt Grafana
apt-get update
apt-get install -y grafana
Khởi động dịch vụ và khởi động cùng hệ thống
systemctl start grafana-server
systemctl enable grafana-server
systemctl status grafana-server
Mở port cho Grafana
ufw allow 3000
Kết nối hệ thống
Truy cập vào địa chỉ http://IP-address:3000
Đăng nhập vào bằng tài khoản admin-admin
Thực hiện thay đổi mật khẩu
Kết nối InfluxDB với Grafana
- Chọn mục Configuration -> Ở mục Data Sources -> Nhấn Add data source
- Chọn InfluxDB
- Nhập thông tin của InfluxDB
- Ở mục Name: Đặt tên DB
- Ở mục URL: Nhập http://localhost:8086
- Chọn Basic auth
- Nhập user và password
- Sử dụng database của telegraf
- Nhập user và password của telegraf
- Nhấn Save & Test