快速搭建一套ELK环境

软件

链接:https://pan.baidu.com/s/1AOdYNw5iu9Qybq4hG0bJWw
提取码:c7hj
解压后会有一下软件

image.png

es-head 谷歌浏览器插件
https://pan.baidu.com/s/1g5my-7K8qOSN6NXY4EAJ3Q
提取密码:65wm

如果对数据检索的实时性要求特别高的系统就用es5.6+版本。
kibana4.6.1 ,logstash2.4.0三个版本(注意 JDK需要1.7+)

1、安装es

不要用root用户


image.png

开始安装

[root@iZ2ze8dv3a3mevar9w80f1Z es]# tar -zxvf elasticsearch-2.4.6.tar.gz
由于es 不能用root 用户进行启动所以要修改一下配置文件
用vim打开elasicsearch执行文件,在变量ES_JAVA_OPTS使用前添加以下命令

ES_JAVA_OPTS="-Des.insecure.allow.root=true"


[root@iZ2ze8dv3a3mevar9w80f1Z config]# mv elasticsearch.yml elasticsearch.yml.bak
[root@iZ2ze8dv3a3mevar9w80f1Z config]# ll
total 8
-rw-rw-r-- 1 app app 3171 Mar 26 23:18 elasticsearch.yml.bak
-rw-rw-r-- 1 app app 2571 Apr 25  2017 logging.yml
[root@iZ2ze8dv3a3mevar9w80f1Z config]# vim elasticsearch.yml
解压之后修改配置文件
cluster.name: my.elk    #集群名称,如果有多个集群,那么每个集群名就得是唯一的 
node.name: node-192.168.0.8     #节点名称
node.master: true       #该节点是否是master,true表示是的,false表示否,默认是true
node.data: true         #该节点是否存储数据,默认true表示是的
http.port: 9200         #http访问端口,默认是9200,通过这个端口,调用方可以索引查询请求
transport.tcp.port: 9300    #节点之间通信的端口,默认为9300
network.host: 0.0.0.0       #访问地址 配置外网访问
#discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:8300"]
#node.max_local_storage_nodes: 2        #设置一台机子能运行的节点数目,一般采用默认的1即可,因为我们一般也只在一台机子上部署一个节点

启动:

[root@iZ2ze8dv3a3mevar9w80f1Z elasticsearch-2.4.6]# ./bin/elasticsearch -d
image.png

谷歌浏览器装上es 的head插件之后浏览器上会有个图标,下面用head插件进行连接


image.png
image.png

新建一个索引


image.png

安装logstash-2.4.0

解压

[root@iZ2ze8dv3a3mevar9w80f1Z logstash-2.4.0]# tar -xvf logstash-2.4.0.tar 
[root@iZ2ze8dv3a3mevar9w80f1Z logstash-2.4.0]# cd logstash-2.4.0
[root@iZ2ze8dv3a3mevar9w80f1Z logstash-2.4.0]# mkdir config
[root@iZ2ze8dv3a3mevar9w80f1Z config]# vim logstash.conf

#配制日志收集文件
 input {        //收集标志
        file {
                type => "log" 
                path => ["/home/logs/*.log"]    //收集日志的地方,注意不能远程收取
                start_position => "end"     //如果log文件已经很大了 不要配start,第二次会有记录
            ignore_older => 0       //忽略最后修改时间是大于多少s的
            codec=> multiline {     //重点注意 解决日志换行问题。
                        pattern => "^%{TIMESTAMP_ISO8601}"
                        negate => true
                        what => "previous"
                }
        }
        beats {
            port => 5044
        }
}
output {
        if [type] == "log" {
        elasticsearch {
            hosts => ["http://127.0.0.1:9200"]
            index => "log-%{+YYYY.MM}"      //表示的是索引库 按日期分
            user => user        //如果配置了nginx密码的则需要填写
            password => pwd
        }   
    }
}

启动:

[root@iZ2ze8dv3a3mevar9w80f1Z logstash-2.4.0]# ./bin/logstash -f config/logstash.conf
Settings: Default pipeline workers: 1
log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Pipeline main started

后台启动:nohup ./bin/logstash -f config/log.conf > log.log &

配置成功之后会在es 上显示连接信息。

image.png

案例中使用的log 文件
链接:https://pan.baidu.com/s/1A9YfTqwGDifIAsIUtMgzNw
提取码:y28m

3、KInana安装

这个安装比较简单,解压后在kibana.yml文件中指定一下你需要读取的elasticSearch地址和可供外网访问的bind地址就可以了。

下面为配置文件:

elasticsearch.url: http://localhost:9200 server.host: 0.0.0.0

启动命令:./kibana

后台启动:nohup ./bin/kibana &

kinana 启动成功后es 上会有连接信息


image.png
image.png

这样就能在kibana 中看到日志信息了。


image.png

你可能感兴趣的:(快速搭建一套ELK环境)