Журналы настраиваемого доступа WebSphere - PullRequest
1 голос
/ 26 августа 2011

Можно ли настроить журналы доступа WebSphere (с помощью кода или конфигурации)?В консоли я вижу, что WebSphere поддерживает обычный или комбинированный форматы NCSA, но для пользовательских форматов нет опций.

Я надеялся настроить журналы доступа, чтобы включить дополнительную информацию, которая поможет в отладке, такую ​​как прокси, vip, LB, время ответа и т. Д.Я открыт для нестандартных идей.Ключ в том, что я пытаюсь получить дополнительную информацию для отладки.Log4j вариант?Может быть, пользовательские журналы трассировки?

Ответы [ 4 ]

1 голос
/ 27 августа 2011

Одна вещь, которую вы можете сделать, это настроить веб-сервер в WAS У IBM есть HTTP-сервер, который просто оборачивает Apache, что, вероятно, даст вам меньше головной боли, или вы можете использовать Apache, IIS и т. Д.

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

0 голосов
/ 27 августа 2013

Одним из практических способов является создание собственной настраиваемой реализации регистратора запросов. Это можно сделать с помощью функции WAS «Глобальный слушатель веб-контейнера» со стандартным Servlet API ServletRequestListener.

Вот псевдо-пример:

import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;

public class HttpServletRequestRequestListener implements ServletRequestListener {

ThreadLocal<Long> threadLocal = new ThreadLocal<Long>(); 

@Override
public void requestDestroyed(ServletRequestEvent aArg0) {
    HttpServletRequest tHttpServletRequest = getHttpServletRequest(aArg0.getServletRequest());
    if(tHttpServletRequest != null){
        Long tStart = threadLocal.get();
        long tCallDelay = -1;
        if(tStart != null){
            tCallDelay = System.currentTimeMillis() - tStart.longValue();
        }
        //In this class I will log the request including cookies etc. 
        // in my own customized format...
        MyCustomLogger.log(tHttpServletRequest,tCallDelay);
    }

}

@Override
public void requestInitialized(ServletRequestEvent aArg0) {
    long tStart = System.currentTimeMillis();
    threadLocal.set(tStart);

}

private static HttpServletRequest getHttpServletRequest(ServletRequest aServletRequest) {
    if (aServletRequest instanceof HttpServletRequest) {
        return (HttpServletRequest) aServletRequest;
    }
    return null;
}

}

Далее, в пользовательских свойствах веб-контейнера вы должны указать своему слушателю, используя свойство listeners.

Вот дополнительная информация о том, как настроить прослушиватель веб-контейнера: http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.base.doc%2Finfo%2Faes%2Fae%2Frweb_custom_props.html

0 голосов
/ 27 августа 2012

Журнал настраиваемого доступа доступен для WAS 8.0.0.2 и более поздних версий.

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

Метрики запросов можно включить в административной консоли в разделе «Мониторинг и настройка»> «Метрики запросов». Сервер не нуждается в перезапуске, чтобы метрики запросов начали работать.

  1. Убедитесь, что установлен флажок «Подготовка серверов для сбора метрик запросов»
  2. Выберите «Пользовательский» для «Компоненты для инструментов» и выберите «Сервлет»
  3. Установить «Уровень трассировки» на «Хмель»
  4. Проверьте "Стандартные журналы"

Информация, регистрируемая для каждого запроса, имеет следующий формат:

[9/26/11 15:43:45:448 PDT] 00000027 PmiRmArmWrapp I PMRM0003I: parent:ver=1,ip=10.20.30.8,time=1317075586068,pid=32507,reqid=1,event=1 - current:ver=1,ip=10.20.30.8,time=1317075586068,pid=32507,reqid=1,event=1 type=URI detail=/swat/Sleep elapsed=1004

Поле elapsed - это время отклика в миллисекундах.

0 голосов
/ 07 ноября 2011

Пожалуйста, обратитесь к свойствам ведения журнала и изменения найденных файлов трассировки

http://publib.boulder.ibm.com/infocenter/wchelp/v6r0m0/index.jsp?topic=%2Fcom.ibm.commerce.admin.doc%2Ftasks%2Ftlslogging.htm

Также см. http://publib.boulder.ibm.com/httpserv/ihsdiag/WebSphere61.html#LOG

Удачи, Mo

...