mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-04 04:57:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController
 | 
						|
  def show
 | 
						|
    @metrics = {}
 | 
						|
    chatwoot_version
 | 
						|
    sha
 | 
						|
    postgres_status
 | 
						|
    redis_metrics
 | 
						|
  end
 | 
						|
 | 
						|
  def chatwoot_version
 | 
						|
    @metrics['Chatwoot version'] = Chatwoot.config[:version]
 | 
						|
  end
 | 
						|
 | 
						|
  def sha
 | 
						|
    sha = `git rev-parse HEAD`
 | 
						|
    @metrics['Git SHA'] = sha.presence || 'n/a'
 | 
						|
  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
 |