3.4.5. Log Search Elasticsearch Provider#
Log search elasticsearch provider paketi ile daha detaylı elasticsearch sorgularının yapılması hedeflenmektedir. Bu paket kullanılarak elasticsearch üzerindeki aggregation'ların kullanımına olanak sağlanmıştır.
Not
Log Search Elasticsearch Provider paketi elasticsearch'e direkt olarak bağlantı kurarak işlem yapar. Logger Search Server üzerinden rest ile işlem yapmak istenildiği durumda Log Search İstemci API (Client) sayfası ziyaret edilmelidir.
Bağımlılıklar#
api (
[group: 'tr.com.havelsan.framework.logger', name: 'hvl-logger-search-elasticsearch-provider'],
)
YAML#
management:
health:
elasticsearch:
enabled: ${ELASTICSEARCH_HEALTH_CHECK_ENABLED:true}
spring:
elasticsearch:
uris: ${ELASTICSEARCH_ENDPOINTS:http://hvlelasticsearch:9200,http://hvlelasticsearch2:9201,http://hvlelasticsearch3:9202}
username: ${ELASTICSEARCH_USERNAME:elastic}
password: ${ELASTICSEARCH_PASSWORD:hvl12345}
ssl:
enabled: ${ELASTICSEARCH_SSL_ENABLED:false}
keystore-source-path: ${ELASTICSEARCH_KEYSTORE_SOURCE_PATH:/home/acuhadaroglu/dev/projects/framework/hvl-infra/deployment/volume/elk/certs/ca/ca.crt}
hvl-infra üzerinden Config Server kullanıldığı durumlarda bootstrap.yml dosyasındaki spring.cloud.config.profile pathine elasticsearch değerinin eklenmesi gerekmektedir. Böylece yukarıdaki özelliklerin ve daha fazlasının olduğu application-elasticsearch.yml dosyası projeye dahil olacaktır.
Kullanımı#
Log Search Elasticsearch Provider paketinin çalışmasını sağlamak için @HvlEnableLogSearchElasticProvider
anotasyonunun konfigürasyon sınıfına eklenmesi gerekmektedir.
@Configuration
@ComponentScan(basePackages = {HvlLoggerConfigurationConstant.BASE_PACKAGE})
@HvlEnableLogSearchElasticProvider
public class HvlLoggerConfiguration extends HvlBaseConfiguration {
}
@HvlEnableLogSearchElasticProvider
anotasyonu eklemesi yapıldıktan sonra HvlLogSearchElasticProvider
bean'i inject edilerek kullanılmaya başlanabilir.
@Service
public class HvlLoggerSearchServiceImpl implements HvlLoggerSearchService {
private final HvlLogSearchElasticProvider logSearchElasticProvider;
public HvlLoggerSearchServiceImpl(HvlLogSearchElasticProvider logSearchElasticProvider) {
this.logSearchElasticProvider = logSearchElasticProvider;
}
}
Aggregation örneği ve detaylı kullanım ile ilgili tam bir örnek kod için hvl-javalt-samples projesindeki örnek incelenebilir.