elastic-stack部署——ELK

#elasticsearchi7.8.0 集群部署设置

1.节点属性设置

node.master:true  #是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master.
node.data:true #指定该节点是否存储数据,默认为true。
#以上两个都设置为false则为分发节点。

index.number_of_shards:5  #设置默认索引分片个数,默认为5片。
index.number_of_replicas:1 #设置默认索引副本个数,默认为1个副本。

discovery.type: single-node #单节点则需要加入此参数

2. vim /etc/sysctl.conf

vm.max_map_count=262144

$修改后执行 sysctl -p

3. vim /etc/security/limits.conf

*  soft nofile 65536 
*  hard nofile 131072 
*  soft nproc 2048 
*  hard nproc 4096

4.启动(非root用户启动)

cd bin 

./elasticsearch 或 ./elasticsearch -d #后台启动

 

#filebeat7.8.0部署

1.解压

mkdir /beats #解压到此目录
tar -xvf filebeat-7.8.0-linux-x86_64.tar.gz 
cd filebeat-6.5.4-linux-x86_64

2. 创建配置文件config.yml

vim config.yml #创建文件
#配置如下 filebeat.inputs:
- type: log enabled: true #是否启用此配置 paths: - /home/soft/nginx/logs/*.log tags: ["nginx"] #添加自定义tag。 fields: #添加自定义字段 log_source: xing #字段名:值
host_ip: ${serverIP} #传递本机IP,需要设置环境变量
fields_under_root: true #true为添加到根节点,false为添加到子节点中

- type: log
paths: #日志2
- /home/soft/nginx/logs/*.log
tags: ["web"] #添加自定义tag。
fields: #添加自定义字段,键值自定义
log_source: app #字段名:值
fields_under_root: true #true为添加到根节点,false为添加到子节点中

processors:
  - drop_fields:    #删除字段
      fields: ["beat.hostname","input.type"]
setup.template.settings: 
  index.number_of_shards: 3 #指定索引的分区数
output.elasticsearch: #指定ES的配置 hosts: ["192.168.164.138:9200","192.168.1.7:9201"]

 output.logstash:
  hosts: ["192.168.164.141:5044"]

#output.console: #输出到控制台
#  pretty: true 
#  enable: true

3.启动filebeat

./filebeat -e -c config.yml

 

 #部署Metricbeat收集系统指标

1.解压

tar -zxvf metricbeat-7.8.0-linux-x86_64.tar.gz
cd metricbeat-7.8.0-linux-x86_64

2.创建配置文件

vim metricbeat.yml #配置与elasticsearch通信
output.elasticsearch: hosts: [
"192.168.164.138:9200","192.168.164.139:9200"]

3.(开启/关闭)监控模块

./metricbeat modules list #查看模块列表

./metricbeat modules enable mysql #开启模块

.
/metricbeat modules disenable mysql #关闭模块

./metricbeat -e #启动

 4.进入modules.d目录可以修改各模块的配置

 

 # Logstash接收日志

1.解压

tar -zxvf logstash-7.8.0.tar.gz
cd logstash-7.8.0

2.创建配置文件

vim config.conf

input { beats { port
=> "5044" } } filter {
#正则匹配
grok {
match =>  ["message","%{DATA:service}\|%{DATA:logtime}\|%{DATA:job}\|%{DATA:key}\|%{DATA:operator}$"]
}
date {
match => ["logtime", "yyyy-MM-dd HH:mm:ss"]
locale => "en"
target => [ "@timestamp" ] #日志中的时间替换掉@timestamp字段默认的时间
timezone => "Asia/Shanghai"
#删除不要的字段
remove_field => ["logtime","message","[beat][version]","[beat][name]","offset","prospector","tags","source"]
}
  mutate {
    split => {"message"=>"|"}
  }
  mutate {
    add_field => {
      "userId" => "%{message[1]}" 
      "visit" => "%{message[2]}" 
      "date" => "%{message[3]}" 
    }
  }
#设置字段类型 mutate { convert
=> { "userId" => "integer" "visit" => "string"
"date" => "string" } } } output { elasticsearch { hosts => ["192.168.40.133:9200","192.168.40.134:9200","192.168.40.135:9200"] } }
#标准输出
output {
stdout {
codec => rubydebug
}
}

#测试是否可以正常启动
bin/logstash -f xing-config.conf --config.test_and_exit #启动 .
/bin/logstash -f config.conf

 #kibana 部署

1.解压

tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz

2.设置配置文件

cd kibana/config/
vim config/kibana.yml

server.host: "192.168.164.141" #配置本机ip

elasticsearch.hosts: "http://192.168.164.140:9200" #配置elasticsearch的ip,必须加协议类型

3.启动服务(非root用户启动)

cd kibana/bin

./kibana

http://ip:5601 #访问

 #metricbeat仪表盘

#修改metricbeat目录下面的metricbeat.yml配置 
setup.kibana: 
  host: "192.168.1.7:5601" 
#安装仪表盘到Kibana 
./metricbeat setup --dashboards

#filebeat仪表盘

#在配置文件中写入(我这里testredis.yml文件)
setup.kibana: 
  host: "192.168.142.128:5601"

#安装仪表盘到
kibana ./filebeat -c testredis.yml setup

#启动
./filebeat -e -c testredis.yml

 

posted @ 2020-07-10 08:38  将谦卑,温柔成绝对  阅读(265)  评论(0编辑  收藏  举报