From: Grant Slater Date: Sat, 4 Apr 2020 21:09:25 +0000 (+0100) Subject: tilecache: add basic performance monitor script X-Git-Url: https://git.openstreetmap.org./chef.git/commitdiff_plain/7585a1716c3d5974561c02e9cd488789491aeabf tilecache: add basic performance monitor script --- diff --git a/cookbooks/tilecache/files/default/tilecache-curl-time.txt b/cookbooks/tilecache/files/default/tilecache-curl-time.txt new file mode 100644 index 000000000..3da02a7d8 --- /dev/null +++ b/cookbooks/tilecache/files/default/tilecache-curl-time.txt @@ -0,0 +1 @@ +%{time_total},%{http_code},%{url_effective},%{time_namelookup},%{time_connect},%{time_appconnect},%{time_pretransfer},%{time_redirect},%{time_starttransfer}\n diff --git a/cookbooks/tilecache/recipes/default.rb b/cookbooks/tilecache/recipes/default.rb index f1bab2e57..a9952b9f9 100644 --- a/cookbooks/tilecache/recipes/default.rb +++ b/cookbooks/tilecache/recipes/default.rb @@ -30,6 +30,7 @@ package "apache2" do end package %w[ + curl xz-utils openssl ] @@ -170,3 +171,37 @@ tilerenders.each do |render| conf_variables :host => render[:fqdn] end end + +template "/etc/cron.d/tilecache" do + source "cron.erb" + owner "root" + group "root" + mode 0o644 +end + +directory "/src/tilecache" + owner "root" + group "root" + mode 0o755 +end + +directory "/src/tilecache/data" + owner "www-data" + group "www-data" + mode 0o755 +end + +file "/src/tilecache/tilecache-curl-time.txt" do + source "tilecache-curl-time.txt" + owner "root" + group "root" + mode 0o755 +end + +template "/src/tilecache/tilecache-curl-time" do + source "tilecache-curl-time.erb" + owner "root" + group "root" + mode 0o755 + variables :caches => tilecaches, :renders => tilerenders +end diff --git a/cookbooks/tilecache/templates/default/tilecache-curl-time.erb b/cookbooks/tilecache/templates/default/tilecache-curl-time.erb new file mode 100644 index 000000000..cc066c0f1 --- /dev/null +++ b/cookbooks/tilecache/templates/default/tilecache-curl-time.erb @@ -0,0 +1,38 @@ +#!/bin/bash +mkdir -p /src/tilecache/data/$(date --utc "+%Y/%m") +<% @caches.each do |cache| -%> +<% if cache[:hostname] != node[:hostname] -%> +<% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%> + curl -w "@/src/tilecache/tilecache-curl-time.txt" -o /dev/null -s -k -4 \ + 'https://<%= cache[:hostname] %>/19/262106/174485.png' \ + -H 'authority: c.tile.openstreetmap.org' \ + -H 'sec-fetch-dest: image' \ + -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' \ + -H 'dnt: 1' \ + -H 'accept: image/webp,image/apng,image/*,*/*;q=0.8' \ + -H 'sec-fetch-site: same-site' \ + -H 'sec-fetch-mode: no-cors' \ + -H 'referer: https://www.openstreetmap.org/' \ + -H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \ + --compressed | tee -a /src/tilecache/data/$(date --utc "+%Y/%m")/tilecache-<%= render[:hostname] %>-$(date --utc --iso-8601).txt +<% end -%> +<% end -%> +<% end -%> +<% @renders.each do |render| -%> +<% if render[:hostname] != node[:hostname] -%> +<% render.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%> + curl -w "@/src/tilecache/tilecache-curl-time.txt" -o /dev/null -s -k -4 \ + 'https://<%= render[:hostname] %>/19/262106/174485.png' \ + -H 'authority: c.tile.openstreetmap.org' \ + -H 'sec-fetch-dest: image' \ + -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' \ + -H 'dnt: 1' \ + -H 'accept: image/webp,image/apng,image/*,*/*;q=0.8' \ + -H 'sec-fetch-site: same-site' \ + -H 'sec-fetch-mode: no-cors' \ + -H 'referer: https://www.openstreetmap.org/' \ + -H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \ + --compressed | tee -a /src/tilecache/data/$(date --utc "+%Y/%m")/render-<%= render[:hostname] %>-$(date --utc --iso-8601).txt +<% end -%> +<% end -%> +<% end -%>