Here are some terms we are using in Apache Eagle (incubating, called Eagle in the following), please check them for your reference. They are basic knowledge of Eagle which also will help to well understand Eagle.

Site

A site can be considered as a physical data center. Big data platform e.g. Hadoop1 may be deployed to multiple data centers in an enterprise.

Application 

An "Application" or "App" is composed of data integration, policies and insights for one data source.

Application Descriptor

An "Application Descriptor" is a static packaged metadata information consist of:

  • Basic information:  type, name, version, description
  • Application: The application process to run
  • Configuration Descriptor:  describe the configurations required by the application when starting like name, displayName, defaultValue Description, required, etc. which will automatically be visualized in configuration editor.
  • Streams: The streams schema the application will export.
  • Docs: application specific documentations which will be embedded in necessary area during the whole lifecyle of application management.

ApplicationDesc of JPM_WEB_APP
{
	type: "JPM_WEB_APP",
	name: "Job Performance Monitoring Web ",
	version: "0.5.0-incubating",
	description: null,
	appClass: "org.apache.eagle.app.StaticApplication",
	jarPath: "/opt/eagle/0.5.0-incubating-SNAPSHOT-build-20161103T0332/eagle-0.5.0-incubating-SNAPSHOT/lib/eagle-topology-0.5.0-incubating-SNAPSHOT-hadoop-2.4.1-EBAY-11-assembly.jar",
	viewPath: "/apps/jpm",
	providerClass: "org.apache.eagle.app.jpm.JPMWebApplicationProvider",
	configuration: {
		properties: [{
			name: "service.host",
			displayName: "Eagle Service Host",
			value: "localhost",
			description: "Eagle Service Host, default: localhost",
			required: false
		}, {
			name: "service.port",
			displayName: "Eagle Service Port",
			value: "8080",
			description: "Eagle Service Port, default: 8080",
			required: false
		}]
	},
	streams: null,
	docs: null,
	executable: false,
	dependencies: [{
		type: "MR_RUNNING_JOB_APP",
		version: "0.5.0-incubating",
		required: true
	}, {
		type: "MR_HISTORY_JOB_APP",
		version: "0.5.0-incubating",
		required: true
	}]
}

Application Provider

A "application provider" in fact is a package management and loading mechanism leveraging Java SPI (https://docs.oracle.com/javase/tutorial/ext/basics/spi.html). For example like: 

META-INF/services/org.apache.eagle.app.spi.ApplicationProvider
org.apache.eagle.app.jpm.JPMWebApplicationProvider

Policy

A "Policy" defines the rule to alert. Policy can be simply a filter expression or a complex window based aggregation rules etc.

Alerts

A "Alert" is an real-time event detected with certain alert policy or correlation logic, with different severity levels like INFO/WARNING/DANGER.

Data Source

A "Data Source" is a monitoring target data. Eagle supports many data sources HDFS audit logs, Hive2 query, MapReduce job etc.

Stream

A "Stream" is the streaming data from a data source. Each data source has its own stream.

  • No labels