Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »


This section describes how to configure the Abiquo logs so that old webapp log files are periodically deleted. This will prevent problems due to lack of hard disk space.

Abiquo Log Documentation

The Abiquo Logs are described in detail the Troubleshooting section of this wiki.

Log Files 

A current log is created for each webapp in the directory \{catalina.base}/logs/ 

In a standard install, this is /opt/abiquo/tomcat/logs. The logs are named after the webapps and renamed with date information when they are rotated.

In Abiquo 2.4, the logs are:

am.log
api.log
bpm-async.log
catalina.out
nodecollector.log
ssm.log
virtualfactory.log
vsm.log

 

Configuration Files

The logback config file is in WEB-INF/classes in each webapp directory and can be edited. 

 For example, for the nodecollector* webapp, the default file would be /opt/abiquo/tomcat/webapps/nodecollector/WEB-INF/classes/logback.xml

(*Nodecollector is the name of the webapp for the Discovery Manager Remote Service). 

Log Level Example

The default logback.xml file for the VSM in Abiquo 2.4 is shown here. Note that some of the loggers are set to a log level of TRACE, which can create large amounts of log data. A log level of DEBUG should be sufficient for most Abiquo installations.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
                <layout class="ch.qos.logback.classic.PatternLayout">
                        <Pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} %X{akkaSource} - %msg%n</Pattern>
                </layout>
                <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                        <level>DEBUG</level>
                </filter>
        </appender>
        <appender name="FILE"
                class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>${catalina.base}/logs/vsm.log</file>
                <layout class="ch.qos.logback.classic.PatternLayout">
                        <Pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} %X{akkaSource} - %msg%n</Pattern>
                </layout>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                        <fileNamePattern>${catalina.base}/logs/vsm-%d{yyyy-MM-dd}.%i.log
                        </fileNamePattern>
                        <timeBasedFileNamingAndTriggeringPolicy
                                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                                <maxFileSize>50MB</maxFileSize>
                        </timeBasedFileNamingAndTriggeringPolicy>
                </rollingPolicy>
        </appender>
        <logger name="com.abiquo">
                <level value="TRACE" />
        </logger>
        <logger name="akka">
                <level value="TRACE" />
        </logger>
    <logger name="org.jinterop">
        <level value="ERROR" />
    </logger>
        <root>
                <level value="DEBUG" />
                <appender-ref ref="STDOUT" />
                <appender-ref ref="FILE" />
        </root>
</configuration>

 

Log Rotation Example

The following example shows the default logback rollingPolicy configuration for nodecollector 

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  <fileNamePattern>${catalina.base}/logs/nodecollector-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <maxFileSize>50MB</maxFileSize>
  </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>

This configuration will rotate the logs daily or when the size of the file is larger than 50 MB. However, the standard configuration shown above means that the log files are kept indefinitely, which can cause the system disk to fill up.

So we suggest you specify the maxHistory parameter (as described on http://logback.qos.ch/manual/appenders.html).

The optional maxHistory property controls the maximum number of archive files to keep, deleting older files. For example, if you specify monthly rollover, and set maxHistory to 6, then 6 months worth of archives files will be kept with files older than 6 months deleted. Note as old archived log files are removed, any folders which were created for the purpose of log file archiving will be removed as appropriate.

Set the maxHistory size for each log file by adding a line after maxFileSize and changing the \{NUMBER OF FILES TO KEEP} as shown in the example below.

logback.xml
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  <fileNamePattern>${catalina.base}/logs/nodecollector-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <maxFileSize>50MB</maxFileSize>
    <maxHistory>{NUMBER OF FILES TO KEEP}</maxHistory>
  </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>

 

Disk Requirements

This section describes how to calculate the disk space requirements for the webapp logs. Customers must determine their own logging requirements.

If you set 30 days (expected) as retention time for webapps' logs, the worst-case scenario for disk space is:
Monolithic
7 webapps * 50 MB max file size * 30 rotations by day or size = 10.5 GB 
Catalina, rotates weekly or when size > 100 MB, 10 rotations keept = 1 GB
This space should be reserved on /opt/abiquo/tomcat/logs. Abiquo recommends that customers should create a isolated logicalvolume of approximately 15 GB and mount it on the /opt/abiquo/tomcat/logs path.

 

 

  • No labels