ELK三个字母是由 ElasticSearch+Logstash+Kibana 组成。
ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300。
ps:/app目录需要自己创建以下软件都安装在/app目录,可自行选择安装到哪个目录。
下载ElasticSearch:
# cd /app
# sudo wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.tar.gz
# sudo tar -zxvf elasticsearch-1.4.2.tar.gz -C /app/
# ln -s /usr/local/elasticsearch-1.4.2 /usr/local/elasticsearch
安装elasticsearch-servicewrapper,并启动ElasticSearch服务:
# sudo wget https://github.com/elasticsearch/elasticsearch-servicewrapper/archive/master.tar.gz
# sudo tar -zxvf master.tar.gz -C /app/
# mv /app/elasticsearch-servicewrapper-master/service /app/elasticsearch/bin/
# /app/elasticsearch/bin/service/elasticsearch start
启动后输出:
Starting Elasticsearch...
Waiting for Elasticsearch......
running: PID:13583
测试ElasticSearch服务是否启动成功:
# curl -X GET http://localhost:9200
成功返回200的状态码:
{
"status" : 200,
"name" : "Bushman",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.4.2",
"build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c",
"build_timestamp" : "2014-12-16T14:11:12Z",
"build_snapshot" : false,
"lucene_version" : "4.10.2"
},
"tagline" : "You Know, for Search"
}
Logstash默认的对外服务的端口是9292。
下载Logstash:
# sudo wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz
# sudo tar -zxvf logstash-1.4.2.tar.gz -C /app/
# ln -s /app/logstash-1.4.2 /app/logstash
测试Logstash服务是否正常,预期可以将输入内容以简单的日志形式打印在界面上:
# /app/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'
执行后输入一段内容,例如:aa 然后点击确定键
aa
2018-06-13T02:30:08.929+0000 0.0.0.0 aa
bb
2018-06-13T02:30:12.942+0000 0.0.0.0 bb
^CInterrupt received. Shutting down the pipeline. {:level=>:warn}
退出使用control+c 然后点击确定
创建Logstash配置文件,并再次测试Logstash服务是否正常,预期可以将输入内容以结构化的日志形式打印在界面上:
# mkdir -p /app/logstash/conf
# vim /app/logstash/conf/test.conf
input {
stdin {
type => "human"
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
host => "127.0.0.1"//修改为本机ip
port => 9300
}
}
#/app/logstash/bin/logstash -f /app/logstash/conf/test.conf
然后输入内容,例如:aa
输出如下:
aa
{
"message" => "aa",
"@version" => "1",
"@timestamp" => "2018-06-13T03:18:31.303Z",
"type" => "human",
"host" => "0.0.0.0"
}
首先在系统上面查询一下是否已经安装了apache【Apache在linux系统里的名字是httpd】
# rpm -qa httpd
如果有返回的信息,则会显示已经安装的软件
如果没有则不会显示其它的信息
如上图是没有安装的。
如果没有安装,则执行下边的命令安装
yum install httpd -y
再次执行
# rpm -qa httpd
安装完成后使用以下命令启动apache
service httpd start
下载Kibana 并移动到Apache访问目录下
# sudo wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz
# sudo tar -zxvf kibana-3.1.2.tar.gz -C /app/
# mv kibana-3.1.2 /var/www/html/kibana
修改Kibana的配置文件,把elasticsearch所在行的内容替换成如下:
# vim /var/www/html/kibana/config.js
elasticsearch: "http://【您的ip】:9200",
启动HTTP服务:
# service httpd start
修改ElasticSearch的配置文件,追加一行内容,并重启ElasticSearch服务:
# vim /app/elasticsearch/config/elasticsearch.yml
http.cors.enabled: true
# /app/elasticsearch/bin/service/elasticsearch restart
然后就可以通过浏览器访问Kibana了:
http://【您的ip】/kibana
再次创建Logstash配置文件,这里将tomcat日志和文件系统日志作为输入,输出直接传给ElasticSearch,不再打印在界面上:
# vim /app/logstash/etc/tomcat.conf
input {
file{
type => "tomcat"
path => "/app/tomcat/logs/catalina.out"//日志路径
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
host => "【您的ip】"
port => 9300
}
}
然后使用nohup命令让Logstash后台运行
nohup /app/logstash/bin/logstash -f /app/logstash/etc/tomcat.conf &
查询nohup后台运行的程序
# jobs -l
现在,一个简单的日志分析和监控平台就搭建好了,可以使用Kibana进行查看。
原文参考地址:https://blog.csdn.net/llq_200/article/details/68943935