mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 20:18:08 +00:00
- Fix git-hash in super admin instance health page for Heroku installations - Fix git boundary not set error for docker/heroku deployments which remove .git directory
60 lines
2.0 KiB
Ruby
60 lines
2.0 KiB
Ruby
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
|