HƯỚNG DẪN CÀI ĐẶT TIG STACK (TELEGRAF – INFLUXDB – GRAFANA)

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

  1. Cài đặt InfluxDB
  2. Cấu hình InfluxDB
  3. Cài đặt Telegraf agent
  4. Cấu hình Telegraf agent
  5. Cài đặt Grafana
  6. Kết nối hệ thống
  7. 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