X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/60b17d993f673aa030803adfff85ae9737dea060..08cf52e21395d633afe7de03f255aaa0941bac1d:/cookbooks/php/resources/fpm.rb diff --git a/cookbooks/php/resources/fpm.rb b/cookbooks/php/resources/fpm.rb index d70efe53c..c461cf679 100644 --- a/cookbooks/php/resources/fpm.rb +++ b/cookbooks/php/resources/fpm.rb @@ -36,6 +36,7 @@ property :php_admin_values, :kind_of => Hash, :default => {} property :php_flags, :kind_of => Hash, :default => {} property :php_admin_flags, :kind_of => Hash, :default => {} property :reload_fpm, :kind_of => [TrueClass, FalseClass], :default => true +property :prometheus_port, :kind_of => Integer action :create do template conf_file do @@ -46,12 +47,31 @@ action :create do mode "644" variables new_resource.to_hash end + + if new_resource.prometheus_port + prometheus_exporter "phpfpm" do + port new_resource.prometheus_port + service service_name + command "server" + options "--phpfpm.scrape-uri=#{scrape_uri}" + end + else + prometheus_exporter "phpfpm" do + action :delete + service service_name + end + end end action :delete do file conf_file do action :delete end + + prometheus_exporter "phpfpm" do + action :delete + service service_name + end end action_class do @@ -62,6 +82,18 @@ action_class do def conf_file "/etc/php/#{php_version}/fpm/pool.d/#{new_resource.pool}.conf" end + + def service_name + "phpfpm-#{new_resource.pool}" + end + + def scrape_uri + if new_resource.port + "tcp://127.0.0.1:#{new_resource.port}/status" + else + "unix:///run/php/#{new_resource.pool}.sock;/status" + end + end end def after_created