Dzahn has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/392079 )

Change subject: Gerrit: Fix up logstash configuation
......................................................................


Gerrit: Fix up logstash configuation

Switch to using socket instead of tcp.

Using socket over tcp works. Logstash side can parse the info it gets.

Tested locally on:

http://gerrit-logstash.wmflabs.org/

Also switch from properties syntax to xml syntax.

xml log4j syntax has more advanced features which we want to use.

Also include configuation updates to improve the logging.

As it was logging alot of useless things.

Also we have to make sure gc_log and sshd_log and error_log are created
now as gerrit was prevously doing that in java, but some how using a
custom log4j file disables it gerrit's side so log4j will throw a
error but gerrit will still start, it just wont log.

Also use java_options from jetty.pp which will allow us to define
the command once in puppet and then it's added to gerrit.config and
gerrit.service thus making the files look pretty as they wont have long
lines

Bug: T141324
Change-Id: I76245284285c6eb2377df23f1a75284dc0616d36
---
M modules/gerrit/manifests/jetty.pp
M modules/gerrit/templates/initscripts/gerrit.systemd.erb
D modules/gerrit/templates/log4j.properties.erb
A modules/gerrit/templates/log4j.xml.erb
4 files changed, 189 insertions(+), 110 deletions(-)

Approvals:
  jenkins-bot: Verified
  Dzahn: Looks good to me, approved



diff --git a/modules/gerrit/manifests/jetty.pp 
b/modules/gerrit/manifests/jetty.pp
index e4e7d40..dc35759 100644
--- a/modules/gerrit/manifests/jetty.pp
+++ b/modules/gerrit/manifests/jetty.pp
@@ -52,6 +52,8 @@
     $ldap_proxyagent_pass = $ldapconfig['proxypass']
 
     $java_options = [
+        "-Xmx${heap_limit} -Xms${heap_limit}",
+        
'-Dlog4j.configuration=file:///var/lib/gerrit2/review_site/etc/log4j.xml',
         # These settings apart from the bottom control logging for gc
         # '-Xloggc:/srv/gerrit/jvmlogs/jvm_gc.%p.log',
         # '-XX:+PrintGCApplicationStoppedTime',
@@ -62,7 +64,6 @@
         # '-XX:+UseGCLogFileRotation',
         # '-XX:NumberOfGCLogFiles=10',
         # '-XX:GCLogFileSize=2M',
-        # 
'-Dlog4j.configuration=file:///var/lib/gerrit2/review_site/etc/log4j.properties',
     ]
 
     require_package([
@@ -245,8 +246,8 @@
         require => File['/var/lib/gerrit2/review_site/etc'],
     }
 
-    file { '/var/lib/gerrit2/review_site/etc/log4j.properties':
-        content => template('gerrit/log4j.properties.erb'),
+    file { '/var/lib/gerrit2/review_site/etc/log4j.xml':
+        content => template('gerrit/log4j.xml.erb'),
         owner   => 'gerrit2',
         group   => 'gerrit2',
         mode    => '0444',
@@ -277,6 +278,13 @@
         require => File['/var/lib/gerrit2/review_site/etc'],
     }
 
+    file { '/var/lib/gerrit2/review_site/logs':
+        ensure => directory,
+        owner  => 'gerrit2',
+        group  => 'gerrit2',
+        mode   => '0755',
+    }
+
     file { '/var/lib/gerrit2/review_site/static':
         ensure  => directory,
         recurse => remote,
@@ -284,6 +292,7 @@
         group   => 'gerrit2',
         mode    => '0444',
         source  => 'puppet:///modules/gerrit/static',
+        require => File['/var/lib/gerrit2/review_site'],
     }
 
     file { '/var/lib/gerrit2/review_site/plugins':
diff --git a/modules/gerrit/templates/initscripts/gerrit.systemd.erb 
b/modules/gerrit/templates/initscripts/gerrit.systemd.erb
index 13e2b3a..9860c60 100644
--- a/modules/gerrit/templates/initscripts/gerrit.systemd.erb
+++ b/modules/gerrit/templates/initscripts/gerrit.systemd.erb
@@ -7,7 +7,7 @@
 Group=gerrit2
 Type=simple
 EnvironmentFile=/etc/default/gerrit
-ExecStart=<%= @java_home %>/bin/java -Xmx<%= @heap_limit %> -Xms<%= 
@heap_limit %> -jar /var/lib/gerrit2/review_site/bin/gerrit.war daemon -d 
/var/lib/gerrit2/review_site<%- if @slave -%> --slave<% end %>
+ExecStart=<%= @java_home %>/bin/java <% @java_options.each do |jvm_opt| %><%= 
jvm_opt %> <% end %> -jar /var/lib/gerrit2/review_site/bin/gerrit.war daemon -d 
/var/lib/gerrit2/review_site<%- if @slave -%> --slave<% end %>
 KillSignal=SIGINT
 # NOFILE :  GERRIT_FDS, determined by "core.packedGitOpenFiles" in the script
 LimitNOFILE=<%= @git_open_files %>
diff --git a/modules/gerrit/templates/log4j.properties.erb 
b/modules/gerrit/templates/log4j.properties.erb
deleted file mode 100644
index 429bba2..0000000
--- a/modules/gerrit/templates/log4j.properties.erb
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-log4j.rootLogger=DEBUG, error_log<% if @log_host %>, tcp<% end %>
-log4j.logger.com.google.gerrit.sshd.SshLog=DEBUG, sshd_log
-log4j.logger.com.google.gerrit.pgm.http.jetty.HttpLog=DEBUG, httpd_log
-log4j.logger.gc_log=DEBUG, gc_log
-# Prevent gc_log from outputting to error_log
-log4j.additivity.gc_log=false
-<%- if @log_host -%>
-
-### Logstash
-log4j.appender.tcp=org.apache.log4j.net.SocketAppender
-log4j.appender.tcp.Port=<%= @log_port %>
-log4j.appender.tcp.RemoteHost=<%= @log_host %>
-log4j.appender.tcp.ReconnectionDelay=500
-log4j.appender.tcp.Application=gerrit
-<%- end -%>
-
-# Configure log appenders as defaults
-log4j.appender.error_log=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.error_log.File=/var/lib/gerrit2/review_site/logs/error_log
-log4j.appender.error_log.layout=org.apache.log4j.PatternLayout
-log4j.appender.error_log.layout.ConversionPattern=[%d] %-5p %c %x: %m%n
-log4j.appender.error_log.encoding=UTF-8
-log4j.appender.error_log.threshold=INFO
-log4j.appender.error_log.immediateFlush=true
-log4j.appender.error_log.fileAppend=true
-log4j.appender.httpd_log=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.httpd_log.File=/var/lib/gerrit2/review_site/logs/httpd_log
-log4j.appender.httpd_log.layout=com.google.gerrit.pgm.http.jetty.HttpLogLayout
-log4j.appender.httpd_log.encoding=UTF-8
-log4j.appender.httpd_log.threshold=INFO
-log4j.appender.httpd_log.immediateFlush=true
-log4j.appender.httpd_log.fileAppend=true
-log4j.appender.sshd_log=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.sshd_log.File=/var/lib/gerrit2/review_site/logs/sshd_log
-log4j.appender.sshd_log.layout=com.google.gerrit.sshd.SshLogLayout
-log4j.appender.sshd_log.encoding=UTF-8
-log4j.appender.sshd_log.threshold=INFO
-log4j.appender.sshd_log.immediateFlush=true
-log4j.appender.sshd_log.fileAppend=true
-log4j.appender.gc_log=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.gc_log.File=/var/log/gerrit/gc_log
-log4j.appender.gc_log.layout=org.apache.log4j.PatternLayout
-log4j.appender.gc_log.layout.ConversionPattern=[%d] %-5p %x: %m%n
-log4j.appender.gc_log.encoding=UTF-8
-log4j.appender.gc_log.threshold=INFO
-log4j.appender.gc_log.immediateFlush=true
-log4j.appender.gc_log.fileAppend=true
-
-log4j.logger.com.google.gerrit=INFO
-
-
-# Silence non-critical messages from MINA SSHD.
-#
-log4j.logger.org.apache.mina=WARN
-log4j.logger.org.apache.sshd.common=WARN
-log4j.logger.org.apache.sshd.server=WARN
-# To be removed when we upgrade to gerrit 2.14.
-log4j.logger.org.apache.sshd.common.keyprovider.AbstractFileKeyPairProvider=INFO
-# Replaces the above
-log4j.logger.org.apache.sshd.common.keyprovider.FileKeyPairProvider=INFO
-log4j.logger.com.google.gerrit.sshd.GerritServerSession=WARN
-
-# Silence non-critical messages from mime-util.
-#
-log4j.logger.eu.medsea.mimeutil=WARN
-
-# Silence non-critical messages from openid4java
-#
-log4j.logger.org.apache.http=WARN
-log4j.logger.org.apache.xml=WARN
-log4j.logger.org.openid4java=WARN
-log4j.logger.org.openid4java.consumer.ConsumerManager=FATAL
-log4j.logger.org.openid4java.discovery.Discovery=ERROR
-log4j.logger.org.openid4java.server.RealmVerifier=ERROR
-log4j.logger.org.openid4java.message.AuthSuccess=ERROR
-
-# Silence non-critical messages from c3p0 (if used).
-#
-log4j.logger.com.mchange.v2.c3p0=WARN
-log4j.logger.com.mchange.v2.resourcepool=WARN
-log4j.logger.com.mchange.v2.sql=WARN
-
-# Silence non-critical messages from Velocity
-#
-log4j.logger.velocity=WARN
-
-# Silence non-critical messages from apache.http
-# log4j.logger.org.apache.http=WARN
-
-# Silence non-fatal messages from cookie parsing
-log4j.logger.org.apache.http.client.protocol.ResponseProcessCookies=FATAL
diff --git a/modules/gerrit/templates/log4j.xml.erb 
b/modules/gerrit/templates/log4j.xml.erb
new file mode 100644
index 0000000..d4f0ec4
--- /dev/null
+++ b/modules/gerrit/templates/log4j.xml.erb
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/";>
+    <appender name="error_log" 
class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" 
value="/var/lib/gerrit2/review_site/logs/error_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="[%d] [%t] %-5p %c %x: 
%m%n"/>
+        </layout>
+    </appender>
+    <appender name="gc_log" class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" value="/var/lib/gerrit2/review_site/logs/gc_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="[%d] [%t] %-5p %x: %m%n"/>
+        </layout>
+    </appender>
+    <appender name="httpd_log" 
class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" 
value="/var/lib/gerrit2/review_site/logs/httpd_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="com.google.gerrit.pgm.http.jetty.HttpLogLayout"/>
+    </appender>
+    <appender name="replication_log" 
class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" 
value="/var/lib/gerrit2/review_site/logs/replication_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="[%d] [%t] %-5p %x: %m%n"/>
+        </layout>
+    </appender>
+    <appender name="sshd_log" 
class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" value="/var/lib/gerrit2/review_site/logs/sshd_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="com.google.gerrit.sshd.SshLogLayout"/>
+    </appender>
+    <appender name="plugin_log" 
class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" 
value="/var/lib/gerrit2/review_site/logs/plugin_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="[%d] [%t] %-5p %x: %m%n"/>
+        </layout>
+    </appender>
+    <appender name="delete_log" 
class="org.apache.log4j.DailyRollingFileAppender">
+        <param name="encoding" value="UTF-8"/>
+        <param name="File" 
value="/var/lib/gerrit2/review_site/logs/delete_log"/>
+        <!--<param name="fileAppend" value="true"/>-->
+        <param name="immediateFlush" value="true"/>
+        <param name="threshold" value="INFO"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="[%d] [%t] %-5p %x: %m%n"/>
+        </layout>
+    </appender>
+    <% if @log_host %>
+    <!-- Logstash -->
+    <appender name="socket" class="org.apache.log4j.net.SocketAppender">
+        <param name="port" value="<%= @log_port %>"/>
+        <param name="remoteHost" value="<%= @log_host %>"/>
+    </appender>
+    <appender name="async" class="org.apache.log4j.AsyncAppender">
+        <param name="Blocking" value="false"/>
+        <param name="BufferSize" value="64"/>
+        <appender-ref ref="socket"/>
+    </appender>
+    <% end %>
+    <logger name="com.google.gerrit.pgm.http.jetty.HttpLog" additivity="false">
+        <level value="DEBUG"/>
+        <appender-ref ref="httpd_log"/>
+    </logger>
+    <logger name="com.google.gerrit.sshd.GerritServerSession">
+        <level value="WARN"/>
+    </logger>
+    <logger name="com.google.gerrit.sshd.SshLog">
+        <level value="DEBUG"/>
+        <appender-ref ref="sshd_log"/>
+    </logger>
+    <logger name="com.mchange.v2.c3p0">
+        <level value="WARN"/>
+    </logger>
+    <logger name="com.mchange.v2.resourcepool">
+        <level value="WARN"/>
+    </logger>
+    <logger name="com.mchange.v2.sql">
+        <level value="WARN"/>
+    </logger>
+    <logger name="eu.medsea.mimeutil">
+        <level value="WARN"/>
+    </logger>
+    <logger name="gc_log" additivity="false">
+        <level value="DEBUG"/>
+        <appender-ref ref="gc_log"/>
+    </logger>
+    <logger name="delete_log" additivity="false">
+        <level value="INFO"/>
+        <appender-ref ref="delete_log"/>
+    </logger>
+    <logger name="replication_log" additivity="false">
+        <level value="INFO"/>
+        <appender-ref ref="replication_log"/>
+    </logger>
+    <logger name="sshd_log" additivity="false">
+        <level value="INFO"/>
+        <appender-ref ref="sshd_log"/>
+    </logger>
+    <logger name="org.apache.http">
+        <level value="WARN"/>
+    </logger>
+    <logger name="org.apache.http.client.protocol.ResponseProcessCookies">
+        <level value="FATAL"/>
+    </logger>
+    <logger name="org.apache.mina">
+        <level value="WARN"/>
+    </logger>
+    <logger name="org.apache.sshd.common">
+        <level value="WARN"/>
+    </logger>
+    <!-- To be removed when we upgrade to gerrit 2.14. -->
+    <logger 
name="org.apache.sshd.common.keyprovider.AbstractFileKeyPairProvider">
+        <level value="INFO"/>
+    </logger>
+    <!-- Replaces the above in 2.14+ -->
+    <logger name="org.apache.sshd.common.keyprovider.FileKeyPairProvider">
+        <level value="INFO"/>
+    </logger>
+    <logger name="org.apache.sshd.server">
+        <level value="WARN"/>
+    </logger>
+    <logger name="org.apache.xml">
+        <level value="WARN"/>
+    </logger>
+    <logger name="org.openid4java">
+        <level value="WARN"/>
+    </logger>
+    <logger name="org.openid4java.consumer.ConsumerManager">
+        <level value="FATAL"/>
+    </logger>
+    <logger name="org.openid4java.discovery.Discovery">
+        <level value="ERROR"/>
+    </logger>
+    <logger name="org.openid4java.message.AuthSuccess">
+        <level value="ERROR"/>
+    </logger>
+    <logger name="org.openid4java.server.RealmVerifier">
+        <level value="ERROR"/>
+    </logger>
+    <logger name ="com.google.gerrit.server.plugins.PluginLoader">
+      <level value="INFO"/>
+      <appender-ref ref="plugin_log"/>
+    </logger>
+    <!-- Silence non-critical messages from Velocity -->
+    <!-- to be removed in gerrit 2.16 / 3.0 -->
+    <logger name="velocity">
+        <level value="WARN"/>
+    </logger>
+    <root>
+        <level value="INFO"/>
+        <appender-ref ref="error_log"/>
+        <% if @log_host %><appender-ref ref="async"/><% end %>
+    </root>
+</log4j:configuration>

-- 
To view, visit https://gerrit.wikimedia.org/r/392079
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I76245284285c6eb2377df23f1a75284dc0616d36
Gerrit-PatchSet: 21
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Paladox <[email protected]>
Gerrit-Reviewer: Chad <[email protected]>
Gerrit-Reviewer: Dzahn <[email protected]>
Gerrit-Reviewer: Gehel <[email protected]>
Gerrit-Reviewer: Paladox <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to