Add monitoring link with subtabs
This commit is contained in:
parent
922a164d60
commit
d1c3f3d872
|
@ -0,0 +1,14 @@
|
|||
%ul.nav-links.sub-nav
|
||||
%div{ class: (container_class) }
|
||||
= nav_link(controller: :background_jobs) do
|
||||
= link_to admin_background_jobs_path, title: 'Background Jobs' do
|
||||
%span
|
||||
Background Jobs
|
||||
= nav_link(controller: :logs) do
|
||||
= link_to admin_logs_path, title: 'Logs' do
|
||||
%span
|
||||
Logs
|
||||
= nav_link(controller: :health_check) do
|
||||
= link_to admin_health_check_path, title: 'Health Check' do
|
||||
%span
|
||||
Health Check
|
|
@ -1,46 +1,50 @@
|
|||
- @no_container = true
|
||||
- page_title "Background Jobs"
|
||||
%h3.page-title Background Jobs
|
||||
%p.light GitLab uses #{link_to "sidekiq", "http://sidekiq.org/"} library for async job processing
|
||||
= render 'admin/background_jobs/head'
|
||||
|
||||
%hr
|
||||
%div{ class: (container_class) }
|
||||
%h3.page-title Background Jobs
|
||||
%p.light GitLab uses #{link_to "sidekiq", "http://sidekiq.org/"} library for async job processing
|
||||
|
||||
.panel.panel-default
|
||||
.panel-heading Sidekiq running processes
|
||||
.panel-body
|
||||
- if @sidekiq_processes.empty?
|
||||
%h4.cred
|
||||
%i.fa.fa-exclamation-triangle
|
||||
There are no running sidekiq processes. Please restart GitLab
|
||||
- else
|
||||
.table-holder
|
||||
%table.table
|
||||
%thead
|
||||
%th USER
|
||||
%th PID
|
||||
%th CPU
|
||||
%th MEM
|
||||
%th STATE
|
||||
%th START
|
||||
%th COMMAND
|
||||
%tbody
|
||||
- @sidekiq_processes.each do |process|
|
||||
- next unless process.match(/(sidekiq \d+\.\d+\.\d+.+$)/)
|
||||
- data = process.strip.split(' ')
|
||||
%tr
|
||||
%td= gitlab_config.user
|
||||
- 5.times do
|
||||
%td= data.shift
|
||||
%td= data.join(' ')
|
||||
%hr
|
||||
|
||||
.clearfix
|
||||
%p
|
||||
%i.fa.fa-exclamation-circle
|
||||
If '[25 of 25 busy]' is shown, restart GitLab with 'sudo service gitlab reload'.
|
||||
%p
|
||||
%i.fa.fa-exclamation-circle
|
||||
If more than one sidekiq process is listed, stop GitLab, kill the remaining sidekiq processes (sudo pkill -u #{gitlab_config.user} -f sidekiq) and restart GitLab.
|
||||
.panel.panel-default
|
||||
.panel-heading Sidekiq running processes
|
||||
.panel-body
|
||||
- if @sidekiq_processes.empty?
|
||||
%h4.cred
|
||||
%i.fa.fa-exclamation-triangle
|
||||
There are no running sidekiq processes. Please restart GitLab
|
||||
- else
|
||||
.table-holder
|
||||
%table.table
|
||||
%thead
|
||||
%th USER
|
||||
%th PID
|
||||
%th CPU
|
||||
%th MEM
|
||||
%th STATE
|
||||
%th START
|
||||
%th COMMAND
|
||||
%tbody
|
||||
- @sidekiq_processes.each do |process|
|
||||
- next unless process.match(/(sidekiq \d+\.\d+\.\d+.+$)/)
|
||||
- data = process.strip.split(' ')
|
||||
%tr
|
||||
%td= gitlab_config.user
|
||||
- 5.times do
|
||||
%td= data.shift
|
||||
%td= data.join(' ')
|
||||
|
||||
.clearfix
|
||||
%p
|
||||
%i.fa.fa-exclamation-circle
|
||||
If '[25 of 25 busy]' is shown, restart GitLab with 'sudo service gitlab reload'.
|
||||
%p
|
||||
%i.fa.fa-exclamation-circle
|
||||
If more than one sidekiq process is listed, stop GitLab, kill the remaining sidekiq processes (sudo pkill -u #{gitlab_config.user} -f sidekiq) and restart GitLab.
|
||||
|
||||
|
||||
|
||||
.panel.panel-default
|
||||
%iframe{src: sidekiq_path, width: '100%', height: 970, style: "border: none"}
|
||||
.panel.panel-default
|
||||
%iframe{src: sidekiq_path, width: '100%', height: 970, style: "border: none"}
|
||||
|
|
|
@ -1,49 +1,52 @@
|
|||
- @no_container = true
|
||||
- page_title "Health Check"
|
||||
= render 'admin/background_jobs/head'
|
||||
|
||||
%h3.page-title
|
||||
Health Check
|
||||
.bs-callout.clearfix
|
||||
.pull-left
|
||||
%p
|
||||
Access token is
|
||||
%code#health-check-token= current_application_settings.health_check_access_token
|
||||
= button_to reset_health_check_token_admin_application_settings_path,
|
||||
method: :put, class: 'btn btn-default',
|
||||
data: { confirm: 'Are you sure you want to reset the health check token?' } do
|
||||
= icon('refresh')
|
||||
Reset health check access token
|
||||
%p.light
|
||||
Health information can be retrieved as plain text, JSON, or XML using:
|
||||
%ul
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, format: :json)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, format: :xml)
|
||||
%div{ class: (container_class) }
|
||||
%h3.page-title
|
||||
Health Check
|
||||
.bs-callout.clearfix
|
||||
.pull-left
|
||||
%p
|
||||
Access token is
|
||||
%code#health-check-token= current_application_settings.health_check_access_token
|
||||
= button_to reset_health_check_token_admin_application_settings_path,
|
||||
method: :put, class: 'btn btn-default',
|
||||
data: { confirm: 'Are you sure you want to reset the health check token?' } do
|
||||
= icon('refresh')
|
||||
Reset health check access token
|
||||
%p.light
|
||||
Health information can be retrieved as plain text, JSON, or XML using:
|
||||
%ul
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, format: :json)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, format: :xml)
|
||||
|
||||
%p.light
|
||||
You can also ask for the status of specific services:
|
||||
%ul
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, checks: :cache)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, checks: :database)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, checks: :migrations)
|
||||
%p.light
|
||||
You can also ask for the status of specific services:
|
||||
%ul
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, checks: :cache)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, checks: :database)
|
||||
%li
|
||||
%code= health_check_url(token: current_application_settings.health_check_access_token, checks: :migrations)
|
||||
|
||||
%hr
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
Current Status:
|
||||
- if @errors.blank?
|
||||
= icon('circle', class: 'cgreen')
|
||||
Healthy
|
||||
- else
|
||||
= icon('warning', class: 'cred')
|
||||
Unhealthy
|
||||
.panel-body
|
||||
- if @errors.blank?
|
||||
No Health Problems Detected
|
||||
- else
|
||||
= @errors
|
||||
%hr
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
Current Status:
|
||||
- if @errors.blank?
|
||||
= icon('circle', class: 'cgreen')
|
||||
Healthy
|
||||
- else
|
||||
= icon('warning', class: 'cred')
|
||||
Unhealthy
|
||||
.panel-body
|
||||
- if @errors.blank?
|
||||
No Health Problems Detected
|
||||
- else
|
||||
= @errors
|
||||
|
|
|
@ -1,28 +1,32 @@
|
|||
- @no_container = true
|
||||
- page_title "Logs"
|
||||
- loggers = [Gitlab::GitLogger, Gitlab::AppLogger,
|
||||
Gitlab::ProductionLogger, Gitlab::SidekiqLogger,
|
||||
Gitlab::RepositoryCheckLogger]
|
||||
%ul.nav-links.log-tabs
|
||||
- loggers.each do |klass|
|
||||
%li{ class: (klass == Gitlab::GitLogger ? 'active' : '') }
|
||||
= link_to klass::file_name, "##{klass::file_name_noext}",
|
||||
'data-toggle' => 'tab'
|
||||
.row-content-block
|
||||
To prevent performance issues admin logs output the last 2000 lines
|
||||
.tab-content
|
||||
- loggers.each do |klass|
|
||||
.tab-pane{ class: (klass == Gitlab::GitLogger ? 'active' : ''),
|
||||
id: klass::file_name_noext }
|
||||
.file-holder#README
|
||||
.file-title
|
||||
%i.fa.fa-file
|
||||
= klass::file_name
|
||||
.pull-right
|
||||
= link_to '#', class: 'log-bottom' do
|
||||
%i.fa.fa-arrow-down
|
||||
Scroll down
|
||||
.file-content.logs
|
||||
%ol
|
||||
- klass.read_latest.each do |line|
|
||||
%li
|
||||
%p= line
|
||||
= render 'admin/background_jobs/head'
|
||||
|
||||
%div{ class: (container_class) }
|
||||
%ul.nav-links.log-tabs
|
||||
- loggers.each do |klass|
|
||||
%li{ class: (klass == Gitlab::GitLogger ? 'active' : '') }
|
||||
= link_to klass::file_name, "##{klass::file_name_noext}",
|
||||
'data-toggle' => 'tab'
|
||||
.row-content-block
|
||||
To prevent performance issues admin logs output the last 2000 lines
|
||||
.tab-content
|
||||
- loggers.each do |klass|
|
||||
.tab-pane{ class: (klass == Gitlab::GitLogger ? 'active' : ''),
|
||||
id: klass::file_name_noext }
|
||||
.file-holder#README
|
||||
.file-title
|
||||
%i.fa.fa-file
|
||||
= klass::file_name
|
||||
.pull-right
|
||||
= link_to '#', class: 'log-bottom' do
|
||||
%i.fa.fa-arrow-down
|
||||
Scroll down
|
||||
.file-content.logs
|
||||
%ol
|
||||
- klass.read_latest.each do |line|
|
||||
%li
|
||||
%p= line
|
||||
|
|
|
@ -16,14 +16,10 @@
|
|||
= link_to admin_builds_path, title: 'Builds' do
|
||||
%span
|
||||
Builds
|
||||
= nav_link(controller: :logs) do
|
||||
= link_to admin_logs_path, title: 'Logs' do
|
||||
= nav_link(controller: %w(background_jobs logs health_check)) do
|
||||
= link_to admin_background_jobs_path, title: 'Monitoring' do
|
||||
%span
|
||||
Logs
|
||||
= nav_link(controller: :health_check) do
|
||||
= link_to admin_health_check_path, title: 'Health Check' do
|
||||
%span
|
||||
Health Check
|
||||
Monitoring
|
||||
= nav_link(controller: :broadcast_messages) do
|
||||
= link_to admin_broadcast_messages_path, title: 'Messages' do
|
||||
%span
|
||||
|
@ -32,10 +28,7 @@
|
|||
= link_to admin_hooks_path, title: 'Hooks' do
|
||||
%span
|
||||
Hooks
|
||||
= nav_link(controller: :background_jobs) do
|
||||
= link_to admin_background_jobs_path, title: 'Background Jobs' do
|
||||
%span
|
||||
Background Jobs
|
||||
|
||||
= nav_link(controller: :appearances) do
|
||||
= link_to admin_appearances_path, title: 'Appearances' do
|
||||
%span
|
||||
|
|
Loading…
Reference in New Issue