Вообщем переодически сервер дохнет по: The WebLogic Server encountered a critical failure java.lang.OutOfMemoryError: Metaspace Reason: There is a panic condition in the server. The server is configured to exit on panic И хотя это гавно пишет типа Reason: There is a panic condition in the server. The server is configured to exit on panic чёт ни хуя он ни куда не exit.... Вообщем т.к разбираться с тем чем он жрётся нет ни времени ни желания (оно обязательно появится)... как вариант можно приделать костыль... костыль будет заключаться в ребуте сервера при возникновении этой ошибки. Что значит для этого надо... Желания и понимание что так жить нельзя, и вообще... Делаем новый модуль называем скажем: Reboot-OOMMetaSpace Идём в в новый модуль делаем Policy: Называем его OOM-Metaspace и говорит что это Server log: Жмём next в Configuration Policy пишем: log.logMessage.contains('java.lang.OutOfMemoryError: Metaspace'...
Т.к. по умолчанию формат даты для apache дико уебанский... т.е не жрётся командой date, надо его поменять...
Проверить работоспособность команды date можно так:
date -d "DATE" +%F" "%T" "%p
# date -d "04/30/2014 13:50:15" +%F" "%T" "%p
2014-04-30 13:50:15 PM
Формат зависит от локали... но будем исходить из того что локаль по умолчанию US:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Если посмотреть лог apache по умолчанию дата в нём выглядит так:
[19/Dec/2013:11:40:11 +0400]
# date -d "19/Dec/2013:11:40:11" +%F" "%T" "%p
date: invalid date `19/Dec/2013:11:40:11'
Что бы поменять этот дибильный формат надо поправить переменную LogFormat.
Сама переменная может находится в разных файлах в зависимости от дистрибутива..
SLES: /etc/apache2/mod_log_config.conf
RHEL: /etc/httpd/conf/httpd.conf
Текущий так называемый NickName можно посмотреть в параметре CustomLog:
SLES:
/etc/apache2/sysconfig.d # grep -i access_log global.conf
CustomLog /var/log/apache2/access_log combined
RHEL:
/etc/httpd/conf # grep -i access_log httpd.conf
#CustomLog logs/access_log common
CustomLog logs/access_log combined
# CustomLog logs/dummy-host.example.com-access_log common
Итак мы хотим поменять на что-то вменяемое например:
[04/07/2014 06:16:24]
Открываем необходимый файл и меняем параметр LogFormat для NickName: combined
LogFormat "%h %l %u [%{%m/%d/%Y %H:%M:%S}t] \"%r\" %>s %b \
\"%{Referer}i\" \"%{User-Agent}i\"" combined
Проверить работоспособность команды date можно так:
date -d "DATE" +%F" "%T" "%p
# date -d "04/30/2014 13:50:15" +%F" "%T" "%p
2014-04-30 13:50:15 PM
Формат зависит от локали... но будем исходить из того что локаль по умолчанию US:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Если посмотреть лог apache по умолчанию дата в нём выглядит так:
[19/Dec/2013:11:40:11 +0400]
# date -d "19/Dec/2013:11:40:11" +%F" "%T" "%p
date: invalid date `19/Dec/2013:11:40:11'
Что бы поменять этот дибильный формат надо поправить переменную LogFormat.
Сама переменная может находится в разных файлах в зависимости от дистрибутива..
SLES: /etc/apache2/mod_log_config.conf
RHEL: /etc/httpd/conf/httpd.conf
Текущий так называемый NickName можно посмотреть в параметре CustomLog:
SLES:
/etc/apache2/sysconfig.d # grep -i access_log global.conf
CustomLog /var/log/apache2/access_log combined
RHEL:
/etc/httpd/conf # grep -i access_log httpd.conf
#CustomLog logs/access_log common
CustomLog logs/access_log combined
# CustomLog logs/dummy-host.example.com-access_log common
Итак мы хотим поменять на что-то вменяемое например:
[04/07/2014 06:16:24]
Открываем необходимый файл и меняем параметр LogFormat для NickName: combined
LogFormat "%h %l %u [%{%m/%d/%Y %H:%M:%S}t] \"%r\" %>s %b \
\"%{Referer}i\" \"%{User-Agent}i\"" combined
Комментарии
Отправить комментарий