ELK安装( Elasticsearch、Logstash、Kibana)

ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;

Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;

Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;

Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。

组件下载

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

kibana https://artifacts.elastic.co/downloads/kibana/kibana-7.10.2-x86_64.rpm

logstash https://artifacts.elastic.co/downloads/logstash/logstash-7.10.2-x86_64.rpm

elasticsearch https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-x86_64.rpm

elasticsearch 9200

elasticsearch-head 9100

logstash 5044

kibana 5601

一、安装jdk

tar -zxvf jdk-8u201-linux-x64.tar.gz

mv /jdk1.8.0_201 /usr/local/jdk-1.8

vim /etc/profile

export JAVA_HOME=/usr/local/jdk-1.8/

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:./

source /etc/profile

二、安装ElasticSearch

1、rpm -ivh elasticsearch-7.10.2-x86_64.rpm

2、创建/data/es-data目录,用于elasticsearch数据的存放

mkdir -p /data/es-data

3、修改该目录的拥有者为elasticsearch

chown -R elasticsearch:elasticsearch /data/es-data

3、创建/data/es-log目录,用于elasticsearch日志的存放

mkdir -p /data/es-log

4、修改该目录的拥有者为elasticsearch

chown -R elasticsearch:elasticsearch /data/es-log

5、修改配置文件elasticsearch.yml

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-1

#设置data存放的路径为/data/es-data

path.data: /data/es-data

#设置logs日志的路径为/log/es-log

path.logs: /log/es-log

#设置内存不使用交换分区

bootstrap.memory_lock: false

#配置了bootstrap.memory_lock为true时反而会引发9200不会被监听,原因不明

#设置允许所有ip可以连接该elasticsearch

network.host: 0.0.0.0

#开启监听的端口为9200

http.port: 9200

#增加新的参数,为了让elasticsearch-head插件可以访问es (5.x版本,如果没有可以自己手动加)

http.cors.enabled: true

http.cors.allow-origin: "*"

cluster.initial_master_nodes: ["node-1"]

6、启动elasticsearch

systemctl start elasticsearch

7、查看状态

systemctl status elasticsearch

8、设置开机启动

systemctl enable elasticsearch

9、启动成功之后,测试服务是否开启

curl -X GET http://localhost:9200

三、安装ElasticSearch-Head插件

1、yum install epel-release 2、yum install nodejs npm git

3、下载elasticsearch-head

git clone git://github.com/mobz/elasticsearch-head.git

cd elasticsearch-head

npm install

npm run start

4、修改es-head的localhost地址

cd /usr/local/src/elasticsearch-head/

vim Gruntfile.js

5、修改head的连接地址

vim _site/app.js

6、启动elasticsearch-head

./node_modules/grunt/bin/grunt server &

7、浏览器访问:http://192.168.2.251:9100

四、 安装logstash

1、rpm -ivh logstash-7.10.2-x86_64.rpm

2、设置data的目录

mkdir -p /data/ls-data

chown -R logstash:logstash /data/ls-data

3、设置log的目录

mkdir -p /data/ls-log

chown -R logstash:logstash /data/ls-log

4、设置conf.d的目录,创建配置文件

cd /etc/logstash

#创建conf.d的目录

mkdir conf.d

cd conf.d

vim logstash.conf

input {

beats {

port => 5044

codec => plain {

charset => "UTF-8"

}

}

}

filter{

if [type] == "log" {

grok {

match => { "message" => "(%{TIMESTAMP_ISO8601:logdatetime} %{LOGLEVEL:level} %{GREEDYDATA:logmessage})|%{GREEDYDATA:logmessage}" }

remove_field => [ "message" ]

}

date {

timezone => "Asia/Shanghai"

#match => ["logdatetime", "yyyy-MM-dd HH:mm:ss,SSS", "ISO8601"]

match => ["logdatetime", "dd-MM-yyyy HH:mm:ss,SSS", "ISO8601"]

remove_field => [ "logdatetime" ]

target => "time"

}

}

}

output {

if [fields][services] == "jenkins" {

#stdout { codec => rubydebug }

elasticsearch {

hosts => ["localhost:9200"]

index => "jenkins-%{+YYYY.MM.dd}" # 注意index不能包含大写字母,否则报错

}

}

}

 5、修改配置文件logstash.yml

vim /etc/logstash/logstash.yml

# 设置数据的存储路径为/data/ls-data

path.data: /data/ls-data



# 设置管道配置文件路径为/etc/logstash/conf.d

path.config: /etc/logstash/conf.d



# 设置日志文件的存储路径为/log/ls-log

path.logs: /data/ls-log

 6、启动logstash

systemctl start logstash

查看

systemctl status logstash

设置开机启动

systemctl enable logstash

8、测试logstash

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit

9、logstash指定配置进行运行

nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf &

五、kibana安装

1、rpm -ivh kibana-7.10.2-x86_64.rpm

2、修改kibana的配置文件

vim /etc/kibana/kibana.yml

3、启动kibana

systemctl start kibana

查看状态

systemctl status kibana

4、设置开机启动

systemctl enable kibana

5、访问192.168.2.251:5601

六、安装filebeat

1、yum localinstall -y filebeat-7.10.2-x86_64.rpm

2、编辑filebeat.yml文件

vim /etc/filebeat/filebeat.yml

filebeat.inputs:

- type: log

enabled: true

paths:

- /usr/local/tomcat/logs/ca*.log

ignore_older: 2h

multiline.pattern: '^\s*(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})'

multiline.negate: true

multiline.match: after

multiline.timeout: 10



fields:

services: jenkins

2、启动kibana

systemctl start filebeat

查看状态

systemctl status filebeat

3、设置开机启动

systemctl enable filebeat

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三颗草丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值