Cách kiểm tra cú pháp cấu hình Prometheus

Cách kiểm tra cú pháp cấu hình PrometheusCuongquach.com | Trong bất kì quá trình sử dụng và quản trị dịch vụ nào trên Linux, chúng ta cũng đều có nhu cầu kiểm tra cú pháp khai báo trong file cấu hình của dịch vụ đó. Prometheus cũng hỗ trợ cách thức kiểm tra cú pháp file cấu hình ‘prometheus.yml‘ cho bạn. Nếu bạn không chịu khó kiểm tra cú pháp cấu hình thì khi Prometheus khởi động lại dịch vụ sẽ thất bại nếu file cấu hình sai cú pháp.

kiem-tra-cu-phap-cau-hinh-prometheus

Thao tác kiểm tra cú pháp cấu hình Prometheus

Công cụ ‘promtool‘ sẽ giúp bạn làm việc này, chương trình này thường đi kèm source cài đặt binary của Prometheus. Nếu bạn chưa có thì có thể download lại bộ cài đặt của Prometheus hoặc coi lại bài viết này : “Hướng dẫn cài đặt Prometheus trên Linux

# cd /opt/
# wget https://github.com/prometheus/prometheus/releases/download/v2.12.0/prometheus-2.12.0.linux-amd64.tar.gz
# cd /opt/
# tar -xzvf prometheus-2.12.0.linux-amd64.tar.gz
# cp prometheus-2.12.0.linux-amd64/promtool /usr/local/bin/
# chmod +x /usr/local/bin/

Giờ ta tạo một file cấu hình dịch vụ Prometheus mẫu để kiểm tra thử nhé. Đây là một file mẫu cơ bản.

# cd /opt/
# vi prometheus.yml
global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'cuongquach_prometheus_master'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

Kiểm tra thử với cú pháp option như dưới nào, bạn sẽ thấy output báo không lỗi và exit code là 0.

# /usr/local/bin/promtool check config prometheus.yml
Checking prometheus.yml
  SUCCESS: 0 rule files found

Giờ ta thêm vài cấu hình sai cú pháp format YAML hoặc chỉ thị sử dụng trong file config.

# vi prometheus.yml
global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'cuongquach_prometheus_master'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

scrape_configs:
  - job_name: 'cuongquach_prometheus_master_1'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

Kiểm tra lại lần nữa, sẽ thấy output báo lỗi và exit code là 1.

# /usr/local/bin/promtool check config prometheus.yml
Checking prometheus.yml
  FAILED: parsing YAML file prometheus.yml: yaml: unmarshal errors:
  line 10: field scrape_configs already set in type config.plain

Vậy là bạn đã biết cách để kiểm tra cú pháp cấu hình dịch vụ Prometheus rồi phải không nào ?! Đây cũng chỉ là một tính năng cơ bản của ‘promtool‘, năng lực của nó còn khá là nhiều khi tương tác với dịch vụ Prometheus đấy. Bên cạnh đó thì dịch vụ Alertmanager sẽ sử dụng ‘amtool‘ để thực hiện việc tương tự như vậy nhằm kiểm tra cú pháp khai báo file config Alertmanager.

Nguồn: https://cuongquach.com/

Previous articleTop 14 website Giảm Dung Lượng Hình Ảnh miễn phí
Next articleEbook Building Microservices (PDF)
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !