[转]Centos6 安装 elk 并收集tomcat日志

ELK三个字母是由 ElasticSearch+Logstash+Kibana 组成。

1.安装JDK

2.安装ElasticSearch

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"
}

5.安装Logstash

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"
}

6.安装Apache

首先在系统上面查询一下是否已经安装了apache【Apache在linux系统里的名字是httpd】

# rpm -qa httpd

如果有返回的信息,则会显示已经安装的软件

如果没有则不会显示其它的信息

elk服务器资源要求 elk默认端口_centos


如上图是没有安装的。

如果没有安装,则执行下边的命令安装

yum install httpd -y

再次执行

# rpm -qa httpd

就会显示已经安装

elk服务器资源要求 elk默认端口_centos_02

安装完成后使用以下命令启动apache

service httpd start

7.安装Kibana

下载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

7.配置Logstash

再次创建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进行查看。