Elasticsearch

DeepFinder 내 Elasticsearch 용도

Elasticsearch는 Postgres보다 데이터 처리가 빠르다는 장점을 활용하기 위해 도입한 NOSQL이며 탐지로그 저장과 DeepFinder Manager에서 부가적인 기능인 대시보드 데이터 저장 및 보고서 데이터를 집계 하는데 사용합니다.


Elasticsearch Process Down 원인 및 영향도

Elasticsearch는 서버 내 디스크 용량이 80% 를 초과하거나 가용 메모리가 부족한 경우 프로세스가 다운될 수 있습니다.
가용 메모리 부족의 원인은 Elasticsearch 내 Index가 과도하게 누적될 경우 발생하므로 Elasticsearch 데이터는 탐지로그 조회가 잦은 3개월치 내외 데이터만 저장하시는것을 권고드립니다.

주기적인 로그 정리 설정은 [환경관리] - [환경설정] - [로그 보관기간] 탭에서 설정할 수 있습니다.
이 때 삭제일과 삭제시간을 명시해야 입력된 시간에 맞춰 삭제작업을 진행합니다.


Elasticsearch는 빠른 데이터 처리가 필요한 부가적인 정보만을 저장하기 때문에 프로세스가 다운되더라도 보안운영에는 영향이 없습니다.
DeepFinder의 탐지로그는 Postgres 및 Elasticsearch에 동시 저장하도록 구성되었기 때문에 [탐지로그] 왼쪽 Elastic을 DB로 변경하여 Postgres에 저장된 탐지로그를 검색하실 수 있습니다.


Elasticsearch 정상화

1) Elasticsearch 재시작
서버 내에서 Elasticsearch가 동작중임에도 불구하고 Elasticsearch가 다운된 것으로 표시되는 경우가 있습니다. 이는 Elasticsearch에서 응답하지 않는 상태이므로 Elasticsearch 재시작을 진행합니다.

[root@i ~]# service dfserver-elastic restart
useradd: user 'elastic' already exists
Stopping elasticsearch:                                    [  OK  ]
Starting elasticsearch:                                    [  OK  ]

[root@i ~]# ps -ef |grep elastic
elastic  899    1 99 10:57 ?    00:00:16 /usr/bin/java -Xms3g -Xmx3g -XX:+UseConcMarkSweepGC ...
elastic  896  899  0 10:57 ?    00:00:00 /usr/local/dfserver/elasticsearch/modules/x-pack-ml ...

2) 상태 확인
Elasticsearch의 상태를 확인합니다.
Connection refused는 프로세스가 아직 켜지지 않은 상태이므로 상태정보가 나올때까지 기다립니다.

[root@i ~]# curl localhost:9200/_cat/health
curl: (7) Failed to connect to localhost port 9200: Connection refused

[root@i ~]# curl localhost:9200/_cat/health
1684375627 02:07:07 elasticsearch red 1 1 575 575 0 4 1821 5 144.3ms 24.0%

3) Index 조회 및 삭제
상태정보가 나오면 Index를 조회하여 어느정도의 데이터가 저장되었는지 확인합니다.
인덱스가 조회되면 DELETE 메소드를 통해 데이터를 삭제합니다.
모든 인덱스 삭제를 원하면 curl XDELETE localhost:9200/*를 입력합니다.

[root@i ~]# curl localhost:9200/_cat/indices?v
health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   pslist-2023-04-08     Fwl4Db5YTV-vZCKZGwisvw   5   1       4790            0     12.1mb         12.1mb
yellow open   pfmdata-2023-04-25    Uui9AviiSyeCg8AhxBpxew   5   1        778            0    579.6kb        579.6kb
yellow open   eventlog-2023-04-05   oBLsl6H6QtaitESlvSLbXQ   5   1       1280            0    276.8kb        276.8kb
yellow open   pfmdata-2023-05-17    G9ZYWQzqTm2YlGKf-KJYcA   5   1       2984            0      1.9mb          1.9mb
yellow open   eventlog-2023-04-18   nzBgA2kDTFS5pNhYKs-5Yg   5   1       1309            0      316kb          316kb
yellow open   pslist-2023-04-21     q5A_T4JOSEmQQJ5YhIGKxw   5   1       1857            0      7.6mb          7.6mb
yellow open   pslist-2023-05-07     G9rA47SWT6i9_GWfH9RQSg   5   1       7041            0     16.9mb         16.9mb
yellow open   pfm_server-2023-05-07 Hf5MIz63QIG1KbocH0txxg   5   1        140            0    440.9kb        440.9kb 
........

[root@i ~]# curl -XDELETE localhost:9200/pslist-2023-04* 
{"acknowledged":true}

4) 디스크 공간 확인
Elasticsearch 데이터를 삭제하여 디스크 공간을 확보하였음에도 디스크 사용량이 80% 이상인 경우 Postgres 및 기타 데이터 삭제가 필요합니다. 이러한 경우 DeepFinder 기술지원팀으로 연락하여 데이터 정리를 요청하시기 바랍니다.

results matching ""

    No results matching ""

    results matching ""

      No results matching ""