ELK的搭建和Hello world
背景:
按照《ELK Stack权威指南 第二版》的指导,完成安装。但发现书中有不清晰的地方,并且代码有错误。经过排查,终于把环境搭好。
安装ELK 5.x
ELK是三个开源工具的简称,并非是一个软件。
官网已经升级到8.x,为了避免出现问题,需要保持5.x为好。
安装JDK
我安装的是是5.x。所以使用jdk1.8即可
添加ELK的yum源
# 导入证书
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# 添加5.x yum源
sudo cat > /etc/yum.repos.d/elk.repo <<EOF
[logstash-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
安装ELK
yum install elasticsearch
yum install logstash
yum install kibana
logstash:helloworld
按照书本说,执行如下命令。
logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
但是 command not found...
实际上应该是安装后,logstash没有加到环境变量中去,应该要找到安装目录并指定logstash完整路径
# 找到logstash安装路径
[root@localhost dyq94310]# whereis logstash
logstash: /etc/logstash /usr/share/logstash
# 输出hello world
[root@localhost dyq94310]# /usr/share/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
结果:logstash的hello world正常输出
ELK:Hello world
logstash
日志收集器已经可以出入hello world。但我们要把日志发送到elasticsearch
做搜索,并使用kebana
做可视乎的展示
logstash.conf连接elasticsearch
创建logstash的配置文件logstash.conf,指定elasticsearch的ip
mkdir -p /home/dyq94310/app/elk/
cat > /home/dyq94310/app/elk/logstash.conf <<EOF
input {
stdin { }
}
output {
stdout {
codec => rubydebug {}
}
elasticsearch {
hosts=>["127.0.0.1"]
}
}
EOF
坑:原书logstash.conf 第12行 ,原书
hosts
写成了Rost
。。。需要改过来https://elasticsearch.cn/?/question/3250
启动E、K
# 启动EK
service elasticsearch start
service kibana start
# 查看状态
systemctl status elasticsearch.service
systemctl status kibana
logstash启动,并发送hello world
# 启动logstash
/usr/share/logstash/bin/logstash -f logstash.conf
在concole输入hello world
如果遇到重连,需要看elasticsearch的状态,是否正常启动systemctl status elasticsearch.service
我这里是内存不够了。。。。。。
kibana控制台显示hello world
访问127.0.0.1:5601
,即可看到我们的hello world
至此ELK就搭建好了,使用部分还么深入了解。待日后补充。但《ELK Stack权威指南 第二版》翻译有点难懂,打算弃坑了。