生态圈
Logstash
- 实时解析和转换数据
- 从 IP 地址破译出地理坐标
- 将 PII 数据匿名化,完全排除敏感字段
- 可扩展
- 200+插件
- 可靠性/安全性
- Logstash 会通过持久化队列来保证至少将运行中的事件送达一次
- 数据传输加密
Kibana
主文件夹简介
目录 | 配置文件 | 描述 |
---|---|---|
bin | 脚本文件,包括启动elasticsearch、安装插件、运行统计数据 | |
config | elasticsearch.yml | 集群配置文件,user,role based 相关配置 |
JDK | 7.0 以后自带 JDK 环境 | |
data | path.data | 数据文件 |
lib | Java类库 | |
logs | path.log | 日志文件 |
mouduls | 包含所有的 ES 模块 | |
plugins | 包含所有的插件 |
JVM 配置
- 修改 JVM - config/jvm.options
- Xmx 与 Xms 应该相同
- Xmx 不要超过物理内存的 50%
- 默认1g 不要超过 30g
本机多实例
启动命令
bin/elasticsearch -E node.name=node0 -E cluster.name=felix -E path.data=node0_data -d
bin/elasticsearch -E node.name=node1 -E cluster.name=felix -E path.data=node1_data -d
bin/elasticsearch -E node.name=node2 -E cluster.name=felix -E path.data=node2_data -d
bin/elasticsearch -E node.name=node3 -E cluster.name=felix -E path.data=node3_data -d
删除进程
ps | grep elasticsearch
kill pid
启动kibana
bin/kibana
logstash 导入数据
sudo ./logstash -f logstash.conf
logstasch.conf
input {
file {
path => "/Applications/dev/logstash-7.10.2-darwin-x86_64/logstash-7.10.2/bin/ml-latest-small/movies.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
columns => ["id","content","genre"]
}
mutate {
split => { "genre" => "|" }
remove_field => ["path", "host","@timestamp","message"]
}
mutate {
split => ["content", "("]
add_field => { "title" => "%{[content][0]}"}
add_field => { "year" => "%{[content][1]}"}
}
mutate {
convert => {
"year" => "integer"
}
strip => ["title"]
remove_field => ["path", "host","@timestamp","message","content"]
}
}
output {
elasticsearch {
hosts => "http://localhost:9200"
index => "movies"
document_id => "%{id}"
}
stdout {}
}