Tôi muốn giám sát các máy chủ khác nhau bằng Prometheus được cung cấp bởi các nhà xuất khẩu như nhà xuất khẩu nút hoặc nhà xuất khẩu postgres. Các số liệu phải được trình bày trong Grafana dưới dạng bảng điều khiển và cảnh báo.
Các nhà xuất khẩu sẽ được nhập theo các mục tiêu sau trong prometheus.yml:
toàn cầu:
scrape_interval: 15s
nhãn bên ngoài:
màn hình: 'codelab-màn hình'
cạo_configs:
- job_name: 'nhà xuất khẩu nút'
scrape_interval: 5s
tĩnh_config:
- mục tiêu: ['123.123.123.1:9100', '123.123.123.2:9100', '123.123.123.3:9100']
- job_name: 'postgres-xuất khẩu'
tĩnh_config:
- mục tiêu: ['123.123.123.3:9187']
Không thể liên kết các máy chủ bằng URL/tên máy chủ thân thiện với người dùng.
Tôi muốn xây dựng bảng điều khiển và cảnh báo cho các mục tiêu này trong Grafana, nhưng với mục tiêu là trong bảng điều khiển và cảnh báo không hiển thị IP của máy chủ mà là tên máy chủ của chúng.
Bảng điều khiển sẽ có hai phần khác nhau:
1. Đồ thị cho số liệu của các máy chủ cụ thể, được chọn theo bộ lọc biến, ví dụ.
2. Đồ thị cho số liệu của tất cả các máy chủ, với nhãn phiên bản, ví dụ.
Vì trường hợp 1 Tôi đã tìm thấy giải pháp hiển thị tên máy chủ thay vì IP trong bộ lọc thả xuống. Vì vậy, tôi đã tạo hai biến:
Tên |
Truy vấn |
Nhãn mác |
Ẩn giấu |
tên máy chủ |
nhãn_giá trị (tên nút) |
Chủ nhà: |
|
ví dụ |
label_values(node_uname_info{nodename="$hostname"}, ví dụ) |
|
Biến đổi |
Số liệu của bảng điều khiển được lọc theo biến $instance
:
100 - tốc độ(node_cpu_seconds_total{mode="idle", instance="$instance"}[1m]) * 100
bên trong trường hợp 2, tôi không thành công. Tôi muốn đặt tên máy chủ bên dưới biểu đồ bảng. Nhưng trong Huyền thoại
-field Tôi chỉ có thể truy cập phiên bản (tổ hợp IP/cổng) của số liệu chứ không phải tên máy chủ:
tôi không thể truy cập vào $hostname
-biến trong Huyền thoại
-cánh đồng.
Vậy làm cách nào tôi có thể đặt tên máy chủ bên dưới biểu đồ bảng? Có một cách nội bộ Grafana hay tôi phải thao tác với prometheus.yml?