ELK安装使用

2021-05-12  本文已影响0人  小李子

1.场景

前一段时间,程序使用了微服务架构,日志查询管理显得不太方便。

2.elk基础了解

那么,ELK 到底是什么呢? “ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。

Elastic Stack 是 ELK Stack 的更新换代产品。

3.elk测试服务器硬件

阿里云服务器


image.png

2核4G硬盘大小50G(事实上我感觉这个配置用来测试还好,但是用到正式环境就是车祸现场,正式环境还是集群安全点~~)

4.安装elk(参考官网安装方法)

4.1logstash安装
image.png

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

vim /etc/yum.repos.d/logstash.repo

[logstash-7.x]

name=Elastic repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

image.png

sudo systemctl start logstash.service

4.2elasticsearch 安装
image.png

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch]

name=Elasticsearch repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=0

autorefresh=1

type=rpm-md

sudo yum install --enablerepo=elasticsearch elasticsearch

image.png

sudo systemctl start elasticsearch.service

sudo systemctl stop elasticsearch.service

image.png
4.3Elk源码安装

官网下载源码:三个都要下载

https://www.elastic.co/cn/

用非root用户解压文件。然后启动

./elasticsearch -d

ps aux|grep elasticsearch

ps -ef|grep kibana

ps -ef|grep 5601

都找不到

尝试 使用 fuser -n tcp 5601

kill -9 端口

ps -ef|grep node 或 netstat -anltp|grep 5601

启动即可 ./kibana

后台:

nohup kibana &

4.4 安装完毕后,直接进入kibana前端网页

进入这个页面之前还需要一些设置,这个需要自己去弄了。


image.png

5.将日志写入elk中

java 日志使用log4j2


image.png
image.png

logstash配置文件配置

image.png

input {
tcp {
port => 10001
tags => ["psi-dev"]
codec => plain
}
tcp {
port => 10002
tags => ["psi-sit"]
codec => plain
}
tcp {
port => 10003
tags => ["psi-prod"]
codec => plain
}
tcp {
port => 9600
tags => ["all"]
codec => plain
}
gelf {
port => 10004
tags => ["gelfTest"]
codec => plain
}
}
filter {
}
output {
if "psi-dev" in [tags] {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "psi-dev-%{+YYYY-MM-dd}"
}
}else if "psi-sit" in [tags] {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "psi-sit-%{+YYYY-MM-dd}"
}
}else if "psi-prod" in [tags] {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "psi-prod-%{+YYYY-MM-dd}"
}
}else if "all" in [tags] {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "logstash-%{+YYYY-MM-dd}"
}
}else if "gelfTest" in [tags] {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "gelfTest-%{+YYYY-MM-dd}"
}
}
}

6.最后成果

image.png
image.png
image.png
image.png

7.结束

留下一个 image.png

代表我一直在进步~~ 愿大家生活快乐~myall

上一篇下一篇

猜你喜欢

热点阅读