Centos7 ELKB 7.2.0版本单机部署


前言

本人新手,本文记录简单的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/

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.2.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.2.0-linux-x86_64.tar.gz

2、解压

tar -xzf elasticsearch-7.2.0-linux-x86_64.tar.gz
tar -xzf logstash-7.2.0.tar.gz
tar -xzf kibana-7.2.0-linux-x86_64.tar.gz
tar -xzf filebeat-7.2.0-linux-x86_64.tar.gz

3、创建elk用户

elasticsearch和kibana 要求以非root用户启动,不信可以自己试试~

groupadd 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

创建数据和日志文件夹,并修改权限

mkdir  -pv  /data/elk/{data,logs}
chown -R elk:elk /data/elk/

4.1 修改配置文件

vim elasticsearch-7.2.0/config/elasticsearch.yml 
path.data: /data/elk/data
path.logs: /data/elk/logs

其他配置项根据自己需求修改

4.2 启动

su - elk
cd elasticsearch-7.2.0
nohup bin/elasticsearch &

查看启动日志,看是否有异常,如果有,根据提示修改

tail -f nohup.out

测试,如下证明启动成功

$ 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下

cd logstash-7.2.0/
cp config/logstash-sample.conf ./

可以自己看一下这个配置文件里的内容,根据自己的需求修改,本次使用默认

nohup bin/logstash -f logstash-sample.conf &

看一下启动日志是否成功

6 kibana

su - elk
cd kibana-7.2.0-linux-x86_64
vim config/kibana.yml 

修改host,这样可以在其他机器上的浏览器,用ip+端口去访问kibana

server.host: "0.0.0.0"

启动,Kibana也不能用root用户启动

nohup bin/kibana &

在浏览器里,输入yourip:5601 访问成功即代表启动成功

7 filebeat

root下

cd filebeat-7.2.0-linux-x86_64

下面主要是将filebeat.inputs的enabled改为true,paths改为需要采集的日志文件,这里使用的Nginx的日志,然后将output.elasticsearch注释掉,output.logstash打开,也就是用filebeat将日志采集传给logstash,然后再由logstash传给elasticsearch,而不是默认的直接传,注意:当然还有其他默认的注释的我没有贴出来

filebeat.inputs:
 # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/nginx/*.log
filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml

  # Set to true to enable config reloading
  reload.enabled: false

  # Period on which files under path should be checked for changes
  #reload.period: 10s

#==================== Elasticsearch template setting ==========================

setup.template.settings:
  index.number_of_shards: 1
  #-------------------------- Elasticsearch output ------------------------------
#output.elasticsearch:
  # Array of hosts to connect to.
 # hosts: ["localhost:9200"]

  # Optional protocol and basic auth credentials.
  #protocol: "https"
  #username: "elastic"
  #password: "changeme"

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]
# Configure processors to enhance or manipulate events generated by the beat.

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

启动

nohup  ./filebeat -e -c filebeat.yml &

8 Kibana界面配置

启动好了之后,在浏览器里访问前端页面(Nginx作为服务器),这样使Nginx产生访问日志,之后再按下面图片的顺序进行操作

Centos7 ELKB 7.2.0版本单机部署_第1张图片

点击Discover

Centos7 ELKB 7.2.0版本单机部署_第2张图片

如果配置正确,并且有Nginx日志产生,那么就会出现如标1的显示,然后再按步骤填写2,出现3,再点击4~
Centos7 ELKB 7.2.0版本单机部署_第3张图片
Centos7 ELKB 7.2.0版本单机部署_第4张图片
Centos7 ELKB 7.2.0版本单机部署_第5张图片
再点击Discover,就会看到Nginx的日志了
Centos7 ELKB 7.2.0版本单机部署_第6张图片

9、追加日志数据源

创建新的测试日志,当然你有现成的日志文件,比如后端Springboot的日志,可以直接用这个文件就可以了

mkdir -p /data/test/log
echo 'test1' >> /data/test/log/test.log
echo '测试中文' >> /data/test/log/test.log

然后修改filebeat的配置文件,添加第二个数据源

- type: log

  enabled: true
  paths:
    - /data/test/log/*.log

然后重启filebeat,再刷新kibana,即可看到新的日志
Centos7 ELKB 7.2.0版本单机部署_第7张图片

到此,顺利完成了简单的第一步,后续可以自己个性化修改配置等,等我学习有了进展,再更新~

二个数据源

- type: log

  enabled: true
  paths:
    - /data/test/log/*.log

然后重启filebeat,再刷新kibana,即可看到新的日志
[外链图片转存中…(img-XUna0yJo-1578485756426)]

到此,顺利完成了简单的第一步,后续可以自己个性化修改配置等,等我学习有了进展,再更新~

你可能感兴趣的:(大数据,elkb)