Haroon Rafique
Manager
Development and Operations
Student Information Systems, ITS
“If you want everything to be familiar, you will never learn anything new, because it can’t be significantly different from what you already know.”
— Rich Hickey
What is pp_role, and what values should it contain?
Corresponding Hiera data:
roles
├── monitoring_scraper.yaml
└── webserver.yaml
Hiera lookup determines config based on pp_role
Hiera configuration
Exported resources publish state to OpenVoxDB
@@file { "/etc/vmagent/targets.d/${facts['networking']['fqdn']}_${name}.yaml":
ensure => file,
content => @("EOT"),
# Managed by Puppet
- targets:
- ${facts['networking']['fqdn']}:9090/${name}/metrics
labels:
job: ${name}
instance: ${facts['networking']['fqdn']}
exporter: ${name}
| EOT
tag => 'vmagent_target',
}Caddy acts as a sidecar reverse proxy and mTLS server
Import metrics exporter configurations
Common profile applies to all nodes
Baseline metrics applied to every node
Role-specific exporters are added based on workload
Demo
latest in productionQuestions?