Linux环境下ELK环境搭建

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/shengqianfeng/article/details/102635671

安装包准备

wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.4/elasticsearch-2.3.4.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz

安装jdk1.8

# cd /usr/java
# tar –zxvf jdk-8u144-linux-x64.tar.gz
# vi /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_144
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin;
export PATH JAVA_HOME  CLASSPATH


# source /etc/profile

安装elasticearch

# useradd elk
# passwd elk
# su – elk
# cd /opt
# tar -xvf elasticsearch-2.3.4.tar.gz
# cd elasticsearch-2.3.4

// 安装Head插件  以支持可以web输入http://192.168.98.98:9200/_plugin/head/查看
#./bin/plugin install mobz/elasticsearch-head

// ls能看到head文件即可表示ok了。
#ls plugins/ 

编辑es配置文件

//编译es的配置文件:
# cd /opt/elasticsearch-2.3.4/config
# vi elasticsearch.yml

cluster.name: es_cluster
node.name: node0
path.data: /opt/elk-data
path.logs: /home/elk-logs
// 当前的host ip地址
network.host: 192.168.121.62
network.port: 9200

ps:事先在/opt下建立:elk-data和elk-logs文件夹

如果要配置集群需要两个节点上的elasticsearch配置的cluster.name相同,都启动可以自动组成集群,这里如果不改cluster.name则默认是cluster.name=elasticsearch,nodename随意取但是集群内的各节点不能相同.最后同时启动可以组成集群.

启动es

# ./bin/elasticsearch &

启动过程中可能会出现以下错误,跟着步骤解决就可以了。

问题处理

在这里插入图片描述
解决办法:

   # cd /opt/elk-logs
   # chmod  777  *

在这里插入图片描述
解决办法:

# cd /opt/elasticsearch-2.3.4/config/
# chown elk.elk /opt/elasticsearch-2.3.4/ -R

启动成功!
在这里插入图片描述
查看端口:#netstat –tunpl
在这里插入图片描述

测试ES

浏览器输入:http://192.168.98.98:9200/
在这里插入图片描述
访问:http://192.168.98.98:9200/_plugin/head/
在这里插入图片描述

安装logstash

logstash其实它就是一个收集器 而已,我们需要为它指定Input和Output(当然Input和Output可以为多个)。
由于我们需要把Java代码中Log4j的日志输出到ElasticSearch中,因此这里的Input就是Log4j,而Output就是ElasticSearch。

在这里插入图片描述

# cd /opt
# tar –zxvf logstash-2.3.4.tar.gz
# cd logstash-2.3.4

解压后进去看到如下目录:
在这里插入图片描述
进入bin目录看到:
在这里插入图片描述
执行./plugin list可以看到目前能安装的插件:
在这里插入图片描述
通过./plugin install 插件名来安装插件:
在这里插入图片描述
一些常用的一定要安装的例如:
在这里插入图片描述
有时候会下载不下来,需要多尝试几次,有时候尝试十几次才行

log输入-输出demo

# cd logstash-2.3.4
# touch  logstash.conf
# vi logstash.conf

编辑:

# 输入日志
input{  
    file{  
        # 要读取的日志文件,可用*通配符匹配  例如["/tmp/log4j/*.log"]  
        path=>["/usr/local/tmp/monitor1.log"]  
        # 从文件读取日志的间隔,单位:秒  
        stat_interval=>5  
    }  
} 
filter {
  #Only matched data are send to output.
}

# 输出日志  
output{  
     file{  
        # 要读取的日志文件,可用*通配符匹配  例如["/tmp/log4j/*.log"]  
        path=>["/usr/local/tmp/monitor2.log"]  
        message_format => "%{message}"  
    }  
    # 输出到终端  
    stdout{  
        codec => rubydebug  
    }  
}  

实现从monitor1.log读取文件,输出到monitor2.log和控制台上。读取的时间间隔为5s钟。我们可以通过vi实时编辑monitor1.log,在monitor2.log输出。

启动

启动的时候bin/logstash –f conf文件路径,注意这里的input的文件必须是权限足够的 ,因为Elasticsearch需要普通用户才能启动.

#./bin/logstash -f logstash.conf

在这里插入图片描述

安装Kibana

解压安装,修改配置文件vi config/kibana.yml的elasticsearch.url属性即可
在这里插入图片描述

启动kibana

# ./bin/kibana &

日志查询

访问http://192.168.98.98:5601/创建索引
在这里插入图片描述
查询结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shengqianfeng/article/details/102635671
今日推荐