Перемещение местоположения журнала для Tomcat 9 на Ubuntu 18.04

На новом экземпляре в AWS Ubuntu 18.04 я установил tomcat9 через Кв. Я заменяю 14,04 установок Ubuntu, куда я выполнял tomcat7. Из-за природы моего приложения, мне смонтировали очень большой диск под/data/ebs1. На этом диске I имеют, устанавливают папку для корпуса очень большого набора журналов кота.

/data/ebs1/tomcat-logs

Получение входа переехало сюда, дает мне головную боль. Кажется, что tomcat9 настраивается для входа к системному журналу. Поэтому терпите меня, поскольку я пытаюсь спуститься по кроличьей норе конфигураций здесь.

Вот мой/etc/systemd/system/tomcat9.service

#
# Systemd unit file for Apache Tomcat
#

[Unit]
Description=Apache Tomcat 9 Web Application Server
Documentation=https://tomcat.apache.org/tomcat-9.0-doc/index.html
After=network.target

[Service]

# Configuration
Environment="CATALINA_HOME=/usr/share/tomcat9"
Environment="CATALINA_BASE=/var/lib/tomcat9"
Environment="CATALINA_TMPDIR=/tmp"
Environment="JAVA_OPTS=-Djava.awt.headless=true"
EnvironmentFile=-/etc/default/tomcat9

# Lifecycle
Type=simple
ExecStartPre=+/usr/libexec/tomcat9/tomcat-update-policy.sh
ExecStart=/bin/sh /usr/libexec/tomcat9/tomcat-start.sh
SuccessExitStatus=143
Restart=on-abort

# Logging
SyslogIdentifier=tomcat9

# Security
User=tomcat
Group=tomcat
PrivateTmp=yes
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
LogsDirectory=tomcat9
LogsDirectoryMode=750
CacheDirectory=tomcat9
CacheDirectoryMode=750
ProtectSystem=strict
ReadWritePaths=/etc/tomcat9/Catalina/
ReadWritePaths=/var/lib/tomcat9/webapps/
ReadWritePaths=/data/ebs1/

[Install]
WantedBy=multi-user.target

Единственная вещь, которую я изменил здесь, была мной добавленный data/ebs1/ к списку ReadWritePaths. Этот файл обрисовывает в общих чертах SyslogIdentifier tomcat9.

И существует пользовательский обработчик, настроенный для tomcat9 в/etc/rsyslog.d/tomcat9.conf

# Send Tomcat messages to catalina.out when using systemd
$template TomcatFormat,"[%timegenerated:::date-year%-%timegenerated:::date-month%-%timegenerated:::date-day% %timegenerated:::date-hour%:%timegenerated:::date-minute%:%timegenerated:::date-second%] [%syslogseverity-text%]%msg%\n"

:programname, startswith, "tomcat9" {
  /data/ebs1/tomcat-logs/catalina.out;TomcatFormat
  stop
}

Я изменил это от/var/log/tomcat9 до/data/ebs1/tomcat-logs.

Таким образом, теперь, когда я иду для взгляда внутри/data/ebs1/tomcat-logs, я вижу, что catalina добавил метку даты к файлам журнала как catalina.2020-03-25.log Но никакой catalina.out. И catalina установил метку даты, файл журнала не содержит все. Таким образом, часть входа идет туда, часть входа все еще идет в системный журнал. Я надеялся заставить ВЕСЬ вход переходить к моему catalina.out. Я не могу даже выяснить, кто ответственен за создание catalina файлов с меткой даты. Системный журнал? Tomcat? Мои заботы - то, что, если мои журналы все еще идут в/var/log/syslog, я собираюсь заполнить свой диск быстро.

Спасибо!

2
задан 25 March 2020 в 21:28

1 ответ

Хорошо так оказывается конфигурациями, которые я отправил, были на самом деле, корректен. Но у меня было несколько вещей, идущих не так, как надо для меня.
journalctl -u rsyslog показанный, что rsyslog не имел полномочий записи к новому catalina.out. adm была группа на папке (и к счастью системный журнал был в той группе также). Добавление полномочий записи группы решило это.

Таким образом, я все еще становился произведенным в/var/log/syslog даже при том, что/etc/rsyslog.d/tomcat9.conf имел "остановку" в нем. То, что я не понял, - то, что/etc/rsyslog.conf загружает файлы конфигурации из/etc/rsyslog.d/в порядке имени. Содержание/etc/rsyslog.d/было похоже на это:

20-ufw.conf
21-cloudinit.conf
50-default.conf
tomcat9.conf

Я просто переименовал файл для прибытия перед "значением по умолчанию", и все было счастливо. Ничто больше не входит в систему/var/log/syslog!

20-ufw.conf
21-cloudinit.conf
30-tomcat9.conf
50-default.conf

Так или иначе. High-five-self.

0
ответ дан 7 April 2020 в 23:28

Другие вопросы по тегам:

Похожие вопросы: