Cấu hình Prometheus giám sát dịch vụ Jenkins CI/CD

Cấu hình Prometheus giám sát dịch vụ JenkinsCuongquach.com | Dịch vụ CI/CD Jenkins khá là nổi tiếng trong quy trình triển khai tích hợp liên tục. Nhưng làm sao để giám sát tình trạng sức khoẻ của dịch vụ này cũng là một vấn đề cần quan tâm. Hiện tại các dịch vụ Open Source về sau đều đã và đang hỗ trợ cơ chế giám sát từ dịch vụ Prometheus .

Nên qua bài viết này chúng ta sẽ tìm hiểu vài keyword gợi ý để bạn có thể cấu hình Prometheus giám sát dịch vụ Jenkins nhé. Bài viết này không đi sâu việc cài đặt Prometheus/Jenkins/Grafana,.. tức là các bạn đã biết sử dụng các dịch vụ này rồi.

monitor-jenkins-voi-prometheus
monitor-jenkins-voi-prometheus

1. Cài đặt plugin Prometheus Jenkins

Bạn vào phần quản lý plugin của Jenkins: “Manage Jenkins” > “Manage plugins” > “Available“. Bạn search tên ‘Prometheus‘ thì sẽ ra thông tin plugin.

prometheus jenkins plugin
prometheus jenkins plugin

Ta tiến hành cài đặt plugin này vào.

prometheus jenkins plugin
prometheus jenkins plugin

Sau khi bạn cài đặt hoàn tất thì Jenkins sẽ mở endpoint với url mặc định là (‘/prometheus/‘) , khi bạn truy cập endpoint này bạn sẽ thấy rất nhiều metrics liên quan đến dịch vụ Jenkins giúp cho Prometheus lấy (scrape) được dữ liệu .

Ví dụ : jenkins host của mình có IP là ‘10.100.100.69‘ chạy port 8080.

# curl https://10.100.100.69:8080/prometheus
# HELP jenkins_executor_count_value Generated from Dropwizard metric import (metric=jenkins.executor.count.value, type=jenkins.metrics.impl.JenkinsMetricProviderImpl$12)
# TYPE jenkins_executor_count_value gauge
jenkins_executor_count_value 14.0
# HELP jenkins_executor_free_value Generated from Dropwizard metric import (metric=jenkins.executor.free.value, type=jenkins.metrics.impl.JenkinsMetricProviderImpl$14)
# TYPE jenkins_executor_free_value gauge
jenkins_executor_free_value 14.0
# HELP jenkins_executor_in_use_value Generated from Dropwizard metric import (metric=jenkins.executor.in-use.value, type=jenkins.metrics.impl.JenkinsMetricProviderImpl$13)
# TYPE jenkins_executor_in_use_value gauge
jenkins_executor_in_use_value 0.0
# HELP jenkins_health_check_count Generated from Dropwizard metric import (metric=jenkins.health-check.count, type=jenkins.metrics.api.Metrics$HealthChecker$1)
# TYPE jenkins_health_check_count gauge
jenkins_health_check_count 4.0
# HELP jenkins_health_check_inverse_score Generated from Dropwizard metric import (metric=jenkins.health-check.inverse-score, type=jenkins.metrics.api.Metrics$HealthCheckMetricsProvider$1)
# TYPE jenkins_health_check_inverse_score gauge
jenkins_health_check_inverse_score 0.0
# HELP jenkins_health_check_score Generated from Dropwizard metric import (metric=jenkins.health-check.score, type=jenkins.metrics.api.Metrics$HealthChecker$2)
# TYPE jenkins_health_check_score gauge
jenkins_health_check_score 1.0
# HELP jenkins_job_averageDepth Generated from Dropwizard metric import (metric=jenkins.job.averageDepth, type=jenkins.metrics.impl.JenkinsMetricProviderImpl$16)
# TYPE jenkins_job_averageDepth gauge
jenkins_job_averageDepth 1.0

2. Cấu hình Prometheus lấy dữ liệu metric từ Jenkins

Kế đến cũng đơn giản, nếu bạn đã quen với Prometheus rồi thì ta chỉ cần cấu hình đối tượng giám sát dịch vụ Jenkins.

# vi /etc/prometheus/prometheus.yml
..
  - job_name: 'jenkins'
    metrics_path: /prometheus
    static_configs:
    - targets: ['10.0.4.200:8080']

Khởi động lại dịch vụ Prometheus để nhận thông tin cấu hình mới.

# systemctl restart prometheus

3. Cấu hình Grafana cho Prometheus Jenkins

Lúc này bạn hẳn đã biết cách cấu hình ‘data source‘ (nguồn dữ liệu) cho Grafana từ Prometheus.

Kế đến bạn có thể lấy template Grafana Jenkins ở đây để tham khảo cách bố trí hiển thị thông tin giám sát dịch vụ Jenkins: https://grafana.com/dashboards/306

Hình ảnh dashboard Grafana Jenkins template đó như dưới.

Như vậy với vài bước hướng dẫn cơ bản đủ để bạn biết cách thực hiện cấu hình Prometheus giám sát dịch vụ CI/CD Jenkins rồi phải không nào. Chúc bạn thành công nhé.

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

Previous articleCấu hình Jenkins Pipeline tích hợp với Slack
Next articleCấu hình EC2 Instance truy cập S3 bằng IAM Role
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 !