Archive for 29 de janeiro de 2015

Atualizando a GLIBC no Puppet

$ mkdir -p /etc/puppet/manifests/classes

$ cd /etc/puppet/manifests/classes

$ vim linux_packages.pp

class linux_packages {

  package {'bash':
    ensure => latest,
  }

  package {'glibc':
    ensure => latest,
  }

}

$ cd /etc/puppet/manifests

$ vi site.pp

import "classes/*.pp"

if versioncmp($::puppetversion,'3.6.1') >= 0 {
  Package {
    allow_virtual => false,
  }
}

node 'linuxservers' {
  include linux_packages
}

node /^lanersrv0*/ inherits linuxservers { }

Habilitando IP de origem no acess_log do Weblogic

Configurar o Header HTTP, no meu caso usei o Netscaler, deve ser configurado no Services

Netscaler-ServiceName

 

 

 

 

 

 

 

Criação da biblioteca para pegar o Header gerado no Netscaler

$ cd /home/oracle

$ mkdir log

$ vim MyOriginalClientIPField.java

import weblogic.servlet.logging.CustomELFLogger;
import weblogic.servlet.logging.FormatStringBuffer;
import weblogic.servlet.logging.HttpAccountingInfo;

/* This example outputs the X-Forwarded-For field into a
* custom field called MyOriginalClientIPField
* */


public class MyOriginalClientIPField implements CustomELFLogger{
  public void logField(HttpAccountingInfo metrics
  FormatStringBuffer buff) {
    buff.appendValueOrDash(metrics.getHeader("IP-Netscaler"));
  }
}

Compilando a classe que acabamos de gerar

$ javac MyOriginalClientIPField.java

$ jar cvf0 MyOriginalClientIPField.jar MyOriginalClientIPField.class

 

Copiar o .class para o diretório dentro do Weblogic

$ cp  MyOriginalClientIPField.class /u01/middleware/domains/WLDOMAIN/lib

 

Hora de configurar .class criado no Weblogic, vamos configurar na JVM, no CLASS_PATH do Server Start

Weblogic_CLASSPATH

 

 

 

 

 

Configurar na JVM, na parte do Logging / HTTP em modo Advance, não esquecer de acertar x- antes do nome da classe.

Format: Exetend

Extended Logging Format Fields: x-MyOriginalClientIPField

Logging-HTTP