Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
d1b23689
Commit
d1b23689
authored
Nov 25, 2020
by
Rachel Gottesman
Committed by
Suzanne Selhorn
Nov 25, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix future tense issues
parent
7390f7b9
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
13 deletions
+13
-13
doc/administration/job_logs.md
doc/administration/job_logs.md
+13
-13
No files found.
doc/administration/job_logs.md
View file @
d1b23689
...
@@ -30,7 +30,7 @@ it would be `/home/git/gitlab`.
...
@@ -30,7 +30,7 @@ it would be `/home/git/gitlab`.
## Changing the job logs local location
## Changing the job logs local location
To change the location where the job logs
will b
e stored, follow the steps below.
To change the location where the job logs
ar
e stored, follow the steps below.
**In Omnibus installations:**
**In Omnibus installations:**
...
@@ -117,12 +117,12 @@ you can do so using one of the following options:
...
@@ -117,12 +117,12 @@ you can do so using one of the following options:
There isn't a way to automatically expire old job logs, but it's safe to remove
There isn't a way to automatically expire old job logs, but it's safe to remove
them if they're taking up too much space. If you remove the logs manually, the
them if they're taking up too much space. If you remove the logs manually, the
job output in the UI
will be
empty.
job output in the UI
is
empty.
For example, to delete all job logs older than 60 days, run the following from a shell in your GitLab instance:
For example, to delete all job logs older than 60 days, run the following from a shell in your GitLab instance:
DANGER:
**Warning:**
DANGER:
**Warning:**
This command
will permanently delete
the log files and is irreversible.
This command
permanently deletes
the log files and is irreversible.
```
shell
```
shell
find /var/opt/gitlab/gitlab-rails/shared/artifacts
-name
"job.log"
-mtime
+60
-delete
find /var/opt/gitlab/gitlab-rails/shared/artifacts
-name
"job.log"
-mtime
+60
-delete
...
@@ -144,7 +144,7 @@ with one change: _the stored path of the first two phases is different_. This in
...
@@ -144,7 +144,7 @@ with one change: _the stored path of the first two phases is different_. This in
log architecture stores chunks of logs in Redis and a persistent store (object storage or database) instead of
log architecture stores chunks of logs in Redis and a persistent store (object storage or database) instead of
file storage. Redis is used as first-class storage, and it stores up-to 128KB
file storage. Redis is used as first-class storage, and it stores up-to 128KB
of data. After the full chunk is sent, it is flushed to a persistent store, either object storage (temporary directory) or database.
of data. After the full chunk is sent, it is flushed to a persistent store, either object storage (temporary directory) or database.
After a while, the data in Redis and a persistent store
will be
archived to
[
object storage
](
#uploading-logs-to-object-storage
)
.
After a while, the data in Redis and a persistent store
is
archived to
[
object storage
](
#uploading-logs-to-object-storage
)
.
The data are stored in the following Redis namespace:
`Gitlab::Redis::SharedState`
.
The data are stored in the following Redis namespace:
`Gitlab::Redis::SharedState`
.
...
@@ -185,9 +185,9 @@ Feature.enable(:ci_enable_live_trace)
...
@@ -185,9 +185,9 @@ Feature.enable(:ci_enable_live_trace)
```
```
NOTE:
**Note:**
NOTE:
**Note:**
The transition period
will be handled gracefully. Upcoming logs will be
The transition period
is handled gracefully. Upcoming logs are
generated with the incremental architecture, and on-going logs
will
stay with the
generated with the incremental architecture, and on-going logs stay with the
legacy architecture, which means that on-going logs
won't be
forcibly
legacy architecture, which means that on-going logs
aren't
forcibly
re-generated with the incremental architecture.
re-generated with the incremental architecture.
**To disable incremental logging (trace):**
**To disable incremental logging (trace):**
...
@@ -197,9 +197,9 @@ Feature.disable('ci_enable_live_trace')
...
@@ -197,9 +197,9 @@ Feature.disable('ci_enable_live_trace')
```
```
NOTE:
**Note:**
NOTE:
**Note:**
The transition period
will be handled gracefully. Upcoming logs will b
e generated
The transition period
is handled gracefully. Upcoming logs ar
e generated
with the legacy architecture, and on-going incremental logs
will
stay with the incremental
with the legacy architecture, and on-going incremental logs stay with the incremental
architecture, which means that on-going incremental logs
won't be
forcibly re-generated
architecture, which means that on-going incremental logs
aren't
forcibly re-generated
with the legacy architecture.
with the legacy architecture.
### Potential implications
### Potential implications
...
@@ -209,13 +209,13 @@ In some cases, having data stored on Redis could incur data loss:
...
@@ -209,13 +209,13 @@ In some cases, having data stored on Redis could incur data loss:
1.
**Case 1: When all data in Redis are accidentally flushed**
1.
**Case 1: When all data in Redis are accidentally flushed**
-
On going incremental logs could be recovered by re-sending logs (this is
-
On going incremental logs could be recovered by re-sending logs (this is
supported by all versions of GitLab Runner).
supported by all versions of GitLab Runner).
-
Finished jobs which have not archived incremental logs
will
lose the last part
-
Finished jobs which have not archived incremental logs lose the last part
(~128KB) of log data.
(~128KB) of log data.
1.
**
Case 2: When Sidekiq workers fail to archive (e.g., there was a bug that
1.
**
Case 2: When Sidekiq workers fail to archive (e.g., there was a bug that
prevents archiving process, Sidekiq inconsistency, etc.)
**
prevents archiving process, Sidekiq inconsistency, etc.)
**
-
Currently all log data in Redis will be
deleted after one week. If the
-
All log data in Redis is
deleted after one week. If the
Sidekiq workers can't finish by the expiry date, the part of log data
will be
lost.
Sidekiq workers can't finish by the expiry date, the part of log data
is
lost.
Another issue that might arise is that it could consume all memory on the Redis
Another issue that might arise is that it could consume all memory on the Redis
instance. If the number of jobs is 1000, 128MB (128KB
*
1000) is consumed.
instance. If the number of jobs is 1000, 128MB (128KB
*
1000) is consumed.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment