ELK-6日志分析平台环境部署

官方网站:https://www.elastic.co/products

 

一、介绍

通过官网网站了解到:

Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理 Elastic Stack。

Elasticsearch 是基于 JSON 的分布式搜索和分析引擎,专为实现水平可扩展性、高可靠性和管理便捷性而设计。

Logstash 是动态数据收集管道,拥有可扩展的插件生态系统,能够与 Elasticsearch 产生强大的协同作用。

Beats 是一个面向轻量型采集器的平台,这些采集器可从边缘机器向 Logstash 和 Elasticsearch 发送数据。

二、架构部署

由于当前日志量不大,所以没有使用redis或kafka等队列工具,也没有使用集群。后续可以根据实际负载情况加入缓存和集群

三、安装

JDK安装

Elasticsearch-6依赖于jdk-1.8,请确保需要安装的机器jdk版本不低于1.8.0_73

使用yum安装Openjdk

yum -y install java-1.8.0-openjdk*

配置JAVA环境变量:vim /etc/profile 追加:(将下面的内容添加至文件末尾)

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

然后再执行  source /etc/profile  使JDK设置生效

 

Elasticsearch 安装

采用yum方式安装:

安装许可:  rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

添加yum源:  vim /etc/yum.repos.d/elasticsearch.repo

[esticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

安装:yum install -y elasticsearch

等待安装完成之后,修改相应配置文件,配置文件路径:  /etc/elasticsearch/elasticsearch.yml

修改其中的几项配置即可

# cluster.name: es_cluster #集群名,依此识别并组成集群
# node.name: node-1 #节点名,集群内每个节点名不同
# network.host: 192.168.0.1 #配置本机ip,以便外网访问

如果是集群,添加防脑裂配置(因为elc默认是一个局域网内能搜索到的就是一个集群,一些原因会导致分成几个集群)

discovery.zen.ping.multicast.enabled: false
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
discovery.zen.ping.unicast.hosts: ["cdh2","cdh1","cdh4"]

因单一节点设置该节点为集群主节点数据节点

node.master: true #设置充当master节点
node.data: true #设置充当data节点,默认为true

ES启动的时候回占用特别大的资源所以需要修改下系统参数,若不修改资源启动会异常退出

配置资源参数:  vim /etc/security/limits.conf

*        soft        nofile        65536
*        hard        nofile        131072  
*        soft        nproc        65536
*        hard        nproc        131072 

配置用户资源参数:  vim /etc/security/limits.d/*-nproc.conf

elk     soft    nproc       65536

设置ES启动 JVM堆大小:  vim /etc/elasticsearch/jvm.options

-Xms2g
-Xmx2g

es不能用root用户启动,先更改elasticsearch文件夹的所有者 创建下列目录并授权

创建用户并赋权:

useradd elk
groupadd elk
useradd elk -g elk

mkdir /var/run/elasticsearch
mkdir /var/lib/elasticsearch
chmod –R 777  /var/lib/elasticsearch
chmod -R 777 /var/run/elasticsearch

服务启动停止命令:

service elasticsearch start
service elasticsearch stop

验证安装:访问http://localhost:9200/ 有返回即可

或者使用命令 curl -XGET http://localhost:9200 有返回即可

 

安装kibana

采用yum安装

安装授权    rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

创建yum源 vi /etc/yum.repos.d/kibana.repo

[kibana-6.x]
name=Kibana repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

安装kibana: yum install -y kibana

安装后修改配置文件:vim /etc/kibana/kibana.yml

#server.host  默认localhost,只能本机访问kibana
#server.name 此kibana服务的名称
#elasticsearch.url  es地址

修改完毕之后,启动服务命令:

service kibana start
service kibana stop

安装验证:访问http://localhost:5601/

安装Logstash

采用yum方式安装

创建yum源:  vim /etc/yum.repos.d/logstash.repo

[logstash-6.x]
name=Elastic repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

安装:  yum install logstash -y

安装后修改配置文件:  vim /etc/logstash/logstash.yml

node.name: elk
path.data: /var/lib/logstash
path.config: /etc/logstash/conf.d/*.conf

http.host: "0.0.0.0"
http.port: 9600
path.logs: /var/log/logstash

上述配置一个启动rest服务端口9600的logstash,配置文件可以多个conf文件,存放位置在/etc/logstash/conf.d目录下

修改完毕之后,启动服务命令:

service logstash start

service logstash stop

如果使用的是CentOS6的话,上面的命令是无效的,使用如下命令:

initctl start logstash
initctl stop logstash

安装验证:http://localhost:9600/

 

安装Filebeat

安装:

官网下载filebeat-6.5.1的rpm

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.1-x86_64.rpm

rpm -ivh filebeat-6.5.1-x86_64.rpm

配置:  vim /etc/filebeat/filebeat.yml

#=========================== Filebeat inputs =============================
filebeat.inputs:

- type: log
  enabled: true
  paths:
    - /opt/testelk/logs/*.log
  fields:
    appname: 'elklog4jfile'
  multiline.pattern: '^[0-9]{4}'
  multiline.negate: true
  multiline.match: after
#============================= Filebeat modules ===============================

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
  reload.period: 10s

#----------------------------- Logstash output --------------------------------
output.logstash:
  hosts: ["localhost:9610"]

此配置抓取日志:

log4j产生的日志,日志目录在/opt/testelk/logs/*.log

服务启动filebeat:service filebeat start

后台启动:nohup ./filebeat-6.5.1-linux-x86_64/filebeat start &

启动后,可以在ES中查看到相应的索引信息,在KIBANA可进行检索

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值