aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/VES5.0/readme.md
blob: 784fadea4a559a6e0a9ecab52d1793f05fee175a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# ECOMP Vendor Event Listener Library

“The content of this directory is currently under development and, at this stage, is not intended for demonstration and/or testing.”

This project contains a C library that supports interfacing to AT&T's ECOMP
Vendor Event Listener. For an overview of ECOMP, see the 
[ECOMP White Paper](http://att.com/ECOMP).

Developed in 2016 for AT&T by:
 * Alok Gupta (https://github.com/ag1367)
 * Paul Potochniak (https://github.com/pp8491)
 * Gayathri Patrachari(https://github.com/gp2421)

Current Maintainers: 
 * Alok Gupta (https://github.com/ag1367)
 * Paul Potochniak (https://github.com/pp8491)
 * Gayathri Patrachari(https://github.com/gp2421)

# Installation

For installation instructions, clone this repo and load the 
[installation guide](./docs/source/evel/html/quickstart.html) in your web browser.

Full source-code documentation is included with the code and can be built from 
the included Makefile. See the [readme file](./code/evel_library/readme.md).

# Use

Clone this repo and load the [user guide](./docs/source/evel/html/index.html)
in your web browser.
olor: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
<included>
	<jmxConfigurator />
	<!-- Example evaluator filter applied against console appender -->
	<appender name="STDOUT"
		class="ch.qos.logback.core.ConsoleAppender">
		<!-- filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> 
			<onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter -->
		<!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>INFO</level>
		</filter>
		<encoder>
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
			</pattern>
		</encoder>
	</appender>

	<appender name="ERROR"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>INFO</level>
		</filter>
		<file>${logDirectory}/clamp/error.log</file>
		<append>true</append>
		<encoder>
			<pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",
				UTC}|%X{RequestId}|%.20thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}|%msg%n
			</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/clamp/error.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>

	<appender name="DEBUG"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/clamp/debug.log</file>
		<append>true</append>
		<encoder>
			<pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",UTC}|%X{RequestId}|%.20thread|%.-5level|%logger{36}|%msg%n
			</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${logDirectory}/clamp/debug.%d{yyyy-MM-dd}.%i.log.zip
			</fileNamePattern>
			<timeBasedFileNamingAndTriggeringPolicy
				class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>10MB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
			<maxHistory>5</maxHistory>
		</rollingPolicy>
	</appender>

	<appender name="AUDIT"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/clamp/audit.log</file>
		<append>true</append>
		<encoder>
			<pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
			</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/clamp/audit.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>
	<appender name="asyncEELFAudit"
		class="ch.qos.logback.classic.AsyncAppender">
		<queueSize>256</queueSize>
		<appender-ref ref="AUDIT" />
	</appender>

	<appender name="METRIC"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/clamp/metric.log</file>
		<append>true</append>
		<encoder>
			<pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|
				%msg%n</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/clamp/metric.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>
	<appender name="asyncEELFMetrics"
		class="ch.qos.logback.classic.AsyncAppender">
		<queueSize>256</queueSize>
		<appender-ref ref="METRIC" />
	</appender>

	<!-- SECURITY related loggers -->
	<appender name="SECURITY"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${logDirectory}/clamp/security.log</file>
		<append>true</append>
		<encoder>
			<pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
			</pattern>
		</encoder>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<maxIndex>10</maxIndex>
			<FileNamePattern>${logDirectory}/clamp/security.%i.log.zip
			</FileNamePattern>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
	</appender>
	<appender name="asyncEELFSecurity"
		class="ch.qos.logback.classic.AsyncAppender">
		<queueSize>256</queueSize>
		<appender-ref ref="SECURITY" />
	</appender>
	<!-- AAF related loggers -->
	<logger name="org.onap.aaf" level="INFO" additivity="true">
		<appender-ref ref="DEBUG" />
	</logger>
	<logger name="org.apache.catalina.core" level="INFO"
		additivity="true">
		<appender-ref ref="DEBUG" />
	</logger>
	<!-- CLDS related loggers -->
	<logger name="org.onap.clamp.clds" level="INFO"
		additivity="true">
		<appender-ref ref="ERROR" />
	</logger>

	<!-- CLDS related loggers -->
	<logger name="com.att.eelf.error" level="OFF" additivity="true">
		<appender-ref ref="ERROR" />
	</logger>
	<!-- EELF related loggers -->
	<logger name="com.att.eelf.audit" level="INFO"
		additivity="false">
		<appender-ref ref="asyncEELFAudit" />
	</logger>
	<logger name="com.att.eelf.metrics" level="DEBUG"
		additivity="false">
		<appender-ref ref="asyncEELFMetrics" />
	</logger>
	<logger name="com.att.eelf.security" level="DEBUG"
		additivity="false">
		<appender-ref ref="asyncEELFSecurity" />
	</logger>

	<!-- Spring related loggers -->
	<logger name="org.springframework" level="DEBUG" />

	<!-- Other Loggers that may help troubleshoot -->
	<logger name="org.apache" level="DEBUG" />

	<!-- logback internals logging -->
	<logger name="ch.qos.logback.classic" level="INFO" />
	<logger name="ch.qos.logback.core" level="INFO" />

	<!-- logback jms appenders & loggers definition starts here -->
	<!-- logback jms appenders & loggers definition starts here -->
	<appender name="auditLogs"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
		</filter>
		<file>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
			</fileNamePattern>
			<minIndex>1</minIndex>
			<maxIndex>9</maxIndex>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>5MB</maxFileSize>
		</triggeringPolicy>
		<encoder>
			<pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
		</encoder>
	</appender>
	<appender name="perfLogs"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
		</filter>
		<file>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
			</fileNamePattern>
			<minIndex>1</minIndex>
			<maxIndex>9</maxIndex>
		</rollingPolicy>
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>5MB</maxFileSize>
		</triggeringPolicy>
		<encoder>
			<pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
		</encoder>
	</appender>
	<logger name="AuditRecord" level="INFO" additivity="FALSE">
		<appender-ref ref="auditLogs" />
	</logger>
	<logger name="AuditRecord_DirectCall" level="INFO"
		additivity="FALSE">
		<appender-ref ref="auditLogs" />
	</logger>
	<logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
		<appender-ref ref="perfLogs" />
	</logger>
	<!-- logback jms appenders & loggers definition ends here -->

	<root level="DEBUG">
		<appender-ref ref="DEBUG" />
		<appender-ref ref="STDOUT" />
	</root>
</included>