大纲:
一、简介(引用http://467754239.blog.51cto.com)
二、Logstash
三、Elasticsearch
四、Kinaba
五、Redis+logback
一、简介
1、核心组成
ELK由Elasticsearch、Logstash和Kibana三部分组件组成;
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用
kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
2、四大组件
Logstash: logstash server端用来搜集日志;
Elasticsearch: 存储各类日志;
Kibana: web化接口用作查寻和可视化日志;
Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;
3、ELK工作流程
在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。
4、ELK的帮助手册
ELK官网:https://www.elastic.co/
ELK官网文档:https://www.elastic.co/guide/index.html
ELK中文手册:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html
注释
ELK有两种安装方式
(1)集成环境:Logstash有一个集成包,里面包括了其全套的三个组件;也就是安装一个集成包。
(2)独立环境:三个组件分别单独安装、运行、各司其职。(比较常用)
本实验也以第二种方式独立环境来进行演示;单机版主机地址为:192.168.1.104
二、Logstash
1、安装JDK(略)
logstash的运行依赖于JDK
2、安装logstash
wget https://download.elastic.co/logstash/logstash/logstash-2.0.0.tar.gz(请选择正确版本,小心和Elasticsearch冲突)
2.1普通方式启动
启动:logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
my name is zhengyansheng.
//
手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
2015-10-08T13:55:50.660Z 0.0.0.0 my name is zhengyansheng.
这种输出是直接原封不动的返回...
2.2通过配置文件启动
配置文件信息logstash.conf :
input {
#读取配置文件的方式
file {
path => "/usr/java/apache-tomcat-8.0.39/logs/catalina.2017-04-24.log"
codec => json {
charset => "UTF-8"
}
}
#从Redis读取
redis {
data_type => "pattern_channel"
key => "logstash-*"
host => "192.168.1.134"
port => 6379
threads => 5
}
}
output {
#输出到控制台
stdout { codec => rubydebug }
#输出到elasticsearch
elasticsearch {
hosts => "192.168.1.134:9200"
}
}
启动:./logstash -f ../conf/logstash.conf
PS:配置文件必须是ANSI格式
三、Elasticsearch
3.1安装
Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-2.3.5.tar.gz
tar -xvf elasticsearch-2.3.5.tar.gz
3.2修改elasticsearch.yml配置文件
vi
elasticsearch.yml
#把这几个解开
cluster.name: my-application
node.name: node-1
path.data: /path/to/data
network.host: 0.0.0.0
http.port: 9200
如果要外网访问network.host必须改成0.0.0.0
3.3启动
Elasticsearch
启动
不能以root运行,需新建个用户进行运行Elasticsearch
创建用户组已经用户
groupadd elsearch useradd elsearch -g elsearch -p elasticsearch
更改权限
chown -R elsearch:elsearch elasticsearch elasticsearch为你elasticsearch的目录名称
切换用户
su elsearch #切换账户 cd elasticsearch/bin #进入你的elasticsearch目录下的bin目录 ./elasticsearch
在地址栏输入:http://192.168.1.134/9200 出现以下信息表示启动成功
{ "name" : "node-1", "cluster_name" : "my-application", "version" : { "number" : "2.3.5", "build_hash" : "90f439ff60a3c0f497f91663701e64ccd01edbb4", "build_timestamp" : "2016-07-27T10:36:52Z", "build_snapshot" : false, "lucene_version" : "5.5.0" }, "tagline" : "You Know, for Search" }
3.4安装head插件
bin ./plugin install mobz/elasticsearch-head
访问插件:http://192.168.1.134:9200/_plugin/head/
四、kibana
4.1安装kibana
wget https://download.elastic.co/kibana/kibana/kibana-4.3.3-linux-x64.tar.gz
tar -xvf
kibana-4.3.3-linux-x64.tar.gz
config下的kibana.yml可以修改服务端口以及es相关配置,我用的默认配置
elasticsearch.url: "http://192.168.1.134:9200"
4.2启动kibana
kibana./
访问浏览器:http://192.168.1.134:5601/
如果出现以下页面,表示启动成功
五、Redis+Logback
5.1通过logback输出日志到Redis,logback从Redis中收集日志
logback配置文件:
<!-- 日志输出到Redis --> <appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender"> <source>logstashdemo</source> <type>dev</type> <host>120.27.15.7</host> <port>6379</port> <key>logstash</key> <tags>dev</tags> <mdc>true</mdc> <location>true</location> <callerStackIndex>0</callerStackIndex> </appender>
新人第一次写博客,请各位大神多多指教,有问题指出来
转载于:https://blog.51cto.com/12854546/1918773