diff --git a/ansible/roles/mongo/tasks/main.yml b/ansible/roles/mongo/tasks/main.yml index 804026fe9..14a7d5e5a 100644 --- a/ansible/roles/mongo/tasks/main.yml +++ b/ansible/roles/mongo/tasks/main.yml @@ -86,7 +86,7 @@ owner: "{{ ansible_effective_user_id|int }}" group: "{{ ansible_effective_group_id|int }}" mode: 0755 - when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['hdb-mongo-secondary', 'hdb-mongo-analytics'] + when: (inventory_hostname | regex_replace('\-?[0-9]+', '')) in ['hdb-mongo-secondary', 'hdb-mongo-analytics'] - name: Start db-mongo docker container become: yes @@ -181,7 +181,35 @@ - /srv/newsblur/config/mongodb_keyfile.key:/srv/newsblur/config/mongodb_keyfile.key - /var/log/mongodb/:/var/log/mongodb/ - /mnt/{{ inventory_hostname | regex_replace('db-|-', '') }}/backup/:/backup/ - when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo-analytics', 'hdb-mongo-analytics'] + when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo-analytics'] + +- name: Start db-mongo-analytics docker container on hetzner + become: yes + docker_container: + name: mongo + image: mongo:4.0 + state: started + container_default_behavior: no_defaults + hostname: "{{ inventory_hostname }}" + restart_policy: unless-stopped + networks_cli_compatible: yes + # network_mode: host + network_mode: default + networks: + - name: newsblurnet + aliases: + - mongo + ports: + - "27017:27017" + command: --config /etc/mongod.conf + user: 1000:1001 + volumes: + - /srv/newsblur/docker/volumes/mongo:/data/db + - /srv/newsblur/ansible/roles/mongo/templates/mongo.analytics.conf:/etc/mongod.conf + - /srv/newsblur/config/mongodb_keyfile.key:/srv/newsblur/config/mongodb_keyfile.key + - /var/log/mongodb/:/var/log/mongodb/ + - /srv/newsblur/docker/volumes/mongo/backup/:/backup/ + when: (inventory_hostname | regex_replace('\-?[0-9]+', '')) in ['hdb-mongo-analytics'] - name: Create mongo database user shell: @@ -220,7 +248,7 @@ template: src: consul_service.json dest: /etc/consul.d/mongo.json - when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo-primary', 'db-mongo-secondary'] + when: (inventory_hostname | regex_replace('\-?[0-9]+', '')) in ['db-mongo-primary', 'db-mongo-secondary', 'hdb-mongo-primary', 'hdb-mongo-secondary'] notify: - reload consul diff --git a/flask_monitor/db_monitor.py b/flask_monitor/db_monitor.py index 311bfaad6..663c44d87 100644 --- a/flask_monitor/db_monitor.py +++ b/flask_monitor/db_monitor.py @@ -1,17 +1,16 @@ -from flask import Flask, abort, request, Response import os -import psycopg2 -import pymysql -import pymongo -import redis + import elasticsearch +import psycopg2 +import pymongo +import pymysql +import redis +import sentry_sdk +from flask import Flask, Response, abort, request +from sentry_sdk.integrations.flask import FlaskIntegration from newsblur_web import settings -import sentry_sdk -from flask import Flask -from sentry_sdk.integrations.flask import FlaskIntegration - sentry_sdk.init( dsn=settings.FLASK_SENTRY_DSN, integrations=[FlaskIntegration()], @@ -158,7 +157,7 @@ def db_check_redis_user(): return str(1) try: - r = redis.Redis('db-redis-user.service.nyc1.consul', db=0) + r = redis.Redis(f'{settings.SERVER_NAME}.node.nyc1.consul', db=0) except: abort(Response("Can't connect to db", 503)) @@ -178,7 +177,7 @@ def db_check_redis_story(): return str(1) try: - r = redis.Redis('db-redis-story.service.nyc1.consul', db=1) + r = redis.Redis(f'{settings.SERVER_NAME}.node.nyc1.consul', db=0) except: abort(Response("Can't connect to db", 503)) @@ -198,7 +197,7 @@ def db_check_redis_sessions(): return str(1) try: - r = redis.Redis('db-redis-sessions.service.nyc1.consul', db=5) + r = redis.Redis(f'{settings.SERVER_NAME}.node.nyc1.consul', db=0) except: abort(Response("Can't connect to db", 503)) @@ -218,7 +217,7 @@ def db_check_redis_pubsub(): return str(1) try: - r = redis.Redis('db-redis-pubsub.service.nyc1.consul', db=1) + r = redis.Redis(f'{settings.SERVER_NAME}.node.nyc1.consul', db=0) except: abort(Response("Can't connect to db", 503))