Skip to content

HowToInstallOozieGraphite

Thomas Memenga edited this page Oct 29, 2013 · 4 revisions

Download jar

Download oozie-graphite-1.0.0.jar from github or build oozie-graphite on your own machine with gradle.

Installation

See Oozie 3.3.0 Documentation - Oozie server setup for details on how to do this (= put oozie-graphite-*.jar in your extlib directory and (re-)run bin/oozie-setup.sh).

Add logging configuration:

#!bash
cd <OOZIE-HOME>/conf
echo "log4j.logger.com.syscrest=INFO, oozie" >> oozie-log4j.properties

configuration

You need to add the oozie-graphite specific configuration to <OOZIE-HOME>/conf/oozie-site.xml. oozie-graphite bundles a couple of independent functionality and you only need to configure the parts you want to use.

Custom actions / Executors

(For futher information on available custom actions / executors see: [GraphiteMRCounterExecutor])

You need to register the classname and xsd file name within oozie. Add the following static configuration properties to <OOZIE-HOME>/conf/oozie-site.xml

#!xml

<!-- 
	add 
	com.syscrest.oozie.graphite.GraphiteMRCounterExecutor 
	to your oozie.service.ActionService.executor.ext.classes configuration 
-->
<property>
	<name>oozie.service.ActionService.executor.ext.classes</name>
	<value>
	....,
	....,
	....,
	com.syscrest.oozie.graphite.GraphiteMRCounterExecutor</value>
</property>

<!-- 
	add 
	graphite-mr-counter-action-1.0.xsd 
	to your oozie.service.SchemaService.wf.ext.schemas configuration 
-->
<property>
	<name>oozie.service.SchemaService.wf.ext.schemas</name>
	<value>
	....,
	....,
	....,
	graphite-mr-counter-action-1.0.xsd</value>
<description>

Instrumentation

(For futher information on instrumentation metrics see GraphiteInstrumentationService).

#!xml

<property>
        <name>oozie.services.ext</name>
		<!-- add com.syscrest.oozie.graphite.GraphiteInstrumentationService to your oozie.services.ext configuration -->
        <value>....,
		....,
		....,
		com.syscrest.oozie.graphite.GraphiteInstrumentationService</value>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.logging.interval</name>
        <value>60</value>
		<description>
		
		metrics push interval in seconds. 
		
		If you set this to -1 the service will not register itself in the scheduler and
		no metrics will be pushed into graphite. Needlees to say that this interval should match
		your carbon configuration.
		
		</description>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.graphite.host</name>
        <value>graphite.your.org</value>
		<description>
		
		hostname of your graphite server
		
		</description>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.graphite.port</name>
        <value>2003</value>
		<description>
		
		the port to use (plaintext protocol)
		
		Note: OPTIONAL (Default: 2003 plaintext protocol port)
		</description>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.graphite.transport</name>
        <value>2003</value>
		<description>
		
		the transport to use 
		
		Valid values are: TCP , UDP
		
		Note: OPTIONAL (Default: TCP)
		</description>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.graphite.pathPrefix</name>
        <value>infra.yourServer.oozie</value>
		<description>
	
		the common metrics prefix to use
		
		Examples:
		infra.yourServer.oozie
		oozie.yourServer
		</description>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.metrics.whitelist</name>
        <value>.*</value>
		<description>
		comma separated regex pattern list to select metrics that should be push into graphite
		
		Examples:  
		
		*\.counter\..*,.*\.timer\..*
		*\.counter\.jobs\..*
		
		
		Note: OPTIONAL (Default value:   .*  (all metrics))
		</description>
</property>
<property>
        <name>com.syscrest.oozie.graphite.GraphiteInstrumentationService.metrics.blacklist</name>
        <value></value>
		<description>
		comma separated regex pattern list to blacklist metrics that are matched by the whitelist configuration.
		
		Examples:

		.*\.counter\..*
		.*\.totalSquareSum,.*\.ownSquareSum
		
		Note: OPTIONAL (Default: "" (empty string = no filtering))
		</description>
</property>

Restart your oozie server after you have added the configuration properties to <OOZIE-HOME>/conf/oozie-site.xml.