diff --git a/awx/main/analytics/broadcast_websocket.py b/awx/main/analytics/broadcast_websocket.py index abf1623660..21567402f3 100644 --- a/awx/main/analytics/broadcast_websocket.py +++ b/awx/main/analytics/broadcast_websocket.py @@ -2,6 +2,7 @@ import datetime import asyncio import logging import redis +import redis.asyncio import re from prometheus_client import ( @@ -81,7 +82,7 @@ class RelayWebsocketStatsManager: async def run_loop(self): try: - redis_conn = await redis.asyncio.create_redis_pool(settings.BROKER_URL) + redis_conn = await redis.asyncio.Redis.from_url(settings.BROKER_URL) while True: stats_data_str = ''.join(stat.serialize() for stat in self._stats.values()) await redis_conn.set(self._redis_key, stats_data_str) @@ -121,8 +122,8 @@ class RelayWebsocketStats: 'Number of messages received, to be forwarded, by the broadcast websocket system', registry=self._registry, ) - self._messages_received = Gauge( - f'awx_{self.remote_name}_messages_received', + self._messages_received_current_conn = Gauge( + f'awx_{self.remote_name}_messages_received_currrent_conn', 'Number forwarded messages received by the broadcast websocket system, for the duration of the current connection', registry=self._registry, ) @@ -143,13 +144,13 @@ class RelayWebsocketStats: def record_message_received(self): self._internal_messages_received_per_minute.record() - self._messages_received.inc() + self._messages_received_current_conn.inc() self._messages_received_total.inc() def record_connection_established(self): self._connection.state('connected') self._connection_start.set_to_current_time() - self._messages_received.set(0) + self._messages_received_current_conn.set(0) def record_connection_lost(self): self._connection.state('disconnected') diff --git a/awx/main/conf.py b/awx/main/conf.py index 240a743ddd..dab0543a1a 100644 --- a/awx/main/conf.py +++ b/awx/main/conf.py @@ -569,7 +569,7 @@ register( register( 'LOG_AGGREGATOR_LOGGERS', field_class=fields.StringListField, - default=['awx', 'activity_stream', 'job_events', 'system_tracking'], + default=['awx', 'activity_stream', 'job_events', 'system_tracking', 'broadcast_websocket'], label=_('Loggers Sending Data to Log Aggregator Form'), help_text=_( 'List of loggers that will send HTTP logs to the collector, these can ' @@ -577,7 +577,8 @@ register( 'awx - service logs\n' 'activity_stream - activity stream records\n' 'job_events - callback data from Ansible job events\n' - 'system_tracking - facts gathered from scan jobs.' + 'system_tracking - facts gathered from scan jobs\n' + 'broadcast_websocket - errors pertaining to websockets broadcast metrics\n' ), category=_('Logging'), category_slug='logging', diff --git a/awx/main/tasks/receptor.py b/awx/main/tasks/receptor.py index 6cab4eeb52..639abf671f 100644 --- a/awx/main/tasks/receptor.py +++ b/awx/main/tasks/receptor.py @@ -63,7 +63,7 @@ def read_receptor_config(): def work_signing_enabled(config_data): for section in config_data: - if 'work-verification' in section: + if 'work-signing' in section: return True return False diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index 6bd4f7de57..d11605456c 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -853,6 +853,7 @@ LOGGING = { 'awx.main.signals': {'level': 'INFO'}, # very verbose debug-level logs 'awx.api.permissions': {'level': 'INFO'}, # very verbose debug-level logs 'awx.analytics': {'handlers': ['external_logger'], 'level': 'INFO', 'propagate': False}, + 'awx.analytics.broadcast_websocket': {'handlers': ['console', 'file', 'wsbroadcast', 'external_logger'], 'level': 'INFO', 'propagate': False}, 'awx.analytics.performance': {'handlers': ['console', 'file', 'tower_warnings', 'external_logger'], 'level': 'DEBUG', 'propagate': False}, 'awx.analytics.job_lifecycle': {'handlers': ['console', 'job_lifecycle'], 'level': 'DEBUG', 'propagate': False}, 'django_auth_ldap': {'handlers': ['console', 'file', 'tower_warnings'], 'level': 'DEBUG'}, diff --git a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 index d29c5ee0a5..a83a130283 100644 --- a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 +++ b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 @@ -274,7 +274,7 @@ RUN for dir in \ /var/run/nginx.pid \ /var/lib/awx/venv/awx/lib/python3.9/site-packages/awx.egg-link ; \ do touch $file ; chmod g+rw $file ; done && \ - echo "\setenv PAGER 'less -S'" > /var/lib/awx/.psqlrc + echo "\setenv PAGER 'less -SXF'" > /var/lib/awx/.psqlrc {% endif %} {% if not build_dev|bool %}