使用預編譯二進制文件
我們為Prometheus大多數的官方組件,提供了預編譯二進制文件。可用版本下載列表
源碼安裝
如果要從源碼安裝Prometheus的官方組件,可以查看各個項目源碼目錄下的Makefile
注意點:在web上的文檔指向最新的穩定版(不包括預發布版)。下一個版本指向master分支還沒有發布的版本
Docker安裝
所有Prometheus服務的Docker鏡像在官方組織prom下,都是可用的
在Docker上運行Prometheus服務,只需要簡單地執行docker run -p 9090:9090 prom/prometheus
命令行即可。這條命令會啟動Prometheus服務,使用的是默認配置文件,並對外界暴露9090端口
Prometheus鏡像使用docker中的volumn卷存儲實際度量指標。在生產環境上使用容器卷模式, 可以在Prometheus更新和升級時輕松管理Prometheus數據, 這種使用docker volumn卷方式存儲數據,是被docker官方強烈推薦的.
通過幾個選項,可以達到使用自己的配置的目的。下面有兩個例子。
卷&綁定掛載
在運行Prometheus服務的主機上,做一個本地到docker容器的配置文件關系映射。
docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
或者為這個配置文件使用一個獨立的volumn
docker run -p 9090:9090 -v /prometheus-data \
prom/prometheus -config.file=/prometheus-data/prometheus.yml
自定義鏡像
為了避免在主機上與docker映射配置文件,我們可以直接將配置文件拷貝到docker鏡像中。如果Prometheus配置是靜態的,並且在所有服務器上的配置相同,這種把配置文件直接拷貝到鏡像中的方式是非常好的。
例如:利用Dockerfile創建一個Prometheus配置目錄, Dockerfile應該這樣寫:
FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/
然后編譯和運行它:
docker build -t my-prometheus .
docker run -p 9090:9090 my-prometheus
一個更高級的選項是可以通過一些工具動態地渲染配置,甚至后台定期地更新配置
使用配置管理系統
如果你喜歡使用配置管理系統,你可能對下面地第三方庫感興趣:
Ansible:
- griggheo/ansible-prometheus
- William-Yeh/ansible-prometheus
Chef:
- rayrod2030/chef-prometheus
SaltStack:
- bechtoldt/saltstack-prometheus-formula