From 078ce1103479170844963c53b09a52a6ffce6d72 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Tue, 3 Aug 2021 16:40:23 -0400 Subject: [PATCH] Adding db-mongo-analytics specific conf. --- ansible/roles/mongo/tasks/main.yml | 32 ++++++++++++- .../mongo/templates/mongo.analytics.conf | 48 +++++++++++++++++++ utils/redis_raw_log_middleware.py | 3 +- 3 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 ansible/roles/mongo/templates/mongo.analytics.conf diff --git a/ansible/roles/mongo/tasks/main.yml b/ansible/roles/mongo/tasks/main.yml index 74b7b5591..c35b8de31 100644 --- a/ansible/roles/mongo/tasks/main.yml +++ b/ansible/roles/mongo/tasks/main.yml @@ -79,6 +79,34 @@ - /srv/newsblur/config/mongodb_keyfile.key:/srv/newsblur/config/mongodb_keyfile.key - /var/log/mongodb/:/var/log/mongodb/ - /opt/mongo/newsblur/backup/:/backup/ + when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo', 'db-mongo-secondary'] + +- name: Start db-mongo-analytics docker container + become: yes + docker_container: + name: mongo + image: mongo:3.6 + 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 + volumes: + - /mnt/{{ inventory_hostname | regex_replace('db-|-', '') }}:/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/ + - /opt/mongo/newsblur/backup/:/backup/ + when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo', 'db-mongo-secondary'] - name: Register mongo in consul tags: consul @@ -86,7 +114,7 @@ template: src: consul_service.json dest: /etc/consul.d/mongo.json - when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo', 'db-mongo-secondary'] or inventory_hostname.startswith('db2') + when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo', 'db-mongo-secondary'] notify: - reload consul @@ -96,7 +124,7 @@ template: src: consul_service.analytics.json dest: /etc/consul.d/mongo.json - when: (inventory_hostname | regex_replace('[0-9]+', '')) == 'db-mongo-analytics' or inventory_hostname.startswith('db3') + when: (inventory_hostname | regex_replace('[0-9]+', '')) == 'db-mongo-analytics' notify: - reload consul diff --git a/ansible/roles/mongo/templates/mongo.analytics.conf b/ansible/roles/mongo/templates/mongo.analytics.conf new file mode 100644 index 000000000..21cef4e0c --- /dev/null +++ b/ansible/roles/mongo/templates/mongo.analytics.conf @@ -0,0 +1,48 @@ +# mongod.conf + +# for documentation of all options, see: +# http://docs.mongodb.org/manual/reference/configuration-options/ + +# Where and how to store data. +storage: + dbPath: /data/db + journal: + enabled: true +# engine: +# mmapv1: +# wiredTiger: + +# where to write logging data. +systemLog: + destination: file + logAppend: true + path: /var/log/mongodb/mongod.log + +# network interfaces +net: + port: 27017 + bindIpAll: true + +# how the process runs +processManagement: + timeZoneInfo: /usr/share/zoneinfo + +# security: +# keyFile: /srv/newsblur/config/mongodb_keyfile.key +# authorization: enabled +# transitionToAuth: true + +operationProfiling: + mode: slowOp + slowOpThresholdMs: 1000 + +# replication: +# replSetName: nbset + +#sharding: + +## Enterprise-Only Options: + +#auditLog: + +#snmp: diff --git a/utils/redis_raw_log_middleware.py b/utils/redis_raw_log_middleware.py index 4a1811364..c273058b5 100644 --- a/utils/redis_raw_log_middleware.py +++ b/utils/redis_raw_log_middleware.py @@ -62,12 +62,11 @@ class RedisDumpMiddleware(object): for a, arg in enumerate(args): if isinstance(arg, Connection): redis_connection = arg - redis_server_name = redis_connection.host continue if len(str(arg)) > 100: arg = "[%s bytes]" % len(str(arg)) query.append(str(arg).replace('\n', '')) - return { 'query': ' '.join(query), 'redis_server_name': redis_server_name } + return { 'query': ' '.join(query), 'redis_server_name': redis_connection.host } def __call__(self, request): response = None