1*a24ffb47SSadaf Ebrahimi# OpenCensus Elasticsearch Exporter 2*a24ffb47SSadaf Ebrahimi 3*a24ffb47SSadaf EbrahimiThe *OpenCensus Elasticsearch trace exporter* is a trace exporter that exports 4*a24ffb47SSadaf Ebrahimidata to [Elasticsearch](https://www.elastic.co/products/elasticsearch). 5*a24ffb47SSadaf Ebrahimi 6*a24ffb47SSadaf EbrahimiElasticsearch is a distributed, RESTful search and analytics engine. 7*a24ffb47SSadaf EbrahimiIt centrally stores your data so you can discover the expected and uncover the unexpected. 8*a24ffb47SSadaf EbrahimiUsing [Kibana](https://www.elastic.co/products/kibana) we can visualize our trace metrics 9*a24ffb47SSadaf Ebrahimiwith self designed dashboards and easily search as well. 10*a24ffb47SSadaf Ebrahimi 11*a24ffb47SSadaf EbrahimiOnce the trace is exported to Elasticsearch, you can search traces to find more data on trace. 12*a24ffb47SSadaf Ebrahimi 13*a24ffb47SSadaf Ebrahimi 14*a24ffb47SSadaf Ebrahimi 15*a24ffb47SSadaf Ebrahimi## Quickstart 16*a24ffb47SSadaf Ebrahimi 17*a24ffb47SSadaf Ebrahimi 18*a24ffb47SSadaf Ebrahimi### Prerequisites 19*a24ffb47SSadaf Ebrahimi 20*a24ffb47SSadaf Ebrahimi#### Add the dependencies to your project 21*a24ffb47SSadaf Ebrahimi 22*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`: 23*a24ffb47SSadaf Ebrahimi 24*a24ffb47SSadaf Ebrahimi```xml 25*a24ffb47SSadaf Ebrahimi<dependencies> 26*a24ffb47SSadaf Ebrahimi <dependency> 27*a24ffb47SSadaf Ebrahimi <groupId>io.opencensus</groupId> 28*a24ffb47SSadaf Ebrahimi <artifactId>opencensus-api</artifactId> 29*a24ffb47SSadaf Ebrahimi <version>0.28.3</version> 30*a24ffb47SSadaf Ebrahimi </dependency> 31*a24ffb47SSadaf Ebrahimi <dependency> 32*a24ffb47SSadaf Ebrahimi <groupId>io.opencensus</groupId> 33*a24ffb47SSadaf Ebrahimi <artifactId>opencensus-exporter-trace-elasticsearch</artifactId> 34*a24ffb47SSadaf Ebrahimi <version>0.28.3</version> 35*a24ffb47SSadaf Ebrahimi </dependency> 36*a24ffb47SSadaf Ebrahimi <dependency> 37*a24ffb47SSadaf Ebrahimi <groupId>io.opencensus</groupId> 38*a24ffb47SSadaf Ebrahimi <artifactId>opencensus-impl</artifactId> 39*a24ffb47SSadaf Ebrahimi <version>0.28.3</version> 40*a24ffb47SSadaf Ebrahimi <scope>runtime</scope> 41*a24ffb47SSadaf Ebrahimi </dependency> 42*a24ffb47SSadaf Ebrahimi</dependencies> 43*a24ffb47SSadaf Ebrahimi``` 44*a24ffb47SSadaf Ebrahimi 45*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies: 46*a24ffb47SSadaf Ebrahimi 47*a24ffb47SSadaf Ebrahimi```groovy 48*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-api:0.28.3' 49*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-exporter-trace-elasticsearch:0.28.3' 50*a24ffb47SSadaf Ebrahimiruntime 'io.opencensus:opencensus-impl:0.28.3' 51*a24ffb47SSadaf Ebrahimi``` 52*a24ffb47SSadaf Ebrahimi 53*a24ffb47SSadaf Ebrahimi#### Register the exporter 54*a24ffb47SSadaf Ebrahimi 55*a24ffb47SSadaf EbrahimiThe ElasticsearchConfig is the configurations required by the exporter. 56*a24ffb47SSadaf Ebrahimi 57*a24ffb47SSadaf Ebrahimi```java 58*a24ffb47SSadaf Ebrahimiprivate final static String ELASTIC_SEARCH_URL= "http://localhost:9200"; 59*a24ffb47SSadaf Ebrahimiprivate final static String INDEX_FOR_TRACE= "opencensus"; 60*a24ffb47SSadaf Ebrahimiprivate final static String TYPE_FOR_TRACE= "trace"; 61*a24ffb47SSadaf Ebrahimiprivate final static String APP_NAME= "sample-opencensus"; 62*a24ffb47SSadaf Ebrahimi 63*a24ffb47SSadaf Ebrahimipublic static void main(String[] args) throws Exception{ 64*a24ffb47SSadaf Ebrahimi 65*a24ffb47SSadaf Ebrahimi ElasticsearchTraceConfiguration elasticsearchTraceConfiguration = ElasticsearchTraceConfiguration.builder() 66*a24ffb47SSadaf Ebrahimi .setAppName(MICROSERVICE) 67*a24ffb47SSadaf Ebrahimi .setElasticsearchUrl(ELASTIC_SEARCH_URL) 68*a24ffb47SSadaf Ebrahimi .setElasticsearchIndex(INDEX_FOR_TRACE) 69*a24ffb47SSadaf Ebrahimi .setElasticsearchType(TYPE_FOR_TRACE).build(); 70*a24ffb47SSadaf Ebrahimi ElasticsearchTraceExporter.createAndRegister(elasticsearchTraceConfiguration); 71*a24ffb47SSadaf Ebrahimi 72*a24ffb47SSadaf Ebrahimi} 73*a24ffb47SSadaf Ebrahimi``` 74*a24ffb47SSadaf Ebrahimi 75*a24ffb47SSadaf Ebrahimi 76*a24ffb47SSadaf Ebrahimi 77*a24ffb47SSadaf Ebrahimi 78*a24ffb47SSadaf Ebrahimi 79*a24ffb47SSadaf Ebrahimi#### Java Versions 80*a24ffb47SSadaf Ebrahimi 81*a24ffb47SSadaf EbrahimiJava 6 or above is required for using this exporter. 82*a24ffb47SSadaf Ebrahimi 83*a24ffb47SSadaf Ebrahimi 84