前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住给大家分享一下。点击跳转到网站:https://www.captainai.net/dongkelun
前言
本人新手,本文记录简单的ELKB单机部署,ELKB分别指elasticsearch、logstash、kibana、filebeat,用的当前官网最新版本7.2.0,日志用的Nginx产生的日志。
Nginx可以参考我这篇:Nginx 安装配置,我本次用的Nginx和这篇文章是一样的,包括前端。
环境:Centos7 先将常用环境配置好(CentOS 初始环境配置),jdk版本为1.8
1、安装包
下载地址:https://www.elastic.co/cn/downloads/
1 | wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz |
2、解压
1 | tar -xzf elasticsearch-7.2.0-linux-x86_64.tar.gz |
3、创建elk用户
elasticsearch和kibana 要求以非root用户启动,不信可以自己试试~1
2
3
4groupadd elk
useradd elk -g elk
chown -R elk:elk elasticsearch-7.2.0
chown -R elk:elk kibana-7.2.0-linux-x86_64
4、elasticsearch
创建数据和日志文件夹,并修改权限1
2mkdir -pv /data/elk/{data,logs}
chown -R elk:elk /data/elk/
4.1 修改配置文件
1 | vim elasticsearch-7.2.0/config/elasticsearch.yml |
1 | path.data: /data/elk/data |
其他配置项根据自己需求修改
4.2 启动
1 | su - elk |
查看启动日志,看是否有异常,如果有,根据提示修改1
tail -f nohup.out
测试,如下证明启动成功1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18$ curl 127.0.0.1:9200
{
"name" : "ambari.master.com",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "WlKMJOBcTduH9FGLKj7N2w",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
5、logstash
root下
1 | cd logstash-7.2.0/ |
1 | cp config/logstash-sample.conf ./ |
可以自己看一下这个配置文件里的内容,根据自己的需求修改,本次使用默认
1 | nohup bin/logstash -f logstash-sample.conf & |
看一下启动日志是否成功
6 kibana
1 | su - elk |
1 | vim config/kibana.yml |
修改host,这样可以在其他机器上的浏览器,用ip+端口去访问kibana1
server.host: "0.0.0.0"
启动,Kibana也不能用root用户启动
1 | nohup bin/kibana & |
在浏览器里,输入yourip:5601 访问成功即代表启动成功
7 filebeat
root下1
cd filebeat-7.2.0-linux-x86_64
下面主要是将filebeat.inputs的enabled改为true,paths改为需要采集的日志文件,这里使用的Nginx的日志,然后将output.elasticsearch注释掉,output.logstash打开,也就是用filebeat将日志采集传给logstash,然后再由logstash传给elasticsearch,而不是默认的直接传,注意:当然还有其他默认的注释的我没有贴出来
1 | filebeat.inputs: |
启动1
nohup ./filebeat -e -c filebeat.yml &
8 Kibana界面配置
启动好了之后,在浏览器里访问前端页面(Nginx作为服务器),这样使Nginx产生访问日志,之后再按下面图片的顺序进行操作
点击Discover
如果配置正确,并且有Nginx日志产生,那么就会出现如标1的显示,然后再按步骤填写2,出现3,再点击4~
再点击Discover,就会看到Nginx的日志了
9、追加日志数据源
创建新的测试日志,当然你有现成的日志文件,比如后端Springboot的日志,可以直接用这个文件就可以了1
2
3mkdir -p /data/test/log
echo 'test1' >> /data/test/log/test.log
echo '测试中文' >> /data/test/log/test.log
然后修改filebeat的配置文件,添加第二个数据源1
2
3
4
5- type: log
enabled: true
paths:
- /data/test/log/*.log
然后重启filebeat,再刷新kibana,即可看到新的日志
到此,顺利完成了简单的第一步,后续可以自己个性化修改配置等,等我学习有了进展,再更新~