Showing with 57 additions and 15 deletions.
  1. +1 −1 metadata.json
  2. +56 −14 templates/puppetdb_metrics.sh.epp
2 changes: 1 addition & 1 deletion metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "npwalker/pe_metric_curl_cron_jobs",
"version": "1.0.4",
"version": "1.1.0",
"author": "npwalker",
"summary": "A Module for setting up cron jobs to curl metrics from PE components",
"license": "Apache-2.0",
Expand Down
70 changes: 56 additions & 14 deletions templates/puppetdb_metrics.sh.epp
Original file line number Diff line number Diff line change
@@ -1,20 +1,62 @@
<%- | String $output_dir,
Array[String] $hosts,
| -%>
<%
$metrics_base = [
{ 'url' => 'org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=puppetlabs.puppetdb.commands',
'name' => '' },
{ 'url' => 'puppetlabs.puppetdb.storage%3Aname%3Dcatalog-hash-miss-time',
'name' => 'catalog_hash_miss_'},
{ 'url' => 'puppetlabs.puppetdb.storage%3Aname%3Dcatalog-hash-match-time',
'name' => 'catalog_hash_match_'},
{ 'url' => 'puppetlabs.puppetdb.storage%3Aname%3Dreplace-catalog-time',
'name' => 'replace_catalog_time_'},
{ 'url' => 'puppetlabs.puppetdb.storage%3Aname%3Dreplace-facts-time',
'name' => 'replace_facts_time_'},
{ 'url' => 'puppetlabs.puppetdb.storage%3Aname%3Dstore-report-time',
'name' => 'store_report_time_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dglobal.retried',
'name' => 'global_retried_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dglobal.retry-counts',
'name' => 'global_retry_counts_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dglobal.retry-persistence-time',
'name' => 'global_retry_persistence_time_'},
]

<% $hosts.each | $host | { -%>
echo 'curl -k https://<%= $host %>:8081/metrics/v1/mbeans/org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=puppetlabs.puppetdb.commands' --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/<%= $host %>-`date +'%m_%d_%y_%R'`.json
curl -k https://<%= $host %>:8081/metrics/v1/mbeans/org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=puppetlabs.puppetdb.commands --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/<%= $host %>-`date +'%m_%d_%y_%R'`.json
$metrics_20164 = [
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dreplace+catalog.9.retried',
'name' => 'replace_catalog_retried_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dreplace+catalog.9.retry-counts',
'name' => 'replace_catalog_retry_counts_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dreplace+catalog.9.retry-persistence-time',
'name' => 'replace_catalog_retry_persistence_time_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dreplace+facts.5.retried',
'name' => 'replace_facts_retried_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dreplace+facts.5.retry-counts',
'name' => 'replace_facts_retry_counts_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dreplace+facts.5.retry-persistence-time',
'name' => 'replace_facts_retry_persistence_time_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dstore+report.8.retried',
'name' => 'store_report_retried_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dstore+report.8.retry-counts',
'name' => 'store_reports_retry_counts_'},
{ 'url' => 'puppetlabs.puppetdb.mq%3Aname%3Dstore+report.8.retry-persistence-time',
'name' => 'store_report_retry_persistence_time_'},
]

echo 'curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dcatalog-hash-miss-time' --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/catalog_hash_miss_<%= $host %>-`date +'%m_%d_%y_%R'`.json
curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dcatalog-hash-miss-time --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/catalog_hash_miss_<%= $host %>-`date +'%m_%d_%y_%R'`.json
$metrics_array = $::pe_server_version ? {
/^2016.4./ => $metrics_base + $metrics_20164,
default => $metrics_base
}
-%>
<% $hosts.each | $host | {
$metrics_array.each | $metric | {
$curl_command = "curl -k https://${host}:8081/metrics/v1/mbeans/${metric['url']}"
$curl_certs = "--cert /etc/puppetlabs/puppet/ssl/certs/${::clientcert}.pem --key /etc/puppetlabs/puppet/ssl/private_keys/${::clientcert}.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> ${output_dir}/${metric['name']}${host}-`date +'%m_%d_%y_%R'`.json"
-%>

echo 'curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dcatalog-hash-match-time' --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/catalog_hash_match_<%= $host %>-`date +'%m_%d_%y_%R'`.json
curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dcatalog-hash-match-time --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/catalog_hash_match_<%= $host %>-`date +'%m_%d_%y_%R'`.json

echo 'curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dreplace-catalog-time' --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/replace_catalog_time_<%= $host %>-`date +'%m_%d_%y_%R'`.json
curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dreplace-catalog-time --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/replace_catalog_time_<%= $host %>-`date +'%m_%d_%y_%R'`.json

echo 'curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dreplace-facts-time' --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/replace_facts_time_<%= $host %>-`date +'%m_%d_%y_%R'`.json
curl -k https://<%= $host %>:8081/metrics/v1/mbeans/puppetlabs.puppetdb.storage%3Aname%3Dreplace-facts-time --cert /etc/puppetlabs/puppet/ssl/certs/<%= $::clientcert %>.pem --key /etc/puppetlabs/puppet/ssl/private_keys/<%= $::clientcert %>.pem --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem >> <%= $output_dir %>/replace_facts_time_<%= $host %>-`date +'%m_%d_%y_%R'`.json
<% } -%>
echo '<%= $curl_command %>' <%= $curl_certs %>
<%= $curl_command %> <%= $curl_certs %>
<% }
}
-%>