SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
MONITORING
Łukasz Maksymczuk
Codilime
Cloudify team
REQUIREMENTS
Fetching metrics
Storage
Instrumentation
Alerting
Graphs
WHAT TO USE?
Prometheus
InfluxData
...nagios?
Grafana
MONITORING WITH
PROMETHEUS
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
Znaczna część prezentacji to hands-on przykłady/dema. Kolejne slajdy zawierają notatki używane w przykładach. Te
notatki nie były widoczne w oryginalnej prezentacji.
Źródła prezentacji są na . Źródło samej prezentacji (i notatki) w .html jest być
może mało ciekawe, ale warto spojrzeć na przykładowe/użyte w przykładach configi .yml
Speaker notes
https://github.com/tehasdf/monitoring-talk
MONITORING WITH
PROMETHEUS
- job_name: 'node'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9100']
Uruchamianie prometheusa:
UI: http://127.0.0.1:9090/metrics
Showcase możliwości query language prometheusa:
Node exporter - metryki hostów
Uzycie z grafaną - ma wbudowane source dla prometheusa
Przykład instrumentacji aplikacji w pythonie
Speaker notes
docker run --net host prom/prometheus
docker run --net host -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
# po prostu ściągnij wartość
promhttp_metric_handler_requests_total
# wartości z ostatnich 5 minut - range vector
promhttp_metric_handler_requests_total[5m]
# interval - 1m
promhttp_metric_handler_requests_total[5m:1m]
# funkcje - suma, średnia
sum(promhttp_metric_handler_requests_total)
avg(promhttp_metric_handler_requests_total)
# rate - wymaga range vector
rate(promhttp_metric_handler_requests_total[5m])
docker run --net host prom/node-exporter
docker run --net host prom/node-exporter --web.listen-address=":9101"
# przykładowe query, z filtrem
node_cpu_seconds_total{cpu="1"}[5m]
rate(node_cpu_seconds_total{cpu="0", mode="user"}[5m])
docker run --net host grafana/grafana
docker build -f app.dockerfile . -t app1
docker run --net host -v $(pwd):/app:ro app1 uwsgi --http 0.0.0.0:5000 --wsgi-file app.py --callable app
Alerty - alertmanager
docker run --net host -v $(pwd)/alertmanager.yml:/tmp/alertmanager.yml prom/alertmanager --config.file=/tmp/alertmanager.yml
MONITORING WITH INFLUX
Speaker notes
docker exec -it tik_influxdb_1 influx --precision rfc3339
show field keys from cpu;
show tag keys from cpu;
select cpu, mean(usage_idle) from cpu;
select mean(usage_idle) from cpu group by cpu, time(10m);
docker run --net host influxdb
telegraf --config telegraf.conf
SELECT cumulative_sum(value) FROM "request"
INFLUX + PROMETHEUS?
Połączenie przez telegraf z input/output pluginem,
https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus
Speaker notes
Q&A
THANKS!

Weitere ähnliche Inhalte

Ähnlich wie CodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and Influx

Wprowadzenie do MEF w .NET 4.0
Wprowadzenie do MEF w .NET 4.0Wprowadzenie do MEF w .NET 4.0
Wprowadzenie do MEF w .NET 4.0Maciej Zbrzezny
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
 
Joomla Day Poland 15 - Docker
Joomla Day Poland 15 - DockerJoomla Day Poland 15 - Docker
Joomla Day Poland 15 - DockerLukas Lesniewski
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaPaweł Harajda
 
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPROIDEA
 
Laravel workshops 1
Laravel workshops 1Laravel workshops 1
Laravel workshops 1Kamil Fojuth
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVCQuick-Solution
 
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]Droptica
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PROIDEA
 
Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...
Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...
Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...Janusz Nowak
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Future Processing
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
Programowanie Komponentowe: #5 Wprowadzenie do środowiska .NET
Programowanie Komponentowe: #5 Wprowadzenie do środowiska .NETProgramowanie Komponentowe: #5 Wprowadzenie do środowiska .NET
Programowanie Komponentowe: #5 Wprowadzenie do środowiska .NETMikołaj Olszewski
 
Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]Droptica
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieArtur Radosz
 

Ähnlich wie CodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and Influx (20)

Wprowadzenie do MEF w .NET 4.0
Wprowadzenie do MEF w .NET 4.0Wprowadzenie do MEF w .NET 4.0
Wprowadzenie do MEF w .NET 4.0
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
Joomla Day Poland 15 - Docker
Joomla Day Poland 15 - DockerJoomla Day Poland 15 - Docker
Joomla Day Poland 15 - Docker
 
WF w zastosowaniach Web
WF w zastosowaniach WebWF w zastosowaniach Web
WF w zastosowaniach Web
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
 
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
 
Webinar symfony
Webinar symfonyWebinar symfony
Webinar symfony
 
Laravel workshops 1
Laravel workshops 1Laravel workshops 1
Laravel workshops 1
 
NET flow
NET flowNET flow
NET flow
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
 
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
 
Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...
Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...
Use Azure DevOps to deploy Azure Function in Docker on Raspberry PI - dotNetC...
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Programowanie Komponentowe: #5 Wprowadzenie do środowiska .NET
Programowanie Komponentowe: #5 Wprowadzenie do środowiska .NETProgramowanie Komponentowe: #5 Wprowadzenie do środowiska .NET
Programowanie Komponentowe: #5 Wprowadzenie do środowiska .NET
 
Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
 
Ansible w praktyce
Ansible w praktyceAnsible w praktyce
Ansible w praktyce
 

Mehr von CodiLime

CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime
 
Rapid help for current networking challenges
Rapid help for current networking challengesRapid help for current networking challenges
Rapid help for current networking challengesCodiLime
 
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java scriptCodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java scriptCodiLime
 
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivatedCodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivatedCodiLime
 
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...CodiLime
 
CodiLime Tech Talk - Wojciech Urbański: Cloud Native
CodiLime Tech Talk - Wojciech Urbański: Cloud NativeCodiLime Tech Talk - Wojciech Urbański: Cloud Native
CodiLime Tech Talk - Wojciech Urbański: Cloud NativeCodiLime
 
CodiLime Tech Talk - Michał Sochoń: Configuration management hell
CodiLime Tech Talk - Michał Sochoń: Configuration management hellCodiLime Tech Talk - Michał Sochoń: Configuration management hell
CodiLime Tech Talk - Michał Sochoń: Configuration management hellCodiLime
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime
 
Tech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageTech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageCodiLime
 
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...CodiLime
 
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime
 
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp VaultCodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp VaultCodiLime
 
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon'tCodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon'tCodiLime
 
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & AnsibleCodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & AnsibleCodiLime
 
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...CodiLime
 
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...CodiLime
 

Mehr von CodiLime (16)

CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 
Rapid help for current networking challenges
Rapid help for current networking challengesRapid help for current networking challenges
Rapid help for current networking challenges
 
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java scriptCodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
CodiLime Tech Talk - Grzegorz Rozdzialik: What the java script
 
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivatedCodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
CodiLime Tech Talk - Mateusz Psujek: Keep calm and stay motivated
 
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
CodiLime Tech Talk - Katarzyna Ziomek-Zdanowicz: RxJS main concepts and real ...
 
CodiLime Tech Talk - Wojciech Urbański: Cloud Native
CodiLime Tech Talk - Wojciech Urbański: Cloud NativeCodiLime Tech Talk - Wojciech Urbański: Cloud Native
CodiLime Tech Talk - Wojciech Urbański: Cloud Native
 
CodiLime Tech Talk - Michał Sochoń: Configuration management hell
CodiLime Tech Talk - Michał Sochoń: Configuration management hellCodiLime Tech Talk - Michał Sochoń: Configuration management hell
CodiLime Tech Talk - Michał Sochoń: Configuration management hell
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
 
Tech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageTech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming language
 
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
CodiLime Tech Talk - Michał Pawluk: Our production deployment in AWS (HashiCo...
 
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
 
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp VaultCodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
CodiLime Tech Talk - Michał Pawluk: Our deployment of HashiCorp Vault
 
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon'tCodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
CodiLime Tech Talk - Jan Kanty Milczek: Basic Recommender Systems – SVDon't
 
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & AnsibleCodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
CodiLime Tech Talk - Michał Sochoń: Sphinx, reST & Ansible
 
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
CodiLime Tech Talk - Maciej Sawicki: Streamline application deployments with ...
 
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
CodiLime Tech Talk - Jarek Łukow: You need a cloud to test a cloud: using Ope...
 

CodiLime Tech Talk - Łukasz Maksymczuk: Monitoring: Prometheus and Influx

  • 4. MONITORING WITH PROMETHEUS global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - targets: ['localhost:9090']
  • 5. Znaczna część prezentacji to hands-on przykłady/dema. Kolejne slajdy zawierają notatki używane w przykładach. Te notatki nie były widoczne w oryginalnej prezentacji. Źródła prezentacji są na . Źródło samej prezentacji (i notatki) w .html jest być może mało ciekawe, ale warto spojrzeć na przykładowe/użyte w przykładach configi .yml Speaker notes https://github.com/tehasdf/monitoring-talk
  • 6. MONITORING WITH PROMETHEUS - job_name: 'node' scrape_interval: 5s static_configs: - targets: ['localhost:9100']
  • 7. Uruchamianie prometheusa: UI: http://127.0.0.1:9090/metrics Showcase możliwości query language prometheusa: Node exporter - metryki hostów Uzycie z grafaną - ma wbudowane source dla prometheusa Przykład instrumentacji aplikacji w pythonie Speaker notes docker run --net host prom/prometheus docker run --net host -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus # po prostu ściągnij wartość promhttp_metric_handler_requests_total # wartości z ostatnich 5 minut - range vector promhttp_metric_handler_requests_total[5m] # interval - 1m promhttp_metric_handler_requests_total[5m:1m] # funkcje - suma, średnia sum(promhttp_metric_handler_requests_total) avg(promhttp_metric_handler_requests_total) # rate - wymaga range vector rate(promhttp_metric_handler_requests_total[5m]) docker run --net host prom/node-exporter docker run --net host prom/node-exporter --web.listen-address=":9101" # przykładowe query, z filtrem node_cpu_seconds_total{cpu="1"}[5m] rate(node_cpu_seconds_total{cpu="0", mode="user"}[5m]) docker run --net host grafana/grafana docker build -f app.dockerfile . -t app1 docker run --net host -v $(pwd):/app:ro app1 uwsgi --http 0.0.0.0:5000 --wsgi-file app.py --callable app
  • 8. Alerty - alertmanager docker run --net host -v $(pwd)/alertmanager.yml:/tmp/alertmanager.yml prom/alertmanager --config.file=/tmp/alertmanager.yml
  • 10. Speaker notes docker exec -it tik_influxdb_1 influx --precision rfc3339 show field keys from cpu; show tag keys from cpu; select cpu, mean(usage_idle) from cpu; select mean(usage_idle) from cpu group by cpu, time(10m); docker run --net host influxdb telegraf --config telegraf.conf SELECT cumulative_sum(value) FROM "request"
  • 12. Połączenie przez telegraf z input/output pluginem, https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus Speaker notes
  • 13. Q&A