Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController
|
||||
def show
|
||||
@metrics = {}
|
||||
chatwoot_version
|
||||
sha
|
||||
postgres_status
|
||||
redis_metrics
|
||||
chatwoot_edition
|
||||
instance_meta
|
||||
end
|
||||
|
||||
def chatwoot_edition
|
||||
@metrics['Chatwoot edition'] = if ChatwootApp.enterprise?
|
||||
'Enterprise'
|
||||
elsif ChatwootApp.custom?
|
||||
'Custom'
|
||||
else
|
||||
'Community'
|
||||
end
|
||||
end
|
||||
|
||||
def instance_meta
|
||||
@metrics['Database Migrations'] = ActiveRecord::Base.connection.migration_context.needs_migration? ? 'pending' : 'completed'
|
||||
end
|
||||
|
||||
def chatwoot_version
|
||||
@metrics['Chatwoot version'] = Chatwoot.config[:version]
|
||||
end
|
||||
|
||||
def sha
|
||||
@metrics['Git SHA'] = GIT_HASH
|
||||
end
|
||||
|
||||
def postgres_status
|
||||
@metrics['Postgres alive'] = if ActiveRecord::Base.connection.active?
|
||||
'true'
|
||||
else
|
||||
'false'
|
||||
end
|
||||
end
|
||||
|
||||
def redis_metrics
|
||||
r = Redis.new(Redis::Config.app)
|
||||
if r.ping == 'PONG'
|
||||
redis_server = r.info
|
||||
@metrics['Redis alive'] = 'true'
|
||||
@metrics['Redis version'] = redis_server['redis_version']
|
||||
@metrics['Redis number of connected clients'] = redis_server['connected_clients']
|
||||
@metrics["Redis 'maxclients' setting"] = redis_server['maxclients']
|
||||
@metrics['Redis memory used'] = redis_server['used_memory_human']
|
||||
@metrics['Redis memory peak'] = redis_server['used_memory_peak_human']
|
||||
@metrics['Redis total memory available'] = redis_server['total_system_memory_human']
|
||||
@metrics["Redis 'maxmemory' setting"] = redis_server['maxmemory']
|
||||
@metrics["Redis 'maxmemory_policy' setting"] = redis_server['maxmemory_policy']
|
||||
end
|
||||
rescue Redis::CannotConnectError
|
||||
@metrics['Redis alive'] = false
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user