ELK+filebeat-亲测部署实践

ELK+filebeat企业级日志收集分析平台(非集群)

需要用到软件,

1、elasticsearch-6.5.4.tar.gz

2、kibana-6.5.4-linux-x86_64.tar.gz

3、logstash-6.5.4.tar.gz

4、phantomjs-2.1.1-linux-x86_64.tar.bz2

5、elasticsearch-head-master(es的插件)

6、filebeat-6.5.4-linux-x86_64.tar.gz

7、node-v10.19.0-linux-x64.tar.gz

8、jdk-8u231-linux-x64.tar.gz

elk+filebeat服务器配置
192.168.1.158es+logstash+kibana+jdk+node
192.168.1.10filebeat
192.168.1.18

filebeat

环境配置(如果连这都不会就不用往下看了)

1、先配置java环境

2、配置node环境

开始安装配置es

[root@elk ~]# mkdir  /usr/local/elk
[root@elk ~]# tar xf elasticsearch-6.5.4.tar.gz -C  /usr/local/elk/
[root@elk ~]# useradd es
[root@elk ~]# chown -R es:es /usr/local/elk/

[root@elk ~]# cd /usr/local/elk/elasticsearch-6.5.4/
[root@elk elasticsearch-6.5.4]# su es
[es@elk elasticsearch-6.5.4]$ cd config/
[es@elk config]$ vim elasticsearch.yml 
[es@elk config]$ cp elasticsearch.yml elasticsearch.yml_bck
[es@elk config]$ ls
elasticsearch.yml  elasticsearch.yml_bck  jvm.options  log4j2.properties  role_mapping.yml  roles.yml  users  users_roles
[es@elk config]$ vim elasticsearch.yml    在该文件中的最后添加以下内容

cluster.name: elk                              
node.name: elk                                 
node.master: true                              
node.data: true                        

path.data: /data/elasticsearch/data           
path.logs: /data/elasticsearch/logs            
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0                         
http.port: 9200                                
##discovery.zen.minimum_master_nodes: 2        
##discovery.zen.ping_timeout: 150s             
##discovery.zen.fd.ping_retries: 10           
http.cors.enabled: true                        
http.cors.allow-origin: "*"                

2、设置JVM大小

[es@elk config]$ vim jvm.options

----将

-Xms1g ----修改成 -Xms2g

-Xmx1g ----修改成 -Xms2g

3、创建ES数据及日志存储目录

[es@elk elk]$ mkdir -p /data/elasticsearch/data 

[es@elk elk]$ mkdir -p /data/elasticsearch/logs 

4、系统优化

(1)增加最大文件打开数

永久生效方法:
echo “* - nofile 65536” >> /etc/security/limits.conf

(2)增加最大进程数

[es@elk elk]$ vim /etc/security/limits.conf ---在文件最后面添加如下内容

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

3)增加最大内存映射数

[root@elk ~]# vim /etc/sysctl.conf

vm.max_map_count=262144

vm.swappiness=0

[root@elk ~]# sysctl -p

启动es,启动es允许root用户启动,否则会启动失败

[root@elk ~]# su es
[es@elk root]$ cd /usr/local/elk/elasticsearch-6.5.4/
[es@elk elasticsearch-6.5.4]$ nohup ./bin/elasticsearch &

浏览器上输入http://192.168.1.143:9200

9200与9300端口号的区别

9300端口: ES节点之间通讯使用,是TCP协议端口号,ES集群之间通讯端口号。

9200端口: ES节点和外部通讯使用,暴露接口端口号。浏览器访问时使用

 

下载安装es的head插件

[root@elk ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip

[root@elk ~]# cp master.zip /usr/local/elk/

[root@elk ~]# cd /usr/local/elk/
[root@elk elk]# unzip master.zip 
[root@elk elk]# cd elasticsearch-head-master/

安装grunt
[root@elk elasticsearch-head-master]# npm config set registry https://registry.npm.taobao.org        更换一个淘宝镜像
[root@elk elasticsearch-head-master]# npm install -g grunt-cli       安装grunt

[root@elk elasticsearch-head-master]# grunt --version
grunt-cli v1.3.2

修改head源码

[root@elk elasticsearch-head-master]# vim Gruntfile.js    查找9100,添加hostname: "192.168.1.143"  

 

下载head必要的文件

[root@elk elasticsearch-head-master]# mkdir /tmp/phantomjs/         先创建该目录

[root@elk elasticsearch-head-master]# cd  /tmp/phantomjs/             将必要文件放在该目录下,否则在安装时会重新下载或者下载失败

[root@elk phantomjs]# wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2              不要解压 

[root@elk phantomjs]# cd /usr/local/elk/elasticsearch-head-master/
[root@elk elasticsearch-head-master]# npm config set registry https://registry.npm.taobao.org  #先执行这条命令更换一个镜像

[root@elk elasticsearch-head-master]# npm install   直接这样安装会报错,如图

在这里插入图片描述

解决方法

[root@elk elasticsearch-head-master]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
报什么版本错就对应什么版本

启动head插件

[root@elk elasticsearch-head-master]# chown -R es:es /usr/local/elk/
[root@elk elasticsearch-head-master]# nohup grunt server &
检测,浏览器输入:http://192.168.1.143:9100

状态信息

Red,表示有主分片没有分配,某些数据不可用。

Yellow,表示主分片都已分配,数据都可用,但是有复制分片没有分配。

Green,表示主分片和复制分片都已分配,一切正常。

安装配置kibana

[root@elk ~]# tar xf kibana-6.5.4-linux-x86_64.tar.gz -C  /usr/local/elk/
[root@elk ~]# cd /usr/local/elk/kibana-6.5.4-linux-x86_64/
[root@elk kibana-6.5.4-linux-x86_64]# cd config/

server.port: 5601       kinaba对外服务的端口

server.host: "192.168.1.143"       kibana安装的主机ip

elasticsearch.url: "http://192.168.1.143:9200"        用来做查询的es节点的URL

kibana.index: ".kibana"      kibana在Elasticsearch中使用索引来存储保存

启动kibana

[root@elk ~]# chown -R es:es /usr/local/elk/kibana-6.5.4-linux-x86_64/

[root@elk ~]# chown -R es:es /usr/local/elk/kibana-6.5.4-linux-x86_64/
[root@elk ~]# su es
[es@elk root]$ cd /usr/local/elk/kibana-6.5.4-linux-x86_64/
[es@elk kibana-6.5.4-linux-x86_64]$ nohup ./bin/kibana &    放在后台启动

检测,在浏览器输入:http://192.168.1.143:5601

安装logstash

[root@elk ~]# tar xf logstash-6.5.4.tar.gz -C /usr/local/elk/
[root@elk ~]# cd  /usr/local/elk/logstash-6.5.4/

[root@elk logstash-6.5.4]# cd  config/

[root@elk config]# vim logstash-filebeat.conf        配置接收日志并输出到es

input {
  beats {
    port => 5044               logstash的服务端口
  }
}

output {
if "test-01-cs" in [tags] {                   判断filebeat的标签并输出到es中创建索引
    elasticsearch{
      hosts => ["http://localhost:9200"]
      index => "test-01-cs"
      document_type => "log"
      manage_template => false
    }
  }
if "test-02-cs" in [tags] {
    elasticsearch{
      hosts => ["http://localhost:9200"]
      index => "test-02-cs"
      document_type => "log"
      manage_template => false
    }
  }
}

[root@elk ~]# chown -R es:es /usr/local/elk/

启动logstash
[root@elk ~]# su es
[es@elk root]$ cd /usr/local/elk/logstash-6.5.4/
[es@elk logstash-6.5.4]$ nohup ./bin/logstash -f config/logstash-filebeat.conf &

 

搭建配置filebeat     192.168.1.10      192.168.1.18

[root@hgd-tserver01 ~]# tar xf filebeat-6.5.4-linux-x86_64.tar.gz -C /usr/local/elk/

[root@hgd-tserver01 ~]# cd /usr/local/elk/filebeat-6.5.4-linux-x86_64/
[root@hgd-tserver01 filebeat-6.5.4-linux-x86_64]# vim filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /home/admin/logs/hanguda/hanguda.log         要收集的日志路径
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 3
tags: ["test-01-cs"]                为收集到的日志打成一个标签
setup.kibana:
output.logstash:
  hosts: ["192.168.1.143:5044"]           将收集到的日志输出到 logstash中
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
 

启动filebeat

[root@hgd-tserver01 filebeat-6.5.4-linux-x86_64]# nohup ./filebeat -c filebeat.yml &
查看es中有没有出先自动创建的索引

浏览器输入  http://192.168.1.143:9100 进行查看

进入kibana中进行创建索引

至此,elk+filebeat创建完成

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值