Cách cài đặt TIG Stack (Telegraf, InfluxDB và Grafana) trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Ngăn xếp TIG (Telegraf, InfluxDB và Grafana) là từ viết tắt của một nền tảng các công cụ nguồn mở giúp việc thu thập, lưu trữ, lập biểu đồ và cảnh báo các số liệu hệ thống trở nên dễ dàng hơn. Bạn có thể theo dõi và trực quan hóa các số liệu như bộ nhớ, dung lượng đĩa, người dùng đã đăng nhập, tải hệ thống, mức sử dụng hoán đổi, thời gian hoạt động, quy trình đang chạy, v.v. từ một nơi. Các công cụ được sử dụng trong ngăn xếp như sau:
  • Telegraf - là một tác nhân thu thập số liệu nguồn mở để thu thập và gửi dữ liệu và sự kiện từ cơ sở dữ liệu, hệ thống và cảm biến IoT. Nó hỗ trợ nhiều plugin đầu ra khác nhau như InfluxDB, Graphite, Kafka, v.v. mà nó có thể gửi dữ liệu đã thu thập được.
  • InfluxDB - là một cơ sở dữ liệu chuỗi thời gian nguồn mở được viết bằng ngôn ngữ Go. Nó được tối ưu hóa cho lưu trữ nhanh, có tính khả dụng cao và phù hợp với mọi thứ liên quan đến lượng lớn dữ liệu có dấu thời gian, bao gồm số liệu, sự kiện và phân tích thời gian thực.
  • Grafana - là một bộ công cụ giám sát và trực quan hóa dữ liệu nguồn mở. Nó hỗ trợ nhiều plugin đầu vào khác nhau như Graphite, ElasticSearch, InfluxDB, v.v. Nó cung cấp bảng điều khiển đẹp mắt và phân tích số liệu cho phép bạn trực quan hóa và theo dõi mọi loại số liệu hệ thống và dữ liệu hiệu suất.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và cấu hình TIG Stack trên một máy chủ Ubuntu 22.04 duy nhất.

Điều kiện tiên quyết​


  1. Một máy chủ chạy Ubuntu 22.04.

  2. Một người dùng không dùng sudo có quyền root.

  3. Tường lửa đơn giản (UFW) được bật và đang chạy.

  4. Đảm bảo rằng mọi thứ đều được cập nhật.
    Mã:
    $ sudo apt update && sudo apt upgrade

Bước 1 - Cấu hình Tường lửa​

Trước khi cài đặt bất kỳ gói nào, bước đầu tiên là cấu hình tường lửa để mở cổng cho InfluxDB và Grafana.

Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo ufw status
Bạn sẽ thấy nội dung tương tự như sau.
Mã:
Trạng thái: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)
Mở cổng 8086 cho InfluxDB và 3000 cho máy chủ Grafana.
Mã:
$ sudo ufw allow 8086$ sudo ufw allow 3000
Kiểm tra lại trạng thái để xác nhận.
Mã:
$ sudo ufw statusTrạng thái: activeĐến Hành động Từ-- ------ ----OpenSSH ALLOW Anywhere8086 ALLOW Anywhere3000 ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)8086 (v6) ALLOW Anywhere (v6)3000 (v6) ALLOW Anywhere (v6)

Bước 2 - Cài đặt InfluxDB​

Chúng tôi sẽ sử dụng kho lưu trữ chính thức của InfluxDB để cài đặt.

Tải xuống khóa GPG của InfluxDB.
Mã:
$ wget -q https://repos.influxdata.com/influxdb.key
Nhập khóa GPG vào máy chủ.
Mã:
$ echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
Nhập kho lưu trữ InfluxDB.
Mã:
$ echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
Cập nhật danh sách kho lưu trữ của hệ thống.
Mã:
$ sudo apt update
Bạn có tùy chọn cài đặt InfluxDB 1.8.x hoặc 2.0.x. Tuy nhiên, tốt hơn là sử dụng phiên bản mới nhất. Cài đặt InfluxDB.
Mã:
$ sudo apt install influxdb2
Khởi động dịch vụ InfluxDB.
Mã:
$ sudo systemctl start influxdb
Kiểm tra trạng thái của dịch vụ.
Mã:
$ sudo systemctl status influxdb? influxdb.service - InfluxDB là cơ sở dữ liệu chuỗi thời gian phân tán, mã nguồn mở Đã tải: đã tải (/lib/systemd/system/influxdb.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ ba 2022-09-13 00:00:27 UTC; 42 giây trước Tài liệu: https://docs.influxdata.com/influxdb/ Quy trình: 12514 ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh (code=exited, status=0/SUCCESS) PID chính: 12515 (influxd) Nhiệm vụ: 7 (giới hạn: 1030) Bộ nhớ: 48,5M CPU: 547ms CGroup: /system.slice/influxdb.service ??12515 /usr/bin/influxd........

Bước 3 - Tạo cơ sở dữ liệu InfluxDB và thông tin xác thực của người dùng​

Để lưu trữ dữ liệu từ Telegraf, bạn cần thiết lập cơ sở dữ liệu Influx và người dùng.

InfluxDB đi kèm với một công cụ dòng lệnh có tên là influx để tương tác với máy chủ InfluxDB. Hãy nghĩ đến influx như là công cụ dòng lệnh mysql.

Chạy lệnh sau để thực hiện cấu hình ban đầu cho Influx.
Mã:
$ influx setup> Chào mừng đến với InfluxDB 2.0!? Vui lòng nhập tên người dùng chính của bạn navjot? Vui lòng nhập mật khẩu của bạn ***************? Vui lòng nhập lại mật khẩu của bạn ***************? Vui lòng nhập tên tổ chức chính của bạn howtoforge? Vui lòng nhập tên thùng chính của bạn tigstack? Vui lòng nhập thời gian lưu giữ của bạn tính theo giờ hoặc 0 cho 360 vô hạn? Thiết lập với các tham số này? Tên người dùng: navjot Tổ chức: howtoforge Thùng: tigstack Thời gian lưu giữ: 360h0m0s CóTổ chức người dùng Thùngnavjot howtoforge tigstack
Bạn cần thiết lập tên người dùng, mật khẩu, tên tổ chức, tên thùng chính để lưu trữ dữ liệu và thời gian lưu giữ tính theo giờ cho dữ liệu đó. Chi tiết của bạn được lưu trữ trong tệp /home/username/.influxdbv2/configs.

Bạn cũng có thể thực hiện thiết lập này bằng cách khởi chạy URL http://<serverIP>:8086/ trong trình duyệt của bạn. Sau khi thực hiện thiết lập ban đầu, bạn có thể đăng nhập vào URL bằng thông tin đăng nhập đã tạo ở trên.



Bạn sẽ được chào đón bằng bảng điều khiển sau.



Quá trình thiết lập ban đầu tạo một mã thông báo mặc định có quyền truy cập đọc và ghi đầy đủ vào tất cả các tổ chức trong cơ sở dữ liệu. Bạn cần một mã thông báo mới cho mục đích bảo mật, mã thông báo này sẽ chỉ kết nối với tổ chức và nhóm mà chúng ta muốn kết nối.

Để tạo mã thông báo mới, hãy nhấp vào biểu tượng sau từ thanh bên trái và nhấp vào liên kết Mã thông báo API để tiếp tục.



Bạn sẽ được đưa đến trang Mã thông báo API. Tại đây, bạn sẽ thấy mã thông báo mặc định mà chúng ta đã tạo tại thời điểm cấu hình ban đầu.



Nhấp vào nút Tạo mã thông báo và chọn tùy chọn Đọc/Ghi mã thông báo để khởi chạy cửa sổ bật lên lớp phủ mới. Đặt tên cho Mã thông báo (telegraf) và chọn thùng mặc định mà chúng ta đã tạo trong cả hai phần ĐọcGhi.



Nhấp vào Lưu để hoàn tất việc tạo mã thông báo. Nhấp vào tên của mã thông báo mới tạo để hiển thị cửa sổ bật lên có giá trị mã thông báo.



Lưu ngay vì chúng ta sẽ cần đến nó sau.

Quá trình cài đặt và cấu hình InfluxDB hoàn tất. Tiếp theo, chúng ta cần cài đặt Telegraf.

Bước 4 - Cài đặt Telegraf​

Telegraf và InfluxDB chia sẻ cùng một kho lưu trữ. Điều này có nghĩa là bạn có thể cài đặt Telegraf trực tiếp.
Mã:
$ sudo apt install telegraf
Dịch vụ của Telegraf được bật và tự động bắt đầu trong quá trình cài đặt.

Telegraf là một tác nhân được điều khiển bởi plugin và có 4 loại plugin:
  1. Input plugins thu thập số liệu.
  2. Processor plugins chuyển đổi, trang trí và lọc số liệu.
  3. Aggregator plugins tạo và tổng hợp số liệu.
  4. Output plugins xác định các đích đến mà số liệu được gửi bao gồm cả InfluxDB.
Telegraf lưu trữ cấu hình của mình cho tất cả các plugin này trong tệp /etc/telegraf/telegraf.conf. Bước đầu tiên là kết nối Telegraf với InfluxDB bằng cách bật plugin đầu ra influxdb_v2. Mở tệp /etc/telegraf/telegraf.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/telegraf/telegraf.conf
Tìm dòng [[outputs.influxdb_v2]] và bỏ chú thích bằng cách xóa # ở phía trước dòng đó. Chỉnh sửa mã bên dưới dòng đó theo cách sau.
Mã:
# # Cấu hình để gửi số liệu đến InfluxDB 2.0 [[outputs.influxdb_v2]]# ## URL của các nút cụm InfluxDB.# ### ## Có thể chỉ định nhiều URL cho một cụm duy nhất, chỉ MỘT trong số# ## url sẽ được ghi vào mỗi khoảng thời gian.# ## ví dụ: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"] urls = ["http://127.0.0.1:8086"]## ## Mã thông báo để xác thực. token = "$INFLUX_TOKEN"## ## Tổ chức là tên của tổ chức mà bạn muốn ghi vào. organization = "howtoforge"## ## Thùng đích để ghi vào. bucket = "tigstack"
Dán giá trị mã thông báo InfluxDB đã lưu trước đó vào vị trí của biến $INFLUX_TOKEN trong mã ở trên.

Tìm kiếm dòng INPUT PLUGINS và bạn sẽ thấy các plugin đầu vào sau được bật theo mặc định.
Mã:
# Đọc số liệu về mức sử dụng CPU[[inputs.cpu]] ## Có báo cáo số liệu thống kê theo CPU hay không percpu = true ## Có báo cáo số liệu thống kê CPU toàn hệ thống hay không totalcpu = true ## Nếu đúng, thu thập số liệu thống kê thời gian CPU thô collect_cpu_time = false ## Nếu đúng, tính toán và báo cáo tổng của tất cả các trạng thái CPU không nhàn rỗi report_active = false ## Nếu đúng và thông tin có sẵn thì thêm thẻ core_id và physical_id core_tags = false# Đọc số liệu thống kê về mức sử dụng đĩa theo điểm gắn kết[[inputs.disk]] ## Theo mặc định, số liệu thống kê sẽ được thu thập cho tất cả các điểm gắn kết. ## Đặt mount_points sẽ giới hạn số liệu thống kê chỉ ở các điểm gắn kết đã chỉ định. # mount_points = ["/"] ## Bỏ qua các điểm gắn kết theo loại hệ thống tệp. ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] ## Bỏ qua các điểm gắn kết theo tùy chọn gắn kết. ## Lệnh 'mount' báo cáo các tùy chọn của tất cả các điểm gắn kết trong ngoặc đơn. ## Có thể bỏ qua các điểm gắn kết liên kết bằng tùy chọn 'bind' đặc biệt. # ignore_mount_opts = []# Đọc số liệu thống kê về IO đĩa theo thiết bị[[inputs.diskio]]........# Lấy số liệu thống kê hạt nhân từ /proc/stat[[inputs.kernel]] # không có cấu hình# Đọc số liệu thống kê về mức sử dụng bộ nhớ[[inputs.mem]] # không có cấu hình# Lấy số lượng quy trình và nhóm chúng theo trạng thái[[inputs.processes]] # không có cấu hình# Đọc số liệu thống kê về mức sử dụng bộ nhớ hoán đổi[[inputs.swap]] # không có cấu hình# Đọc số liệu thống kê về tải hệ thống & uptime[[inputs.system]] # không có cấu hình
Bạn có thể cấu hình các plugin đầu vào bổ sung tùy theo yêu cầu của mình, bao gồm Apache Server, Docker container, Elasticsearch, tường lửa iptables, Kubernetes, Memcached, MongoDB, MySQL, Nginx, PHP-fpm, Postfix, RabbitMQ, Redis, Varnish, Wireguard, PostgreSQL, v.v.

Sau khi hoàn tất, hãy lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại dịch vụ Telegraf sau khi bạn hoàn tất việc áp dụng các thay đổi.
Mã:
$ sudo systemctl restart telegraf

Bước 5 - Xác minh xem số liệu thống kê Telegraf có được lưu trữ trong InfluxDB hay không​

Trước khi tiến hành thêm, bạn cần xác minh xem số liệu thống kê Telegraf có được thu thập và đưa vào đúng cách hay không InfluxDB. Mở Giao diện người dùng InfluxDB trong trình duyệt của bạn và nhấp vào biểu tượng thứ ba từ thanh bên trái và chọn menu Buckets.



Nhấp vào tigstack và bạn sẽ được chào đón bằng trang sau.



Nhấp vào tên bucket rồi nhấp vào một trong các giá trị trong bộ lọc _measurement và tiếp tục nhấp vào các giá trị khác khi chúng xuất hiện. Khi bạn hoàn tất, hãy nhấp vào nút Gửi. Bạn sẽ thấy một biểu đồ ở trên cùng. Bạn có thể cần đợi một lúc để dữ liệu xuất hiện.



Điều này sẽ xác nhận rằng dữ liệu đang được truyền đi chính xác.

Bước 6 - Cài đặt Grafana​

Chúng tôi sẽ sử dụng kho lưu trữ Grafana chính thức để cài đặt nó. Nhập khóa GPG của Grafana.
Mã:
$ sudo wget -q -O /usr/share/keyrings/grafana.key https://packages.grafana.com/gpg.key
Thêm kho lưu trữ vào hệ thống của bạn.
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Cập nhật danh sách kho lưu trữ hệ thống.
Mã:
$ sudo apt update
Cài đặt Grafana.
Mã:
$ sudo apt install grafana
Khởi động và kích hoạt dịch vụ Grafana.
Mã:
$ sudo systemctl enable grafana-server --now
Kiểm tra trạng thái dịch vụ.
Mã:
$ sudo systemctl status grafana-server? grafana-server.service - Phiên bản Grafana Đã tải: đã tải (/lib/systemd/system/grafana-server.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Ba 2022-09-13 01:04:47 UTC; 2 giây trước Tài liệu: http://docs.grafana.org PID chính: 13674 (grafana-server) Nhiệm vụ: 7 (giới hạn: 1030) Bộ nhớ: 104,6M CPU: 1,050 giây CGroup: /system.slice/grafana-server.service ??13674 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/log/grafana.......

Bước 7 - Thiết lập Nguồn dữ liệu Grafana​

Khởi chạy URL http://<serverIP>:3000 trong trình duyệt của bạn và trang đăng nhập Grafana sau đây sẽ chào đón bạn.



Đăng nhập bằng tên người dùng mặc định admin và mật khẩu admin. Tiếp theo, bạn cần thiết lập mật khẩu mặc định mới.



Bạn sẽ được chào đón bằng trang chủ Grafana sau. Nhấp vào nút Thêm nguồn dữ liệu đầu tiên của bạn.



Nhấp vào nút InfluxDB.



Trên trang tiếp theo, chọn Flux từ menu thả xuống làm ngôn ngữ truy vấn. Bạn có thể sử dụng InfluxQL làm ngôn ngữ truy vấn, nhưng cấu hình phức tạp hơn vì mặc định nó chỉ hỗ trợ InfluxDB v1.x. Flux hỗ trợ InfluxDB v2.x và dễ thiết lập và cấu hình hơn.



Nhập các giá trị sau.

URL:
Truy cập: Máy chủ

Chi tiết xác thực cơ bản

Người dùng: navjot

Mật khẩu: <yourinfluxdbpassword>

Chi tiết InfluxDB

Tổ chức: howtoforge

Mã thông báo: <influxdbtoken>

Gầu mặc định: tigstack



Nhấp vào Lưu và kiểm tra và bạn sẽ thấy thông báo xác nhận xác minh thiết lập thành công.


Bước 8 - Thiết lập Bảng điều khiển Grafana​

Bước tiếp theo là thiết lập Bảng điều khiển Grafana. Nhấp vào dấu có bốn ô vuông và chọn Bảng điều khiển để mở màn hình Tạo bảng điều khiển.



Ở trang tiếp theo, nhấp vào nút Thêm bảng điều khiển mới để khởi chạy màn hình sau.



Dán mã sau vào Trình chỉnh sửa truy vấn. Đoạn mã này
Mã:
from(bucket: "NAMEOFYOUBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) = > r["_measurement"] == "cpu") |> filter(fn: (r) => r["_field"] == "usage_idle") |> filter(fn: (r) => r["cpu"] == "cpu-total") |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> map(fn: (r) => ({ r with _value: r._value * -1.0 + 100.0 })) |> toFloat() |> yield(name: "mean")
Sử dụng tên bucket mà chúng ta đã sử dụng ở trên. Và tên của máy chủ mà bạn có thể lấy từ tệp /etc/hostname.

Mã trên sẽ tính toán Mức sử dụng CPU và tạo biểu đồ cho nó. Đặt Tiêu đề cho Bảng điều khiển.



Nhấp vào nút Trình kiểm tra truy vấn rồi nhấp vào nút Làm mới để xác minh xem truy vấn của bạn có hoạt động thành công không. Nhấp vào biểu tượng dấu thập để đóng thanh tra.



Bạn cũng có thể đặt tên cho trục bằng cách sử dụng trường Nhãn ở bên phải trong phần Trục.



Nhấp vào nút Áp dụng để lưu bảng điều khiển.

Nhấp vào nút Lưu bảng điều khiển khi hoàn tất.



Đặt tên cho bảng điều khiển và nhấp vào Lưu để hoàn tất.



Bảng điều khiển sẽ mở ra và sau đó nhấp vào nút Thêm bảng điều khiển để tạo một bảng điều khiển khác.



Lặp lại quy trình bằng cách tạo một bảng điều khiển khác để Sử dụng RAM.
Mã:
from(bucket: "NAMEOFYOUBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "mem") |> filter(fn: (r) => r["_field"] == "used_percent") |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")
Và sử dụng mã sau để hiển thị Mức sử dụng HDD.
Mã:
from(bucket: "NAMEOFYOURBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "disk") |> filter(fn: (r) => r["_field"] == "used") |> filter(fn: (r) => r["path"] == "/") |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> map(fn: (r) => ({ r with _value: r._value / 1000000.0 })) |> toFloat() |> yield(name: "mean")
Bạn có thể tạo số lượng bảng điều khiển không giới hạn.

Đoạn mã trên dựa trên ngôn ngữ Flux Scripting. May mắn thay, bạn không cần phải học ngôn ngữ này để viết truy vấn. Bạn có thể tạo truy vấn từ URL InfluxDB. Mặc dù việc học ngôn ngữ có thể có lợi trong việc tối ưu hóa các truy vấn.

Bạn cần quay lại bảng điều khiển InfluxDB và mở trang Explore để lấy truy vấn.

Nhấp vào tên thùng rồi nhấp vào một trong các giá trị trong bộ lọc _measurement và tiếp tục nhấp vào các giá trị khác khi chúng xuất hiện. Khi bạn hoàn tất, hãy nhấp vào nút Script Editor và bạn sẽ thấy trang sau. Biểu đồ cũng sẽ được cập nhật.





Sao chép truy vấn được hiển thị và bây giờ bạn có thể sử dụng nó trong bảng điều khiển Grafana để xây dựng biểu đồ của mình.

Bước 9 - Cấu hình Cảnh báo và Thông báo​

Mục đích chính của việc thiết lập màn hình là để nhận cảnh báo kịp thời khi giá trị vượt quá ngưỡng nhất định.

Bước đầu tiên là thiết lập đích đến mà bạn muốn nhận cảnh báo. Bạn có thể nhận thông báo qua Email, Slack, Kafka, Google Hangouts Chat, Microsoft Teams, Telegram, v.v.

Chúng tôi sẽ bật thông báo qua email cho hướng dẫn của mình. Để thiết lập thông báo qua Email, trước tiên chúng ta cần cấu hình dịch vụ SMTP. Mở tệp /etc/grafana/grafana.ini để cấu hình SMTP.
Mã:
$ sudo nano /etc/grafana/grafana.ini
Tìm dòng sau [smtp] trong đó. Bỏ chú thích các dòng sau và nhập giá trị cho máy chủ SMTP tùy chỉnh.
Mã:
[smtp]enabled = truehost = email-smtp.us-west-2.amazonaws.com:587user = YOURUSERNAME# Nếu mật khẩu chứa # hoặc ;, bạn phải đặt nó trong dấu ngoặc kép ba. Ví dụ """#password;"""password = YOURUSERPASSWORD;cert_file =;key_file =;skip_verify = falsefrom_address = [emailprotected]from_name = HowtoForge Grafana# EHLO identity trong hộp thoại SMTP (mặc định là instance_name);ehlo_identity = dashboard.example.com# SMTP startTLS policy (mặc định là 'OpportunisticStartTLS');startTLS_policy = NoStartTLS
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại máy chủ Grafana để áp dụng các cài đặt.
Mã:
$ sudo systemctl restart grafana-server
Mở trang Grafana và nhấp vào biểu tượng Cảnh báo rồi nhấp vào Điểm liên hệ.



Grafana tự động tạo và thiết lập điểm liên hệ email mặc định cần được cấu hình với địa chỉ email chính xác. Nhấp vào nút chỉnh sửa trên điểm liên hệ grafana-default-email.



Nhập thông tin chi tiết để thiết lập kênh thông báo qua email.



Nếu bạn muốn gửi thêm tin nhắn, hãy nhấp vào liên kết Cài đặt email tùy chọn và nhập tin nhắn.



Nhấp vào Kiểm tra để xem cài đặt email có hoạt động không. Nhấp vào Lưu khi hoàn tất.

Bây giờ chúng ta đã thiết lập kênh thông báo, chúng ta cần thiết lập cảnh báo về thời điểm nhận những email này. Để thiết lập cảnh báo, bạn cần quay lại bảng điều khiển.

Nhấp vào Bảng điều khiển >> Duyệt để mở trang Bảng điều khiển.



Nhấp vào bảng điều khiển mà chúng ta vừa tạo và bạn sẽ nhận được trang chủ của bảng điều khiển với các bảng điều khiển khác nhau. Để chỉnh sửa bảng điều khiển, hãy nhấp vào tên của bảng điều khiển và một menu thả xuống sẽ bật lên. Nhấp vào liên kết Chỉnh sửa để tiếp tục.



Nhấp vào Bảng điều khiển cảnh báo và nhấp vào nút Tạo quy tắc cảnh báo từ bảng điều khiển này để thiết lập cảnh báo mới.



Bây giờ bạn có thể định cấu hình các điều kiện mà Grafana sẽ gửi cảnh báo.



Theo mặc định, loại cảnh báo đã chọn là cảnh báo do Grafana quản lý. Nhấp vào menu thả xuống để thay đổi phạm vi thời gian thành 15 phút cuối, nghĩa là nó sẽ kiểm tra từ 15 phút trước đến bây giờ.


Điều kiện​

Grafana hoạt động trên truy vấn có định dạng sau để xác định thời điểm đưa ra cảnh báo.
Mã:
avg() OF query(A) IS BELOW 14
  • avg() kiểm soát cách giá trị cho mỗi chuỗi sẽ được giảm xuống một giá trị tương đương với ngưỡng. Bạn có thể nhấp vào tên hàm để chọn một hàm khác như avg(), min(), max(), sum(), count(), v.v.


  • query(A) Chữ cái trong ngoặc vuông xác định truy vấn nào sẽ thực thi từ tab Metrics.

  • IS BELOW 14 Xác định loại ngưỡng và giá trị ngưỡng. Bạn có thể nhấp vào IS BELOW để chọn một loại ngưỡng khác.

Bạn có thể thêm điều kiện thứ hai bên dưới bằng cách nhấp vào nút + bên dưới điều kiện đầu tiên. Hiện tại, bạn chỉ có thể sử dụng toán tử ANDOR giữa nhiều điều kiện.


Quy tắc​

  • Tên - Nhập tên mô tả cho cảnh báo
  • Thư mục - Tạo hoặc chọn thư mục có sẵn để lưu trữ quy tắc thông báo của bạn.
  • Nhóm - Nhập tên cho nhóm cảnh báo của bạn. Cảnh báo trong một nhóm duy nhất được đánh giá sau cùng một khoảng thời gian.
  • Đánh giá mọi - Chỉ định tần suất Grafana nên đánh giá cảnh báo. Nó cũng được gọi là khoảng thời gian đánh giá. Bạn có thể đặt bất kỳ giá trị nào bạn muốn tại đây.

Không có dữ liệu & Xử lý lỗi​

Bạn có thể định cấu hình cách Grafana nên xử lý các truy vấn không trả về dữ liệu hoặc chỉ trả về giá trị null bằng cách sử dụng các điều kiện sau:
  1. Không có dữ liệu - Đặt trạng thái quy tắc thành Không có dữ liệu
  2. Cảnh báo - Đặt trạng thái quy tắc thành Cảnh báo
  3. Được - Đặt trạng thái quy tắc cảnh báo thành Được, tức là bạn sẽ nhận được cảnh báo ngay cả khi mọi thứ vẫn ổn.
Bạn có thể cho Grafana biết cách xử lý lỗi thực thi hoặc lỗi hết thời gian chờ.
  1. Cảnh báo - Đặt trạng thái quy tắc thành Cảnh báo
  2. Được - Đặt trạng thái quy tắc cảnh báo thành Được, tức là bạn sẽ nhận được cảnh báo ngay cả khi mọi thứ vẫn ổn.
  3. Lỗi - Đặt trạng thái quy tắc cảnh báo thành Lỗi để chỉ ra rằng có sự cố.
Sau khi hoàn tất, hãy nhấp vào nút Xem trước cảnh báo để xem mọi thứ có hoạt động tốt không. Nhấp vào nút Lưu và thoát ở góc trên bên phải để hoàn tất việc thêm cảnh báo. Bây giờ bạn sẽ bắt đầu nhận được cảnh báo qua email của mình.

Kết luận​

Bài hướng dẫn về cài đặt và cấu hình TIG Stack trên máy chủ Ubuntu 22.04 Based kết thúc tại đây. Nếu bạn có bất kỳ câu hỏi nào, hãy đăng chúng trong phần bình luận bên dưới.
 
Back
Bên trên