ELK日志平台-单机版部署手册

ELK日志集中采集部署手册

目录

ELK日志集中采集部署手册

一、部署基础说明

二、系统环境优化

1.设置内核参数

2.设置资源参数

3.设置进程数

4.重启服务器

三、部署ELK服务

1.创建elk用户

2.部署jdk服务

​编辑

3.部署Elasticsearch服务

4.部署Logstash服务

5.部署kibana服务

四、部署组件服务

1.部署filebeat服务

2.部署redis服务

五、部署问题

1.ES问题

2.Logstash问题

3.Kibana问题

4.Filebeat问题

六、知识详解

1.filebeat服务


一、部署基础说明


1.部署在非root用户下
注意:/home/elk用户下文件的权限问题
2.要求JDK版本1.8以上
3.服务器防火墙处于关闭状态
防火墙:
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld

4.部署组件清单

组件名称组件版本备注
elasticsearchelasticsearch-7.8.0-linux-x86_64.tar.gz
logstashlogstash-7.8.0.tar.gz
kibanakibana-7.8.0-linux-x86_64.tar.gz
filebeatfilebeat-7.8.0-linux-x86_64.tar.gz
redisredis-6.2.14.tar.gzredis最好是3.0版本以上
jdkjdk1.8.0_201.tar.gzjdk版本需要1.8及以上

二、系统环境优化


1.设置内核参数


目的:确保系统有足够的资源启动ES
路径:vi /etc/sysctl.conf 
配置:#增加以下参数 
vm.max_map_count=655360
fs.file-max=655360
vm.swappiness=0

确保配置生效
sysctl -p
备注:swappiness参数值可设置范围在0到100之间。低参数值    会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。

2.设置资源参数


目的:修改最大文件打开数量
路径:vi /etc/security/limits.conf 
配置:#增加以下参数 
* soft nofile 65536 
* hard nofile 131072 
* soft nproc 65536 
* hard nproc 131072
* soft memlock unlimited
* hard memlock unlimited

3.设置进程数


目的:修改进程数
路径:vi /etc/security/limits.d/20-nproc.conf 
配置:#设置elk用户参数 (本地线程数)
elk soft nproc 65536

4.重启服务器

命令:reboot

三、部署ELK服务


1.创建elk用户


创建elk用户和组
useradd elk #创建用户elk 
groupadd elk #创建组elk 
useradd -d /home/elk elk -g elk #将用户添加到组

2.部署jdk服务


2.1.上传jdk安装包
将jdk1.8.0_201.tar.gz上传到/home/elk用户下

2.2.解压jdk安装包
命令:tar zxvf jdk1.8.0_201.tar.gz
2.3.添加jdk环境变量
命令:vi /home/elk/.bashrc
添加如下参数:
export  JAVA_HOME=/home/elk/jdk1.8.0_201
export  JRE_HOME=$JAVA_HOME/jre
export  CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使环境变量生效:source  ~/.bashrc

2.4.检查jdk环境
命令:java -version
出现如下提示,则代表安装成功

3.部署Elasticsearch服务


3.1.上传ES安装包
将elasticsearch-7.8.0-linux-x86_64.tar.gz上传到/home/elk用户下

3.2.解压ES安装包
命令:tar zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz 
3.3.创建es相关目录
mkdir /home/elk/es
mkdir /home/elk/es/data
mkdir /home/elk/es/logs
3.4.修改elasticsearch配置文件
命令:vi elasticsearch-7.8.0/config/elasticsearch.yml

# 修改的内容
cluster.name: elasticsearch
node.name: node-1
node.master: true
node.data: true
cluster.initial_master_nodes: ["node-1"]
path.data: /home/elk/es/data
path.logs: /home/elk/es/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 10.62.196.19
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.62.196.19"]
http.cors.enabled: true
http.cors.allow-origin:"*"

3.5.修改JVM堆大小

备注:此处修改可以根据服务器cpu内存来按需分配

命令:vim /home/elk/elasticsearch-7.8.0/config/jvm.options
-Xms1g   ----修改成 -Xms2g
-Xmx1g   ----修改成 -Xmx2g

3.6.启动elasticsearch服务
命令:cd  /home/elk/elasticsearch-7.8.0/bin
后台启动:./elasticsearch  -d  
查看elasticsearch进程: ps -ef | grep elastic

关闭elasticsearch进程:kill  -9  pid

3.7.访问ES服务
浏览器输入:http://10.62.196.19:9200
显示如下截图则代表启动成功

4.部署Logstash服务


4.1.上传logstash安装包
将logstash-7.8.0.tar.gz上传到/home/elk用户下

4.2.解压logstash安装包
命令:tar zxvf logstash-7.8.0.tar.gz
4.3.创建logstash相关目录
mkdir /home/elk/logstash
mkdir /home/elk/logstash/data
mkdir /home/elk/logstash/logs
4.4.修改logstash配置
命令:vi /home/elk/logstash-7.8.0/config/logstash.yml 
#新增如下内容
path.data: /home/elk/logstash/data
path.logs: /home/elk/logstash/logs

4.5.创建input-fitel-output.conf 文件
备注:本文以filebeat-mall.conf文件为例
路径:/home/elk/logstash-7.8.0/config
创建filebeat-mall.conf文件,内容如下:
##########从redis中取日志输入到ES#############
input{
    redis {
        host => "10.8.192.103"
        port => "6379"
        db => "10"
        key => "filebeat"
        data_type => "list"
        password => "123456"
    }
    redis {
        host => "10.8.192.103"
        port => "6379"
        db => "10"
        key => "filebeat-provider"
        data_type => "list"
        password => "123456"
    }
}
 
output {
        if "tomcat-config" in [tags] {
            elasticsearch {
                hosts => "10.8.192.103:9200"
                index => "tomcat-config-%{+YYYY.MM.dd}"
            }
        }
        if "tomcat-mall-api" in [tags] {
            elasticsearch {
                hosts => "10.8.192.103:9200"
                index => "tomcat-mall-api-%{+YYYY.MM.dd}"
            }
        }
        if "tomcat-mall-backend" in [tags] {
            elasticsearch {
                hosts => "10.8.192.103:9200"
                index => "tomcat-mall-backend-%{+YYYY.MM.dd}"
            }
        }
        if "tomcat-provider" in [tags] {
            elasticsearch {
                hosts => "10.8.192.103:9200"
                index => "tomcat-provider-%{+YYYY.MM.dd}"
            }
        }
 }


检查文件是否正确:cd /home/elk/logstash-7.8.0/bin
命令:./logstash -f ../config/logstash-mall.conf -t
出现Configuration OK 则代表文件格式正确。

4.6.启动logstash服务
启动logstash:cd /home/elk/logstash-7.8.0/bin
./logstash -f ../config/pdr-business.conf &

4.7.查询logstash进程

命令: ps -ef | grep logstash

5.部署kibana服务


5.1.上传kibana安装包
将kibana-7.8.0-linux-x86_64.tar.gz上传到/home/elk用户下

5.2.解压kibana安装包
命令:tar  zxvf   kibana-7.8.0-linux-x86_64.tar.gz
5.3.修改kibana.yml文件
路径:/home/elk/kibana-7.8.0-linux-x86_64/config
命令:vi kibana.yml
#修改如下内容
i18n.locale: "zh-CN"
server.port: 5601
server.host: "10.62.196.19"     #kibana本机的地址
elasticsearch.hosts: "http://10.62.196.19:9200"  #ES主节点地址+端口
kibana.index: ".kibana"

5.4.启动kibana服务
路径:cd  /home/elk/kibana-7.8.0-linux-x86_64/bin
前台启动: ./kibana
后台启动: ./kibana &
查询kibana进程,kibana是node服务,需要根据进程号来查询服务。
命令:netstat -lntp | grep 5601  &&  ps -ef | grep 3085

5.5.访问kibana服务
浏览器输入:http://10.62.196.19:5601/


四、部署组件服务


1.部署filebeat服务


1.1.上传filebeat安装包
将filebeat-7.8.0-linux-x86_64.tar.gz上传到/usr/local用户下

1.2.解压filebeat安装包
命令:tar xzvf filebeat-7.8.0-linux-x86_64.tar.gz
1.3.创建filebeat-mall.yml文件
路径:cd /usr/local/filebeat-7.8.0-linux-x86_64
创建filebeat-mall.yml文件,内容如下:
##########tomcat日志输入到redis#############
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/2-tomcat/1-tomcat-config/logs/catalina.out
  tags: ["tomcat-config"]
  exclude_lines: ['^T2LOG']
  multiline.pattern: '^\\d{4}-\\d{2}-\\d{2}'
  multiline.negate: true
  multiline.match: after 
- type: log
  enabled: true
  paths:
    - /usr/local/2-tomcat/9-tomcat-mall-api/logs/catalina.out
  tags: ["tomcat-mall-api"]
  exclude_lines: ['^T2LOG']
  multiline.pattern: '^\\d{4}-\\d{2}-\\d{2}'
  multiline.negate: true
  multiline.match: after
- type: log
  enabled: true
  paths:
    - /usr/local/2-tomcat/10-tomcat-mall-backend/logs/catalina.out
  tags: ["tomcat-mall-backend"]
  exclude_lines: ['^T2LOG']
  multiline.pattern: '^\\d{4}-\\d{2}-\\d{2}'
  multiline.negate: true
  multiline.match: after  
output.redis:
  hosts: ["10.62.196.19:6379"]
  key: "filebeatmall"
  password: "123456"
  db: 10
备注:缩进是2个空格
检查文件是否正确:cd /usr/local/filebeat-7.8.0-linux-x86_64
命令:./filebeat  test config -c filebeat-mall.yml 
出现Config OK 则代表文件格式正确。

1.4.启动filebeat服务
命令:./filebeat -e -c filebeat-mall.yml &

2.部署redis服务


2.1.上传redis安装包
将redis-6.2.14.tar.gz上传到/home/elk用户下

2.2.解压redis安装包
命令:tar xzvf redis-6.2.14.tar.gz
2.3.编译与安装redis
路径:cd /home/elk/redis-6.2.14
编译命令:make 
初始化命令:cd  /home/elk/redis-6.2.14/src/  && sudo make install
备注:需要将elk用户先假如到/etc/sudoer下。
切换到root用户下:ll  /etc/sudoers
赋权:chmod u+w /etc/sudoers
编辑: vi /etc/sudoers
root    ALL=(ALL)       ALL
elk  ALL=(ALL)       ALL
截图如下:

赋权:chmod 440 /etc/sudoers
2.4.修改redis.conf配置
命令:vi redis-6.2.14/redis.conf
修改如下内容:
daemonize yes
bind 0.0.0.0
requirepass  123456
2.5.启动redis服务

五、部署问题


1.ES问题


问题1:
问题描述:启动./elasticsearch 服务报错,报错日志如下:
future versions of Elasticsearch will require Java 11; your Java version     from [/usr/java/jdk1.8.0_201/jre] does not meet this     requirement
问题原因:系统环境jdk1.8版本低于es要求的版本jdk1.11
解决办法:编辑/home/elk/elasticsearch-7.8.0/bin/elasticsearch-env文件,    屏蔽红色框中内容。

2.Logstash问题


问题1:
问题描述:pdr-business.conf文件中索引    "pdr-business-%{+YYYY.MM.dd}"    无法在ES中自动创建。
问题原因:因为第一次启动logstash之后,会默认创建一个logstash的索引在/home/elk/logstash/data/plugins/inputs/file文件夹中有隐藏的文    件(红色框中的文件),如下图所示

解决办法:需要将file文件删除,重新创建file文件,重新启动logstash。

3.Kibana问题


问题1:
问题描述:


4.Filebeat问题


问题1:
问题描述:执行./filebeat  test config -c filebeat-mall.yml 时报错。报错信    息如下:Exiting: error loading config file: config file ("filebeat-mall.yml") can     only be writable by the owner but the permissions are "-rwxrwxrwx" (to fix     the permissions use: 'chmod go-w       /usr/local/filebeat-7.8.0-linux-x86_64/filebeat-mall.yml')
问题原因:filebeat-mall.yml文件权限有其他用户写的权限。
解决办法:chmod  755 filebeat-mall.yml

六、知识详解


1.filebeat服务


1.1.filebeat.yml配置参数说明
 

  • 31
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

股市过客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值