Make Synapse not log to text files
Somewhat related to #213 (Github Pull Request). We've been moving in the opposite direction for quite a long time. All services should just leave logging to systemd's journald.
This commit is contained in:
parent
b84139088c
commit
ef5e4ad061
19
CHANGELOG.md
19
CHANGELOG.md
@ -1,3 +1,22 @@
|
|||||||
|
# 2019-07-04
|
||||||
|
|
||||||
|
## Synapse no longer logs to text files
|
||||||
|
|
||||||
|
Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`).
|
||||||
|
|
||||||
|
From now on, Synapse would only log to console, which goes to systemd's journald.
|
||||||
|
To see Synapse's logs, execute: `journalctl -fu matrix-synapse`
|
||||||
|
|
||||||
|
Because of this, the following variables have become obsolete and were removed:
|
||||||
|
|
||||||
|
- `matrix_synapse_max_log_file_size_mb`
|
||||||
|
- `matrix_synapse_max_log_files_count`
|
||||||
|
|
||||||
|
To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`).
|
||||||
|
|
||||||
|
Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`).
|
||||||
|
|
||||||
|
|
||||||
# 2019-06-27
|
# 2019-06-27
|
||||||
|
|
||||||
## (BC Break) Discord bridge configuration is now entirely managed by the playbook
|
## (BC Break) Discord bridge configuration is now entirely managed by the playbook
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
- **CentOS** (7.0+), **Debian** (9/Stretch+) or **Ubuntu** (16.04+) server. We only strive to support released stable versions of distributions, not betas or pre-releases. This playbook can take over your whole server or co-exist with other services that you have there.
|
- **CentOS** (7.0+), **Debian** (9/Stretch+) or **Ubuntu** (16.04+) server. We only strive to support released stable versions of distributions, not betas or pre-releases. This playbook can take over your whole server or co-exist with other services that you have there.
|
||||||
|
|
||||||
|
- for ancient distributions like **CentOS 7.0**, we recommend that you do a manual systemd-journald adjustment. Because the Synapse chat server is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`).
|
||||||
|
|
||||||
- [Python](https://www.python.org/) being installed on the server. Most distributions install Python by default, but some don't (e.g. Ubuntu 18.04) and require manual installation (something like `apt-get install python`).
|
- [Python](https://www.python.org/) being installed on the server. Most distributions install Python by default, but some don't (e.g. Ubuntu 18.04) and require manual installation (something like `apt-get install python`).
|
||||||
|
|
||||||
- a `cron`-like tool installed on the server such as `cron` or `anacron` to automatically schedule the Let's Encrypt SSL certificates. *This can be ignored if you use your own SSL certificates.*
|
- a `cron`-like tool installed on the server such as `cron` or `anacron` to automatically schedule the Let's Encrypt SSL certificates. *This can be ignored if you use your own SSL certificates.*
|
||||||
|
@ -69,8 +69,6 @@ matrix_synapse_form_secret: "{{ matrix_synapse_macaroon_secret_key }}"
|
|||||||
matrix_synapse_trusted_third_party_id_servers: "{{ matrix_synapse_id_servers_public }}"
|
matrix_synapse_trusted_third_party_id_servers: "{{ matrix_synapse_id_servers_public }}"
|
||||||
|
|
||||||
matrix_synapse_max_upload_size_mb: 10
|
matrix_synapse_max_upload_size_mb: 10
|
||||||
matrix_synapse_max_log_file_size_mb: 100
|
|
||||||
matrix_synapse_max_log_files_count: 10
|
|
||||||
|
|
||||||
# The tmpfs at /tmp needs to be large enough to handle multiple concurrent file uploads.
|
# The tmpfs at /tmp needs to be large enough to handle multiple concurrent file uploads.
|
||||||
matrix_synapse_tmp_directory_size_mb: "{{ matrix_synapse_max_upload_size_mb * 50 }}"
|
matrix_synapse_tmp_directory_size_mb: "{{ matrix_synapse_max_upload_size_mb * 50 }}"
|
||||||
|
@ -12,14 +12,6 @@ filters:
|
|||||||
request: ""
|
request: ""
|
||||||
|
|
||||||
handlers:
|
handlers:
|
||||||
file:
|
|
||||||
class: logging.handlers.RotatingFileHandler
|
|
||||||
formatter: precise
|
|
||||||
filename: /matrix-run/homeserver.log
|
|
||||||
maxBytes: {{ matrix_synapse_max_log_file_size_mb * 1024 * 1024 }}
|
|
||||||
backupCount: {{ matrix_synapse_max_log_files_count }}
|
|
||||||
filters: [context]
|
|
||||||
encoding: utf8
|
|
||||||
console:
|
console:
|
||||||
class: logging.StreamHandler
|
class: logging.StreamHandler
|
||||||
formatter: precise
|
formatter: precise
|
||||||
@ -41,4 +33,4 @@ loggers:
|
|||||||
|
|
||||||
root:
|
root:
|
||||||
level: {{ matrix_synapse_root_log_level }}
|
level: {{ matrix_synapse_root_log_level }}
|
||||||
handlers: [file, console]
|
handlers: [console]
|
||||||
|
Loading…
Reference in New Issue
Block a user