ELK安装使用
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.pngsudo 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.pngsudo systemctl start logstash.service
4.2elasticsearch 安装
image.pngrpm --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.pngsudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
image.png4.3Elk源码安装
官网下载源码:三个都要下载
用非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.pnginput {
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.pngimage.png
image.png
image.png
7.结束
留下一个 image.png代表我一直在进步~~ 愿大家生活快乐~myall