SlideShare a Scribd company logo
Our way of system monitoring
in application development.
2
About me
UI/UX enthusiast
Mateusz Wadoń
mateusz.wadon@msales.com
Software Developer at msales
@mwadon
3
Monitoring Stack
Open-source: Grafana and Graylog
Localhost is free
DevOps knowledge
https://github.com/msales/ocoderfest-monitoring
4
Offline mode
5
Solution
version: "3"
services:
influxdb: ...
grafana: ...
mysql: ...
telegraf: ...
mongo: ...
elasticsearch: ...
graylog: ...
reverse-proxy: ...
networks:
ocoderfest-msales:
external: true
6
Docker network
7
Docker network
docker network create --driver bridge ocoderfest-msales
services:
influxdb:
container_name: influxdb.container
build: ./docker/influxdb
networks:
- ocoderfest-msales
ports:
- 8086:8086
grafana:
container_name: grafana.container
build: ./docker/grafana
restart: always
networks:
- ocoderfest-msales
depends_on:
- mysql
- influxdb
services:
php:
container_name: graylog_microservice_php
build: ./docker/php
networks:
- graylog-microservice
- ocoderfest-msales
volumes_from:
- code
depends_on:
- code
composer:
container_name: graylog_microservice_composer
build: ./docker/php
entrypoint: composer
networks:
- graylog-microservice
volumes_from:
- code
depends_on:
- code
8
Localhost problem
9
Localhost everywhere
InfluxDB
influxdb:
container_name: influxdb.container
build: ./docker/influxdb
networks:
- ocoderfest-msales
ports:
- 8086:8086
- 8083:8083
10
Localhost everywhere
Grafana
grafana:
container_name: grafana.container
build: ./docker/grafana
restart: always
networks:
- ocoderfest-msales
ports:
- 3000:3000
depends_on:
- mysql
- influxdb
11
Localhost everywhere
Graylog
graylog:
container_name: graylog.container
build: ./docker/graylog
depends_on:
- mongo
- elasticsearch
networks:
- ocoderfest-msales
ports:
- 9000:9000
12
Reverse proxy
server {
listen 8888;
server_name influxdb.ocoderfest.msales;
location / {
proxy_pass http://influxdb.container:8083;
}
}
server {
listen 8888;
server_name grafana.ocoderfest.msales;
location / {
proxy_pass http://grafana.container:3000;
}
}
server {
listen 8888;
server_name graylog.ocoderfest.msales;
location / {
proxy_pass http://graylog.container:9000;
}
}
Reverse proxy
server {
listen 8888;
server_name influxdb.ocoderfest.msales;
location / {
proxy_pass http://influxdb.container:8083;
}
}
server {
listen 8888;
server_name grafana.ocoderfest.msales;
location / {
proxy_pass http://grafana.container:3000;
}
}
server {
listen 8888;
server_name graylog.ocoderfest.msales;
location / {
proxy_pass http://graylog.container:9000;
}
}
reverse-proxy:
container_name: reverse-proxy.container
build: ./docker/reverse-proxy
restart: always
networks:
- ocoderfest-msales
ports:
- 8888:8888
depends_on:
- influxdb
- grafana
- graylog
14
Reverse proxy
server {
listen 8888;
server_name influxdb.ocoderfest.msales;
location / {
proxy_pass http://influxdb.container:8083;
}
}
server {
listen 8888;
server_name grafana.ocoderfest.msales;
location / {
proxy_pass http://grafana.container:3000;
}
}
server {
listen 8888;
server_name graylog.ocoderfest.msales;
location / {
proxy_pass http://graylog.container:9000;
}
}
127.0.0.1 influxdb.ocoderfest.msales
127.0.0.1 grafana.ocoderfest.msales
127.0.0.1 graylog.ocoderfest.msales
15
Reverse proxy
server {
listen 8888;
server_name influxdb.ocoderfest.msales;
location / {
proxy_pass http://influxdb.container:8083;
}
}
server {
listen 8888;
server_name grafana.ocoderfest.msales;
location / {
proxy_pass http://grafana.container:3000;
}
}
server {
listen 8888;
server_name graylog.ocoderfest.msales;
location / {
proxy_pass http://graylog.container:9000;
}
}
influxdb:
container_name: influxdb.container
build: ./docker/influxdb
networks:
- ocoderfest-msales
ports:
- 8086:8086
grafana:
container_name: grafana.container
build: ./docker/grafana
restart: always
networks:
- ocoderfest-msales
depends_on:
- mysql
- influxdb
graylog:
container_name: graylog.container
build: ./docker/graylog
environment:
...
depends_on:
- mongo
- elasticsearch
networks:
- ocoderfest-msales
16
Reverse proxy
grafana (http://grafana.ocoderfest.msales:8888)
influxdb (http://influxdb.ocoderfest.msales:8888)
graylog (http://graylog.ocoderfest.msales:8888)
17
Port conflicts
18
Demo
https://github.com/msales/ocoderfest-monitoring
19
20
Thanks
info.pl@msales.com www.msales.com +48 32 630 40 76
follow us @msalestech
follow me @mwadon

More Related Content

PDF
PSR-3 logs using Monolog and Graylog
PDF
Timeseries - data visualization in Grafana
PDF
Beautiful Monitoring With Grafana and InfluxDB
PDF
Mixing Metrics and Logs with Grafana + Influx by David Kaltschmidt, Director ...
PDF
Influx db talk-20150415
PDF
2017 meetup-apache-kafka-nov
PDF
Monitoring a Kubernetes-backed microservice architecture with Prometheus
DOC
PSR-3 logs using Monolog and Graylog
Timeseries - data visualization in Grafana
Beautiful Monitoring With Grafana and InfluxDB
Mixing Metrics and Logs with Grafana + Influx by David Kaltschmidt, Director ...
Influx db talk-20150415
2017 meetup-apache-kafka-nov
Monitoring a Kubernetes-backed microservice architecture with Prometheus

What's hot (20)

PDF
Measure your app internals with InfluxDB and Symfony2
PDF
Time Series Database and Tick Stack
PDF
Server monitoring using grafana and prometheus
PDF
Breaking Prometheus (Promcon Berlin '16)
PPTX
Monitoring_with_Prometheus_Grafana_Tutorial
PDF
Prometheus – a next-gen Monitoring System
PDF
Getting started with influx Db and Grafana Installation Guide
PPTX
Nmap not only a port scanner by ravi rajput comexpo security awareness meet
PDF
Devoxx france 2015 influxdb
PDF
Nessus scan report using microsoft patchs scan policy - Tareq Hanaysha
PDF
Monitoring infrastructure with prometheus
PDF
OSMC 2018 | Logging is coming to Grafana by David kaltschmidt
PDF
SCaLE 2016 - syslog-ng: From Raw Data to Big Data
PDF
Influx/Days 2017 San Francisco | Dan Cech
ODP
Nmap Scripting Engine and http-enumeration
PDF
Kafka monitoring and metrics
PDF
Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler / Jan Wieck...
PDF
Volker Fröhlich - How to Debug Common Agent Issues
PDF
Доклад Антона Поварова "Go in Badoo" с Golang Meetup
PDF
OpenResty TCP 服务代理和动态路由
Measure your app internals with InfluxDB and Symfony2
Time Series Database and Tick Stack
Server monitoring using grafana and prometheus
Breaking Prometheus (Promcon Berlin '16)
Monitoring_with_Prometheus_Grafana_Tutorial
Prometheus – a next-gen Monitoring System
Getting started with influx Db and Grafana Installation Guide
Nmap not only a port scanner by ravi rajput comexpo security awareness meet
Devoxx france 2015 influxdb
Nessus scan report using microsoft patchs scan policy - Tareq Hanaysha
Monitoring infrastructure with prometheus
OSMC 2018 | Logging is coming to Grafana by David kaltschmidt
SCaLE 2016 - syslog-ng: From Raw Data to Big Data
Influx/Days 2017 San Francisco | Dan Cech
Nmap Scripting Engine and http-enumeration
Kafka monitoring and metrics
Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler / Jan Wieck...
Volker Fröhlich - How to Debug Common Agent Issues
Доклад Антона Поварова "Go in Badoo" с Golang Meetup
OpenResty TCP 服务代理和动态路由
Ad

Similar to Our way of systems monitoring in application development (20)

PDF
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
DOCX
Backtrack Manual Part6
PDF
Web scale infrastructures with kubernetes and flannel
PDF
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
PDF
ContainerDayVietnam2016: Docker for JS Developer
PDF
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
PPTX
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
PDF
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
PPTX
Docker Swarm secrets for creating great FIWARE platforms
PDF
Android Development Tools
PDF
Digital Forensics and Incident Response in The Cloud Part 3
PDF
FPC for the Masses (SANSFire Edition)
PPTX
0xsp mongoose RED - DragonCon HK
PDF
Automate drupal deployments with linux containers, docker and vagrant
PDF
Leveraging the power of SolrCloud and Spark with OpenShift
PPTX
betterCode Workshop: Effizientes DevOps-Tooling mit Go
PDF
Drone CI/CD 自動化測試及部署
PPTX
Docker Platform and Ecosystem
PDF
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
PDF
Simplify Networking for Containers
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Backtrack Manual Part6
Web scale infrastructures with kubernetes and flannel
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
ContainerDayVietnam2016: Docker for JS Developer
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
Docker Swarm secrets for creating great FIWARE platforms
Android Development Tools
Digital Forensics and Incident Response in The Cloud Part 3
FPC for the Masses (SANSFire Edition)
0xsp mongoose RED - DragonCon HK
Automate drupal deployments with linux containers, docker and vagrant
Leveraging the power of SolrCloud and Spark with OpenShift
betterCode Workshop: Effizientes DevOps-Tooling mit Go
Drone CI/CD 自動化測試及部署
Docker Platform and Ecosystem
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
Simplify Networking for Containers
Ad

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Empathic Computing: Creating Shared Understanding
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Approach and Philosophy of On baking technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
“AI and Expert System Decision Support & Business Intelligence Systems”
MIND Revenue Release Quarter 2 2025 Press Release
Empathic Computing: Creating Shared Understanding
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx

Our way of systems monitoring in application development

  • 1. Our way of system monitoring in application development.
  • 2. 2 About me UI/UX enthusiast Mateusz Wadoń mateusz.wadon@msales.com Software Developer at msales @mwadon
  • 3. 3 Monitoring Stack Open-source: Grafana and Graylog Localhost is free DevOps knowledge https://github.com/msales/ocoderfest-monitoring
  • 5. 5 Solution version: "3" services: influxdb: ... grafana: ... mysql: ... telegraf: ... mongo: ... elasticsearch: ... graylog: ... reverse-proxy: ... networks: ocoderfest-msales: external: true
  • 7. 7 Docker network docker network create --driver bridge ocoderfest-msales services: influxdb: container_name: influxdb.container build: ./docker/influxdb networks: - ocoderfest-msales ports: - 8086:8086 grafana: container_name: grafana.container build: ./docker/grafana restart: always networks: - ocoderfest-msales depends_on: - mysql - influxdb services: php: container_name: graylog_microservice_php build: ./docker/php networks: - graylog-microservice - ocoderfest-msales volumes_from: - code depends_on: - code composer: container_name: graylog_microservice_composer build: ./docker/php entrypoint: composer networks: - graylog-microservice volumes_from: - code depends_on: - code
  • 9. 9 Localhost everywhere InfluxDB influxdb: container_name: influxdb.container build: ./docker/influxdb networks: - ocoderfest-msales ports: - 8086:8086 - 8083:8083
  • 10. 10 Localhost everywhere Grafana grafana: container_name: grafana.container build: ./docker/grafana restart: always networks: - ocoderfest-msales ports: - 3000:3000 depends_on: - mysql - influxdb
  • 11. 11 Localhost everywhere Graylog graylog: container_name: graylog.container build: ./docker/graylog depends_on: - mongo - elasticsearch networks: - ocoderfest-msales ports: - 9000:9000
  • 12. 12 Reverse proxy server { listen 8888; server_name influxdb.ocoderfest.msales; location / { proxy_pass http://influxdb.container:8083; } } server { listen 8888; server_name grafana.ocoderfest.msales; location / { proxy_pass http://grafana.container:3000; } } server { listen 8888; server_name graylog.ocoderfest.msales; location / { proxy_pass http://graylog.container:9000; } }
  • 13. Reverse proxy server { listen 8888; server_name influxdb.ocoderfest.msales; location / { proxy_pass http://influxdb.container:8083; } } server { listen 8888; server_name grafana.ocoderfest.msales; location / { proxy_pass http://grafana.container:3000; } } server { listen 8888; server_name graylog.ocoderfest.msales; location / { proxy_pass http://graylog.container:9000; } } reverse-proxy: container_name: reverse-proxy.container build: ./docker/reverse-proxy restart: always networks: - ocoderfest-msales ports: - 8888:8888 depends_on: - influxdb - grafana - graylog
  • 14. 14 Reverse proxy server { listen 8888; server_name influxdb.ocoderfest.msales; location / { proxy_pass http://influxdb.container:8083; } } server { listen 8888; server_name grafana.ocoderfest.msales; location / { proxy_pass http://grafana.container:3000; } } server { listen 8888; server_name graylog.ocoderfest.msales; location / { proxy_pass http://graylog.container:9000; } } 127.0.0.1 influxdb.ocoderfest.msales 127.0.0.1 grafana.ocoderfest.msales 127.0.0.1 graylog.ocoderfest.msales
  • 15. 15 Reverse proxy server { listen 8888; server_name influxdb.ocoderfest.msales; location / { proxy_pass http://influxdb.container:8083; } } server { listen 8888; server_name grafana.ocoderfest.msales; location / { proxy_pass http://grafana.container:3000; } } server { listen 8888; server_name graylog.ocoderfest.msales; location / { proxy_pass http://graylog.container:9000; } } influxdb: container_name: influxdb.container build: ./docker/influxdb networks: - ocoderfest-msales ports: - 8086:8086 grafana: container_name: grafana.container build: ./docker/grafana restart: always networks: - ocoderfest-msales depends_on: - mysql - influxdb graylog: container_name: graylog.container build: ./docker/graylog environment: ... depends_on: - mongo - elasticsearch networks: - ocoderfest-msales
  • 16. 16 Reverse proxy grafana (http://grafana.ocoderfest.msales:8888) influxdb (http://influxdb.ocoderfest.msales:8888) graylog (http://graylog.ocoderfest.msales:8888)
  • 19. 19
  • 20. 20 Thanks info.pl@msales.com www.msales.com +48 32 630 40 76 follow us @msalestech follow me @mwadon