From 1e4a882f8d73f07cd9df82deafe2dacde809597a Mon Sep 17 00:00:00 2001 From: Richard Morgan Date: Sun, 15 Jul 2018 11:12:48 -0400 Subject: [PATCH] add picture gallery container update prometheus/grafana to be persistent, and have more collectors --- .../picture-gallery/docker-compose.yml | 33 ++++++++++ .../prometheus/docker-compose-prod.yml | 64 ++++++++++++++----- .../services/prometheus/docker-compose.yml | 10 ++- .../services/prometheus/prometheus.yml | 29 +++++++++ .../services/services/fluentd/Dockerfile | 1 - .../services/services/fluentd/fluent.conf | 7 ++ 6 files changed, 123 insertions(+), 21 deletions(-) create mode 100644 dockerfiles/services/picture-gallery/docker-compose.yml diff --git a/dockerfiles/services/picture-gallery/docker-compose.yml b/dockerfiles/services/picture-gallery/docker-compose.yml new file mode 100644 index 0000000..5d3962b --- /dev/null +++ b/dockerfiles/services/picture-gallery/docker-compose.yml @@ -0,0 +1,33 @@ +--- +# docker-compose file for picture gallery + +# docker login dkregistry.xai-corp.net:5000 +# docker-compose build && docker push dkregistry.xai-corp.net:5000/xaicorp/gallery:latest + +# DOCKER_HOST=dkmanager:2376 docker stack deploy -c docker-compose.yml gallery +# DOCKER_HOST=dkmanager:2376 docker stack ps gallery + +version: '3.4' +services: + + gallery: + image: "mkodockx/docker-picture-gallery" + ports: + - 8085:80 +# volumes: +# - /opt/pg/:/uploads/ +# - /your-path/data/:/data/ + +# logging: +# driver: fluentd +# options: +# fluentd-address: "logs.xai-corp.net:24224" +# fluentd-async-connect: 'true' +# tag: postgres + + + +#create database gallery; +#create user gallery_user; +# +#grant all privileges on gallery.* to 'gallery_user'@'%' identified by 'aqioch3i12oh0cba'; diff --git a/dockerfiles/services/prometheus/docker-compose-prod.yml b/dockerfiles/services/prometheus/docker-compose-prod.yml index 3924da7..48c3451 100644 --- a/dockerfiles/services/prometheus/docker-compose-prod.yml +++ b/dockerfiles/services/prometheus/docker-compose-prod.yml @@ -4,10 +4,13 @@ # docker login dkregistry.xai-corp.net:5000 # docker-compose build && docker push dkregistry.xai-corp.net:5000/xaicorp/prometheus:latest -# DOCKER_HOST=dkmanager:2376 docker stack deploy -c docker-compose.yml metrics +# DOCKER_HOST=dkmanager:2376 docker stack deploy --prune --with-registry-auth -c docker-compose-prod.yml metrics # DOCKER_HOST=dkmanager:2376 docker stack ps metrics version: '3.4' +volumes: + grafana-storage: + services: prometheus: @@ -16,13 +19,13 @@ services: - 9090:9090 volumes: - /opt/prometheus/data:/prometheus-data - - logging: - driver: fluentd - options: - fluentd-address: "logs.xai-corp.net:24224" - fluentd-async-connect: 'true' - tag: prometheus +# +# logging: +# driver: fluentd +# options: +# fluentd-address: "logs.xai-corp.net:24224" +# fluentd-async-connect: 'true' +# tag: metrics deploy: mode: replicated replicas: 1 @@ -38,20 +41,35 @@ services: limits: # cpus: '1' memory: 512M - networks: - - prod graphana: image: grafana/grafana ports: - 3001:3000 + volumes: + - grafana-storage:/var/lib/grafana environment: GF_SECURITY_ADMIN_PASSWORD: sakas -# volumes: -# - /opt/shared/nextcloud/data:/var/www/html/data + GF_INSTALL_PLUGINS: 'grafana-clock-panel,grafana-simple-json-datasource,raintank-worldping-app' + deploy: + mode: replicated + replicas: 1 + restart_policy: + condition: any + delay: "1m" + max_attempts: 1 + update_config: + parallelism: 1 + delay: 2s + order: start-first + resources: + limits: + memory: 512M - postgres_exported: + postgres_exporter: image: wrouesnel/postgres_exporter + ports: + - 9187:9187 environment: DATA_SOURCE_NAME: "postgresql://xaicorp_admin:snqioxni1sw@tasks.postgres:5432/?sslmode=disable" deploy: @@ -69,8 +87,7 @@ services: limits: # cpus: '1' memory: 512M - networks: - - prod + fluentd_exporter: image: vect0r/fluentd_exporter @@ -96,8 +113,21 @@ services: limits: # cpus: '1' memory: 512M - networks: - - prod + + + node_exporter: + image: quay.io/prometheus/node-exporter + ports: + - 9100:9100 + command: + - --collector.tcpstat + + statsd_exporter: + image: prom/statsd-exporter + ports: + - 9102:9102 + - 9125:9125 + - 9125:9125/udp networks: prod: diff --git a/dockerfiles/services/prometheus/docker-compose.yml b/dockerfiles/services/prometheus/docker-compose.yml index 3829702..48b5c09 100644 --- a/dockerfiles/services/prometheus/docker-compose.yml +++ b/dockerfiles/services/prometheus/docker-compose.yml @@ -4,7 +4,7 @@ # docker login dkregistry.xai-corp.net:5000 # docker-compose build && docker push dkregistry.xai-corp.net:5000/xaicorp/prometheus:latest -# DOCKER_HOST=dkmanager:2376 docker stack deploy -c docker-compose.yml metrics +# DOCKER_HOST=dkmanager:2376 docker stack deploy --prune --with-registry-auth -c docker-compose-prod.yml metrics # DOCKER_HOST=dkmanager:2376 docker stack ps metrics version: '3.4' @@ -17,8 +17,8 @@ services: dockerfile: Dockerfile ports: - 9090:9090 - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml +# volumes: +# - ./prometheus.yml:/etc/prometheus/prometheus.yml # logging: # driver: fluentd # options: @@ -50,3 +50,7 @@ services: - -scrape_uri - http://tasks.fluentd:24220/api/plugins.json + node_exporter: + image: quay.io/prometheus/node-exporter + pid: "host" + diff --git a/dockerfiles/services/prometheus/prometheus.yml b/dockerfiles/services/prometheus/prometheus.yml index 060237a..11db50f 100644 --- a/dockerfiles/services/prometheus/prometheus.yml +++ b/dockerfiles/services/prometheus/prometheus.yml @@ -14,6 +14,11 @@ global: scrape_configs: +- job_name: 'prometheus' + scrape_interval: 5s + static_configs: + - targets: ['prometheus:9090'] + - job_name: glusterfs metrics_path: /metrics scrape_interval: 120s @@ -30,3 +35,27 @@ scrape_configs: static_configs: - targets: - 'fluentd_exporter:9309' + +- job_name: node + metrics_path: /metrics + scrape_interval: 60s + scrape_timeout: 9s + static_configs: + - targets: + - 'node_exporter:9100' + +- job_name: postresql + metrics_path: /metrics + scrape_interval: 60s + scrape_timeout: 9s + static_configs: + - targets: + - 'postgres_exporter:9187' + +- job_name: statsd + metrics_path: /metrics + scrape_interval: 60s + scrape_timeout: 9s + static_configs: + - targets: + - 'statsd_exporter:9102' diff --git a/dockerfiles/services/services/fluentd/Dockerfile b/dockerfiles/services/services/fluentd/Dockerfile index 2444aff..a626d7f 100644 --- a/dockerfiles/services/services/fluentd/Dockerfile +++ b/dockerfiles/services/services/fluentd/Dockerfile @@ -3,7 +3,6 @@ MAINTAINER Richard Morgan RUN apk add --update --virtual .build-deps \ sudo build-base ruby-dev \ - # cutomize following instruction as you wish && sudo gem install \ fluent-plugin-secure-forward \ diff --git a/dockerfiles/services/services/fluentd/fluent.conf b/dockerfiles/services/services/fluentd/fluent.conf index 1eb0235..8358282 100644 --- a/dockerfiles/services/services/fluentd/fluent.conf +++ b/dockerfiles/services/services/fluentd/fluent.conf @@ -94,6 +94,13 @@ flush_interval 10s + + @type loggly_buffered + loggly_url https://logs-01.loggly.com/bulk/22feaabc-c080-4407-86c3-ae9052999786/tag/metrics + buffer_type memory + flush_interval 10s + + @type loggly loggly_url https://logs-01.loggly.com/bulk/22feaabc-c080-4407-86c3-ae9052999786/tag/fluentd