Prometheus là một open-source dùng để monitoring application. Nó sẽ collect và store các metrics của ứng dụng đang chạy theo thời gian. Để cài đặt Prometheus sử dụng Docker Compose, các bạn hãy chọn version mà các bạn muốn cài đặt ở trang Docker Hub của Prometheus https://hub.docker.com/r/prom/prometheus trước. Sau đó thì hãy sử dụng tập tin docker-compose.yml có nội dung như sau để cài đặt nó các bạn nhé:
1 2 3 4 5 6 7 8 |
version: '3.9' services: prometheus: image: prom/prometheus container_name: 'prometheus' ports: - 9090:9090 |
Mặc định thì Prometheus chạy trên port 9090 nha các bạn!
Các bạn hãy chạy command “docker compose up” trong thư mục chứa tập tin docker-compose.yml này, các bạn sẽ thấy kết quả như sau:
Nhìn vào những dòng log message trên, các bạn có thể thấy, mặc định thì Prometheus đang sử dụng một tập tin cấu hình ở địa chỉ “/etc/prometheus/prometheus.yml”. Nội dung của tập tin này như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] |
Mình sẽ giải thích nội dung tập tin cấu hinh của Prometheus trong những bài viết sau.
Còn bây giờ thì để có thể chỉnh sửa nội dung của tập tin cấu hình này một cách thuận tiện, các bạn có thể tạo mới tập tin prometheus.yml với nội dung như trên, chứa trong một thư mục nào đó. Sau đó thì sửa lại nội dung của tập tin docker-compose.yaml trên để mount tập tin prometheus.yml mới tạo này trỏ đến đường dẫn “/etc/prometheus/prometheus.yml” bên trong container. Ví dụ của mình như sau:
1 2 3 4 5 6 7 8 9 10 |
version: '3.9' services: prometheus: image: prom/prometheus container_name: 'prometheus' volumes: - ./prometheus/prometheus.yml/:/etc/prometheus/prometheus.yml ports: - 9090:9090 |
Lúc này, chạy lại docker compose up và đi đến địa chỉ http://localhost:9090, các bạn sẽ thấy kết quả như sau:
Như vậy là chúng ta đã cài đặt thành công Prometheus rồi đó các bạn!