Kibana Logstash Beats Elastic Stack Expertise and Support Elasticsearch as a Service (Found) Development Production Plugins Security (Shield) Alerting (Watcher) Monitoring (Marvel) Technical Guidance • Architecture (hardware/software) • Cluster management (tuning) • Index / shard design • Query optimization • Integration with other products • Backup and HA strategy • Dev to production migration / upgrades • Best practices Troubleshooting & Support • Dedicated, hands-on SLA-based support • Analysis of internal logs • Proactively monitoring of clusters • Escalation to engineering team
existing BANO data • source / destination fields can be changed • data can be stored within another cluster • data can come from another URL (ie. local files) • Bano plugin uses aliases behind the scene 57
extends AbstractProcessorFactory<BanoProcessor> { @Override public BanoProcessor doCreate(String processorTag, Map<String, Object> config) { // Read the bano processor config String cityField = readStringProperty("bano", processorTag, config, "city_field", // We read here the value of "city_field" in config "address.city"); // If not set we will read from "address.city" by default // Do the same for other fields // Create the processor instance return new BanoProcessor(field1, field2, cityField, ...); }
{ @Override public void execute(IngestDocument ingestDocument) { // Implement your logic code here if (ingestDocument.hasField(cityField)) { String city = ingestDocument.getFieldValue(cityField, String.class) // Like searching in elasticsearch with a city field Location location = banoEsClient.searchByCity(city); // Then modify the document as you wish Map<String, Object> locationObject = new HashMap<>(); locationObject.put("lat", location.getLat()); locationObject.put("lon", location.getLon()); ingestDocument.setFieldValue("location", locationObject); } } }