es

#复制索引
curl -XPOST "http://localhost:9200/_reindex?slices=auto" -H"Content-Type:application/json" -d '{"source": {"index": "x.x-2021-02-06","size":10000},"dest": {"index": "x.x-2021-02-27"}}'

说明一下为什么存的是log_id: 
1、mongo的安全事件表是百万级别,而且mongo占用了设备的1/4的内存;pg的告警表是千万级别,但内存只有几个g;两者的数量级别和内存占用都不是同一级别
2、mongo和pg的CURD都是基于内存操作的,正因为mongo冗余了大量的原始日志导致内存过高使x平台存在很多性能问题(一条mongo数据可达2-3M)。在内存有限的情况下,如果pg也冗余了原始日志,将会导致大部分的请求直接走IO,这个严重影响pg性能

基于以上,在内存有限的情况下,对于pg来说存log_id是比较合理的
另外,pg存原始日志的部分字段也不乐观,需要冗余header和body这些大字段,这个跟全部字段也没多大区别了,同时也限制后续业务的灵活性
在正常情况下,根据log_id去es捞数据,一般来说会延迟1min30s(入库队列等待30s + es refresh 1min),之前说的5分钟相对保守

# 查看全部
es get  _cat/shards/
# 查看指定索引在什么地方
es get  _cat/shards/ngfw.security-2021-06-09

# ES 信息查看
$ curl localhost:9200/_cat
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}

curl -XPOST localhost:9200/_cache/clear?pretty

 

posted @ 2024-01-25 19:52  G1733  阅读(3)  评论(0编辑  收藏  举报