0


elk 部署全过程详细

环境配置要求:

组件安装包软件名称与版本功能Java程序编译运行组件JDK 1.8.0_211程序编译运行组件elasticsearch7.1.1日志存储ik7.1.1ik分词器kibana7.1.1日志数据图形化展示logstash7.1.1日志处理filebeat7.1.1日志采集
注:elasticsearch、logstash、kibana、filebeat、ik安装的版本号必须全部一致。
.

一. 安装elasticsearch

  1. 创建es安装路径
mkdir -p /data/nusp/es/{data,logs}
  1. 创建esUser用户
useradd esUser
chown -R esUser:esGroup /data/nusp/es
  1. root权限编辑 vim配置文件/etc/security/limits.conf,最后面添加以下四行数据
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
  1. vim配置文件/etc/sysctl.conf,加入以下内容
vm.overcommit_memory =1 
vm.max_map_count=655360
  1. 执行sysctl -p使配置生效
sysctl -p
  1. 上传es安装包到es目录下,并解压
cd /data/nusp/es
tar -zxvf elasticsearch-7.1.1-linux-x86_64.tar.gz
  1. 修改配置文件,进入es安装目录config目录下,修改elasticsearch.yml文件
vim /data/nusp/es/elasticsearch-7.1.1/config/elasticsearch.yml

cluster.name: elkbdp-cluster #集群名称
node.name: elk          #节点名称
cluster.initial_master_nodes: ["elk"]#主节点信息
path.data: /data/nusp/es/data       #数据存放路径
path.logs: /data/nusp/es/logs       #日志存放路径
bootstrap.memory_lock: false   
bootstrap.system_call_filter: false
network.host: 0.0.0.0                #所有ip可以访问,
discovery.seed_hosts: ["192.168.11.11","192.168.11.12","192.168.11.13"]#输出至elasticsearch服务器
discovery.zen.minimum_master_nodes: 2#最多有几个可参与主节点选举
http.cors.enabled: true
http.max_initial_line_length: "1024k"
http.max_header_size: "1024k"
  1. 修改jvm.options文件
cd /data/nusp/es/elasticsearch-7.1.1/config/
vim jvm.options

-Xms4g
-Xmx4g
  1. ik分词器安装****将准备好的ik分词器安装包解压后将文件复制到 es的安装目录/plugins/ik下面即可,没有目录则自行创建目录,目录文件夹下不能有其他东西。
  2. 启动es服务,进入es的安装目录/bin下执行(后台启动,无任何错误表示启动完成,此时通过访问http://ip:9200即可)。
./elasticsearch -d
  1. 测试es服务,在浏览器中输入http://ip:9200回车,启动成功就会显示如下页面。

在这里插入图片描述
.

二. 配置 TLS 和身份验证

以下步骤在一台master上执行即可

  1. 生成CA证书
cd /data/nusp/es/elasticsearch-7.1.1/bin

./elasticsearch-certutil ca        # 两次回车
./elasticsearch-certutil cert --ca elastic-stack-ca.p12        # 三次回车
  1. 赋予权限(并把证书文件 elastic-certificates.p12 复制到其他master节点并赋予权限)。
mkdir /data/nusp/es/elasticsearch-7.1.1/config/certs
mv elastic-*.p12 config/certs/
chown -R elsearch:elsearch config/certs/
  1. 修改配置文件(将所有master配置文件添加ssl)
vim /data/nusp/es/elasticsearch-7.1.1/config/elasticsearch.yml

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate        # 证书认证级别
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
  1. 重启 elasticsearch
kill -9 10086
./elasticsearch -d
  1. 设置默认密码(输入y,分别设置 elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user账号的密码,我这里为了方便都输入统一密码10086)
bin/elasticsearch-setup-passwords interactive
  1. 配置kibana,修改 kibana.yml 文件,加入用户名和密码参数(参照以下内容) .

三. 安装Kibana

  1. 上传es安装包到es目录下,并解压
cd /data/nusp/es
tar -zxvf kibana-7.1.1-linux-x86_64.tar.gz
  1. 修改Kibana配置文件,添加以下内容
vim /data/nusp/es/kibana-7.1.1-linux-x86_64/config/kibana.yml

server.port: 5601#修改绑定ip,使外部可以通过http访问
server.host: "0.0.0.0"##监听端口,可以不修改
elasticsearch.hosts: ["192.168.11.11","192.168.11.12","192.168.11.13"]
elasticsearch.username: "kibana"
elasticsearch.password: "10086"
  1. 启动kibana服务
 ./bin/kibana &
  1. 通过浏览器访问http://192.168.11.11:5601验证。![在这里插入图片描述](https://img-blog.csdnimg.cn/0930b18c282a4938b55a1fe37de59370.png)
  2. 登录后顺带验证刚才安装的分词器
POST /_analyze
{"text":"我是中国人"}
Ik分词器验证脚本
POST /_analyze
{"analyzer":"ik_max_word",
  "text":"我是中国人"}

在这里插入图片描述
.
在这里插入图片描述

.

四. 安装logstast

  1. 解压安装包,并授权安装目录
cd /data/nusp/es
tar -xzvf logstash-7.1.1.tar.gz
chown -R esUser:esUser logstash-7.1.1
  1. 修改logstash配置文件,在logstash-7.1.1目录下创建pipeline。 将logstash-sample.conf文件拷贝到pipeline该文件夹下,修改logstash-sample.conf中output中elasticsearch的地址。
cd /data/nusp/es/logstash-7.1.1/pipeline
mv /data/nusp/es/logstash-7.1.1/config/logstash-sample.conf .vim logstash-sample.conf

input {
  beats {
    port =>5044}}

filter {}

output {
    elasticsearch {
    hosts =>["192.168.11.11","192.168.11.12","192.168.11.13"]    
    index =>"logstash-dev-%{+YYYY.MM.dd}"
    user =>"elastic"
    password =>"10086"}
    stdout { codec => rubydebug }}
  1. 启动logstash服务,必须esUser用户下执行启动命令
su - esUser
cd /data/nusp/es/logstash-7.1.1/
./bin/logstash -f ./pipeline/logstash-gn.conf > /dev/null &
  1. 验证是否正常运行
cd /data/nusp/es/logstash-7.1.1/logs
tail -f logstash-plain.log

.

五. 安装filebeat

Filebeat部署在需要采集日志的节点上(如k8s中的master和node节点),由于当前收集的是root用户下的日志,因此filebeat在root用户下安装,否则需要用户具备对/var/log/messages文件以及/var/log/podlog目录的读取权限。

  1. 创建安装目录,上传并解压安装包
mkdir /data/nusp/es
  1. 解压安装包并重名为filebeat-7.1.1-host
tar xzvf filebeat-7.1.1-linux-x86_64.tar.gz
 mv filebeat-7.1.1-linux-x86_64 filebeat-7.1.1-host
  1. 解压安装包并重名为filebeat-7.1.1-pod
tar xzvf filebeat-7.1.1-linux-x86_64.tar.gz
mv filebeat-7.1.1-linux-x86_64 filebeat-7.1.1-pod
  1. 修改filebeat配置文件,将配置文件filebeat-nusplog.yml拷贝到/data/nusp/es/filebeat-7.1.1-pod目录下。将filebeat-hostlog.yml文件拷贝到/data/nusp/es/filebeat-7.1.1-host目录下,注意修改文件中logstash的地址和端口信息,与logstash保持一致,修改如下。在这里插入图片描述
  2. 启动filebeat服务并添加权限 这里启动了两个filebeat是因为有两个logstash,如果是一个logstash,启动一个filebeat就可以呢
cd /data/nusp/es/filebeat-7.1.1-host/
chmod644  filebeat-hostlog.yml
./filebeat -e -c filebeat-hostlog.yml -d publish &cd /data/nusp/es/filebeat-7.1.1-pod/
chmod644  filebeat-nusplog.yml
./filebeat -e -c filebeat-nusplog.yml -d publish &

整个流程即为 filebeat采集/var/log/messages和/var/log/podlog目录下的日志数据传输给logstash,logstash接收到数据后经过解析将数据发送给ES集群。

后续如果新增filebeat,则需要在filebeat配置文件中配置logstash地址,logstash配置文件中配置es集群的地址。

好了,elk的部署就到这里了,是不是很简单呢 (ง •̀_•́ง)


本文转载自: https://blog.csdn.net/qq_44539351/article/details/125114975
版权归原作者 春去春又来~ 所有, 如有侵权,请联系我们删除。

“elk 部署全过程详细”的评论:

还没有评论