ELK

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 都是开源软件。

elasticsearch:基于lucene的开源搜索引擎,是一个分布式的搜索分析系统,提供搜集、分析、存储数据三大功能。
主要特点有:realtime data、real time analytics、distributed、high availability、multi-tenancy、fulltext search、document oriented、conflict management、schema free、restful api等等。

logstash是一个管理日志和事件的工具,你可以收集它们,解析它们,并存储它们以供以后使用(例如日志搜索),
logstash有一个内置的web界面,用来搜索你的所有日志。logstash在部署时有两种运行模式:standalone和centralized

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。

安装logstash
查看安装的插件:logstash/bin/logstash-plugin list
默认没有安装logstash-out-mongodb 插件,安装插件:bin/logstash-plugin install logstash-output-mongodb
安装logstash-out-mongodb 插件 可以把ES的数据导入到mongodb

配置文件路径:
/etc/logstash/conf.d

vim logstash_to_mongo.conf

 input {
   stdin {
}
elasticsearch {
hosts => "IP:9200"
user => "name"
password => "password"
index => "crmlog-*" #索引,相当于mongodb的表名称
type => "_doc"  #ES里面文档类型
}
}

filter {  #如果不过滤这里可以不要
json {
source => "message"
remove_field => ["message"]
}
}
output {
stdout { codec => json_lines } #这个表示json格式
mongodb {
collection => "tablename"  #表名称
database => "ooo"          #数据库名称
uri => "mongodb://username:password@IP:port"
  }
}

执行脚本命令:
sudo /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash_to_mongo.conf

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐