SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Deploying full prometheus stacks
via juju charms, lightning'ly
~ JuanJo Ciarlante - aka jjo ~
@xjjo
jjo@canonical.com
~ promcon.io - 2016-08-25 ~
About me
● Working at Canonical Ltd as Cloud Reliability Engineer
○ since 2012
● Worked at Google Switzerland as Site Reliability Engineer
○ between 2007-2012
● FOSS contributor
○ since 1995
So ... you don't like the ':' used for linux interfaces aliases ?
=> blame the guy at stage
Juju in a few words
● service orchestration tool
● multi-provider:
○ clouds: AWS, GCE, Azure, Rackspace, Openstack
○ metals: MaaS
○ containers: LXC or LXD (on v2)
● services get deployed and setup by charms:
○ set of scripts invoked at different stages
Juju orchestration - webapp deploy
juju
controller
$ juju bootstrap
Juju orchestration - webapp deploy
haproxy
juju
controller haproxy
$ juju bootstrap
$ juju deploy -n2 haproxy
Juju orchestration - webapp deploy
haproxy
juju
controller haproxy mediawiki
$ juju bootstrap
$ juju deploy -n2 haproxy
$ juju deploy mediawiki
$ juju deploy mariadb
$ juju deploy memcached
mariadb memcached
Juju orchestration - webapp deploy
haproxy
juju
controller haproxy mediawiki mariadb memcached
$ juju deploy -n2 haproxy
$ juju deploy mediawiki
$ juju deploy mariadb
$ juju deploy memcached
$ juju add-relation haproxy mediawiki
$ juju add-relation mediawiki:db mariadb:db
$ juju add-relation mediawiki memcached
Juju orchestration - glossary~ish
haproxy
juju
controller haproxy mediawiki mariadb memcached
■ juju state server
aka controller
□ environment
aka model
■ service
aka application
■ unit
● charm code is specified by URL, then locally run at units
● service stacks can be specified as a juju bundle file (e.g. wiki-bundle.yaml)
●-● relation
What we use prometheus for
● Infrastructure (phy nodes and overcloud services)
○ /metrics: snmp exp., pushgateway, collectd exp., telegraf
○ maint. by: ops
● Openstack (and storage-layer) metrics
○ /metrics: collectd exp., pushgateway, telegraf, (wip) mtail
○ maint. by: ops
● Online services
○ /metrics: telegraf
○ maint. by: devs, ops
How we deploy prometheus
haproxy
juju
controller haproxy mediawiki mariadb memcached
$ juju add-relation haproxy mediawiki
$ juju add-relation mediawiki:db mariadb:db
$ juju add-relation mediawiki memcached
$ juju deploy prometheus
$ juju deploy telegraf # <- subordinate charm => no unit created
prometheus
How we deploy prometheus
haproxy
juju
controller haproxy mediawiki mariadb memcached
$ juju deploy prometheus
$ juju deploy telegraf # subordinate charm => no unit created
$ juju add-relation haproxy:juju-info telegraf
$ juju add-relation mediawiki:juju-info telegraf
$ juju add-relation mariadb:juju-info telegraf
$ juju add-relation memcached:juju-info telegraf
prometheus
Telegraf
telegraf telegraftelegraf telegraf
How we deploy prometheus
haproxy
juju
controller haproxy mediawiki mariadb memcached
$ juju deploy prometheus
$ juju deploy telegraf # subordinate charm => no unit created
$ juju add-relation haproxy:juju-info telegraf
$ juju add-relation mediawiki:juju-info telegraf
$ juju add-relation mariadb:juju-info telegraf
$ juju add-relation memcached:juju-info telegraf
$ juju add-relation prometheus telegraf
prometheus
Telegraf
telegraf telegraftelegraf telegraf
How we deploy prometheus (wrap-up)
● all these charms and required deb packages are publicly available as FOSS
● charms we developed, and use:
○ prometheus
○ telegraf, snmp-exporter, collectd-exporter, [wip] mtail
○ grafana
○ [wip] alertmanager
● most charms allow specifying extra config stanzas, or e.g. extra targets
● our deploys are specified by bundles, driven by a CI-friendly tool called "mojo"
● more details w/ examples, next week at:
○ http://github.com/jjo/promcon
██ ▄█▀ ██▓ ██▓ ██▓
██▄█▒ ▓██▒▓██▒ ▓██▒
▓███▄░ ▒██▒▒██░ ▒██
▓██ █▄ ░██░▒██░ ▒█
▒██▒ █▄░██░░██████▒░██████▒
▒ ▒▒ ▓▒░▓ ░ ▒░▓ ░░ ▒░▓ ░
░ ░▒ ▒░ ▒ ░░ ░ ▒ ░░ ░ ▒ ░
░ ░░ ░ ▒ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░
███▄ █ ▄▄▄ ▄████ ██▓ ▒█████ ██████
██ ▀█ █ ▒████▄ ██▒ ▀█▒▓██▒▒██▒ ██▒▒██ ▒
▓██ ▀█ ██▒▒██ ▀█▄ ▒██░▄▄▄░▒██▒▒██░ ██▒░ ▓██▄
▓██▒ ▐▌██▒░██▄▄▄▄██ ░▓█ ██▓░██░▒██ ██░ ▒ ██▒
▒██░ ▓██░ ▓█ ▓██▒░▒▓███▀▒░██░░ ████▓▒░▒██████▒▒
░ ▒░ ▒ ▒ ▒▒ ▓▒█░ ░▒ ▒ ░▓ ░ ▒░▒░▒░ ▒ ▒▓▒ ▒ ░
░ ░░ ░ ▒░ ▒ ▒▒ ░ ░ ░ ▒ ░ ░ ▒ ▒░ ░ ░▒ ░ ░
░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░░ ░ ░ ▒ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░
Deploying Prometheus stacks with Juju
&& thank you :)
@xjjo

Mais conteúdo relacionado

Mais procurados

BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)Brendan Gregg
 
Linux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudLinux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudAndrea Righi
 
YOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceYOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceBrendan Gregg
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityBrendan Gregg
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedBrendan Gregg
 
Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005dflexer
 
bcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesbcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesIO Visor Project
 
LPC2019 BPF Tracing Tools
LPC2019 BPF Tracing ToolsLPC2019 BPF Tracing Tools
LPC2019 BPF Tracing ToolsBrendan Gregg
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
 
Linux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - WonokaerunLinux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - Wonokaerunidsecconf
 
Spying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profitSpying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profitAndrea Righi
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tipsViller Hsiao
 
New Ways to Find Latency in Linux Using Tracing
New Ways to Find Latency in Linux Using TracingNew Ways to Find Latency in Linux Using Tracing
New Ways to Find Latency in Linux Using TracingScyllaDB
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPFAlex Maestretti
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceSUSE Labs Taipei
 
BPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabBPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabTaeung Song
 
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux KernelPerformance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernellcplcp1
 
Kernel development
Kernel developmentKernel development
Kernel developmentNuno Martins
 
Bpf performance tools chapter 4 bcc
Bpf performance tools chapter 4   bccBpf performance tools chapter 4   bcc
Bpf performance tools chapter 4 bccViller Hsiao
 

Mais procurados (20)

BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
Linux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudLinux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloud
 
YOW2020 Linux Systems Performance
YOW2020 Linux Systems PerformanceYOW2020 Linux Systems Performance
YOW2020 Linux Systems Performance
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting Started
 
Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005
 
bcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesbcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challenges
 
LPC2019 BPF Tracing Tools
LPC2019 BPF Tracing ToolsLPC2019 BPF Tracing Tools
LPC2019 BPF Tracing Tools
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
Linux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - WonokaerunLinux kernel-rootkit-dev - Wonokaerun
Linux kernel-rootkit-dev - Wonokaerun
 
eBPF Workshop
eBPF WorkshopeBPF Workshop
eBPF Workshop
 
Spying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profitSpying on the Linux kernel for fun and profit
Spying on the Linux kernel for fun and profit
 
Trace kernel code tips
Trace kernel code tipsTrace kernel code tips
Trace kernel code tips
 
New Ways to Find Latency in Linux Using Tracing
New Ways to Find Latency in Linux Using TracingNew Ways to Find Latency in Linux Using Tracing
New Ways to Find Latency in Linux Using Tracing
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPF
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
BPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLabBPF / XDP 8월 세미나 KossLab
BPF / XDP 8월 세미나 KossLab
 
Performance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux KernelPerformance Analysis Tools for Linux Kernel
Performance Analysis Tools for Linux Kernel
 
Kernel development
Kernel developmentKernel development
Kernel development
 
Bpf performance tools chapter 4 bcc
Bpf performance tools chapter 4   bccBpf performance tools chapter 4   bcc
Bpf performance tools chapter 4 bcc
 

Semelhante a Deploying Prometheus stacks with Juju

Monitoring Kafka w/ Prometheus
Monitoring Kafka w/ PrometheusMonitoring Kafka w/ Prometheus
Monitoring Kafka w/ Prometheuskawamuray
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient waySylvain Rayé
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easyKim Chee Leong
 
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...Nicolas Brousse
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetNicolas Brousse
 
Designate Installation Workshop
Designate Installation WorkshopDesignate Installation Workshop
Designate Installation WorkshopGraham Hayes
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopVelocidex Enterprises
 
Tensorflow in Docker
Tensorflow in DockerTensorflow in Docker
Tensorflow in DockerEric Ahn
 
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereRodrique Heron
 
202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUPRonald Hsu
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesPuppet
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakNETWAYS
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoWebinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoKaleido
 
How To Deploy a Clojure Web Application on Ubuntu 14.04
How To Deploy a Clojure Web Application on Ubuntu 14.04How To Deploy a Clojure Web Application on Ubuntu 14.04
How To Deploy a Clojure Web Application on Ubuntu 14.04VEXXHOST Private Cloud
 

Semelhante a Deploying Prometheus stacks with Juju (20)

Monitoring Kafka w/ Prometheus
Monitoring Kafka w/ PrometheusMonitoring Kafka w/ Prometheus
Monitoring Kafka w/ Prometheus
 
Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
 
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with Puppet
 
Designate Installation Workshop
Designate Installation WorkshopDesignate Installation Workshop
Designate Installation Workshop
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Tensorflow in Docker
Tensorflow in DockerTensorflow in Docker
Tensorflow in Docker
 
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
 
202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
Modern web technologies
Modern web technologiesModern web technologies
Modern web technologies
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoWebinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
 
How To Deploy a Clojure Web Application on Ubuntu 14.04
How To Deploy a Clojure Web Application on Ubuntu 14.04How To Deploy a Clojure Web Application on Ubuntu 14.04
How To Deploy a Clojure Web Application on Ubuntu 14.04
 

Último

WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024Jan Löffler
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdfShreedeep Rayamajhi
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpressssuser166378
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfmchristianalwyn
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSedrianrheine
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilitiesalihassaah1994
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...APNIC
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxnaveenithkrishnan
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsRoxana Stingu
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Shubham Pant
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSlesteraporado16
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteMavein
 

Último (12)

WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpress
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilities
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptx
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a Website
 

Deploying Prometheus stacks with Juju

  • 1. Deploying full prometheus stacks via juju charms, lightning'ly ~ JuanJo Ciarlante - aka jjo ~ @xjjo jjo@canonical.com ~ promcon.io - 2016-08-25 ~
  • 2. About me ● Working at Canonical Ltd as Cloud Reliability Engineer ○ since 2012 ● Worked at Google Switzerland as Site Reliability Engineer ○ between 2007-2012 ● FOSS contributor ○ since 1995 So ... you don't like the ':' used for linux interfaces aliases ? => blame the guy at stage
  • 3. Juju in a few words ● service orchestration tool ● multi-provider: ○ clouds: AWS, GCE, Azure, Rackspace, Openstack ○ metals: MaaS ○ containers: LXC or LXD (on v2) ● services get deployed and setup by charms: ○ set of scripts invoked at different stages
  • 4. Juju orchestration - webapp deploy juju controller $ juju bootstrap
  • 5. Juju orchestration - webapp deploy haproxy juju controller haproxy $ juju bootstrap $ juju deploy -n2 haproxy
  • 6. Juju orchestration - webapp deploy haproxy juju controller haproxy mediawiki $ juju bootstrap $ juju deploy -n2 haproxy $ juju deploy mediawiki $ juju deploy mariadb $ juju deploy memcached mariadb memcached
  • 7. Juju orchestration - webapp deploy haproxy juju controller haproxy mediawiki mariadb memcached $ juju deploy -n2 haproxy $ juju deploy mediawiki $ juju deploy mariadb $ juju deploy memcached $ juju add-relation haproxy mediawiki $ juju add-relation mediawiki:db mariadb:db $ juju add-relation mediawiki memcached
  • 8. Juju orchestration - glossary~ish haproxy juju controller haproxy mediawiki mariadb memcached ■ juju state server aka controller □ environment aka model ■ service aka application ■ unit ● charm code is specified by URL, then locally run at units ● service stacks can be specified as a juju bundle file (e.g. wiki-bundle.yaml) ●-● relation
  • 9. What we use prometheus for ● Infrastructure (phy nodes and overcloud services) ○ /metrics: snmp exp., pushgateway, collectd exp., telegraf ○ maint. by: ops ● Openstack (and storage-layer) metrics ○ /metrics: collectd exp., pushgateway, telegraf, (wip) mtail ○ maint. by: ops ● Online services ○ /metrics: telegraf ○ maint. by: devs, ops
  • 10. How we deploy prometheus haproxy juju controller haproxy mediawiki mariadb memcached $ juju add-relation haproxy mediawiki $ juju add-relation mediawiki:db mariadb:db $ juju add-relation mediawiki memcached $ juju deploy prometheus $ juju deploy telegraf # <- subordinate charm => no unit created prometheus
  • 11. How we deploy prometheus haproxy juju controller haproxy mediawiki mariadb memcached $ juju deploy prometheus $ juju deploy telegraf # subordinate charm => no unit created $ juju add-relation haproxy:juju-info telegraf $ juju add-relation mediawiki:juju-info telegraf $ juju add-relation mariadb:juju-info telegraf $ juju add-relation memcached:juju-info telegraf prometheus Telegraf telegraf telegraftelegraf telegraf
  • 12. How we deploy prometheus haproxy juju controller haproxy mediawiki mariadb memcached $ juju deploy prometheus $ juju deploy telegraf # subordinate charm => no unit created $ juju add-relation haproxy:juju-info telegraf $ juju add-relation mediawiki:juju-info telegraf $ juju add-relation mariadb:juju-info telegraf $ juju add-relation memcached:juju-info telegraf $ juju add-relation prometheus telegraf prometheus Telegraf telegraf telegraftelegraf telegraf
  • 13. How we deploy prometheus (wrap-up) ● all these charms and required deb packages are publicly available as FOSS ● charms we developed, and use: ○ prometheus ○ telegraf, snmp-exporter, collectd-exporter, [wip] mtail ○ grafana ○ [wip] alertmanager ● most charms allow specifying extra config stanzas, or e.g. extra targets ● our deploys are specified by bundles, driven by a CI-friendly tool called "mojo" ● more details w/ examples, next week at: ○ http://github.com/jjo/promcon ██ ▄█▀ ██▓ ██▓ ██▓ ██▄█▒ ▓██▒▓██▒ ▓██▒ ▓███▄░ ▒██▒▒██░ ▒██ ▓██ █▄ ░██░▒██░ ▒█ ▒██▒ █▄░██░░██████▒░██████▒ ▒ ▒▒ ▓▒░▓ ░ ▒░▓ ░░ ▒░▓ ░ ░ ░▒ ▒░ ▒ ░░ ░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ███▄ █ ▄▄▄ ▄████ ██▓ ▒█████ ██████ ██ ▀█ █ ▒████▄ ██▒ ▀█▒▓██▒▒██▒ ██▒▒██ ▒ ▓██ ▀█ ██▒▒██ ▀█▄ ▒██░▄▄▄░▒██▒▒██░ ██▒░ ▓██▄ ▓██▒ ▐▌██▒░██▄▄▄▄██ ░▓█ ██▓░██░▒██ ██░ ▒ ██▒ ▒██░ ▓██░ ▓█ ▓██▒░▒▓███▀▒░██░░ ████▓▒░▒██████▒▒ ░ ▒░ ▒ ▒ ▒▒ ▓▒█░ ░▒ ▒ ░▓ ░ ▒░▒░▒░ ▒ ▒▓▒ ▒ ░ ░ ░░ ░ ▒░ ▒ ▒▒ ░ ░ ░ ▒ ░ ░ ▒ ▒░ ░ ░▒ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
  • 15. && thank you :) @xjjo