欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ELK 7.6.2 安装文档

程序员文章站 2024-03-18 10:04:40
...

技术栈介绍

  • 文档时间: 2020-04-05 (ps:elastic版本迭代非常快,每个月都不一样)
  • 当前版本:7.6.2
  • 官方文档:https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html
    文档包括elastic-stack6个组件,本次调研ELK,只安装前三个即可
    • Elasticsearch (分布式存储组件)
    • Kibana (ui组件)
    • Logstash (日志收集、切割组件)
    • Beats (轻量级数据采集库)
    • APM Server (应用性能监控组件)
    • Elasticsearch Hadoop (分布式大数据存储组件)

一. 安装Elasticsearch(一主一从)

1. 环境说明

  • ElasticSearch使用java,需要考虑到当前版本es和机器jdk兼容情况。
  • 如果服务器没有jdk,无需配置,ElasticSearch自带了jdk包。
  • 如果服务器已经安装jdk,会优先读取到到服务器JAVA_HOME,需要在启动命令中设置JAVA_HOME,使用自带jdk。
#因为Elasticsearch 7.x以后,需要java11以上版本,目前主流jdk还是java8.
vi elasticsearch-7.6.2/bin/elasticsearch
#文件最上面,添加如下配置,指定环境变量
export JAVA_HOME=/usr/local/app/elk7.6.2/elasticsearch-7.6.2/jdk
export PATH=$JAVA_HOME/bin:$PATH

2. 下载并解压

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.6.2-linux-x86_64.tar.gz

3. 修改elasticsearch.yml

  • 主节点配置
cluster.name: my-es
node.name: node-1
network.host: 0.0.0.0
http.port: 19200
transport.tcp.port: 19300
discovery.zen.ping.unicast.hosts: ["127.0.0.1:19300","127.0.0.1:29300"]
node.max_local_storage_nodes: 2
#discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1"]
  • 从节点配置
cluster.name: my-es
node.name: node-2
network.host: 0.0.0.0
http.port: 29200
transport.tcp.port: 29300
discovery.zen.ping.unicast.hosts: ["127.0.0.1:19300","127.0.0.1:29300"]
node.max_local_storage_nodes: 2
#discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1"]
  • 配置说明
cluster.name: my-es #集群名称
node.name: node-2 #当前节点名称
network.host: 0.0.0.0 #设置可访问的ip,0.0.0.0为外网都可访问
http.port: 29200 #http访问端口
transport.tcp.port: 29300 #集群通信端口
discovery.zen.ping.unicast.hosts: ["127.0.0.1:19300","127.0.0.1:29300"] #集群中的master节点
node.max_local_storage_nodes: 2 #本地可以启动几个es节点
#discovery.zen.minimum_master_nodes: 3 #节点多时,可以防止脑裂,可以不配
http.cors.enabled: true #允许外网访问
http.cors.allow-origin: "*" #允许跨域
bootstrap.memory_lock: false  #不进行SecComp检查,centos可能检查不过
bootstrap.system_call_filter: false #不进行SecComp检查,centos可能检查不过
cluster.initial_master_nodes: ["node-1"] #初始化主节点,7.x新增配置

4. 修改jvm内存配置

  • 以下jvm配置为es允许内存,根据机器内存配置,默认1g。 Xms和Xmx需要一样,否则报错
    将jvm.options中,我服务器内存较小,修改如下配置
    -Xms512m
    -Xmx512m

5. 修改系统配置

  • es运行时,对服务器有性能有要求,需要调优
内核参数:
vim /etc/sysctl.conf
添加如下内容:
fs.file-max=65536
vm.max_map_count=262144
sysctl -p 刷新下配置,sysctl -a查看是否生效
资源参数:
vi /etc/security/limits.conf
# 添加一下内容: *代表所有用户
* soft nofile 65536
* hard nofile 131072
* soft nproc  2048
* hard nproc  4096
进程数:
vi /etc/security/limits.d/20-nproc.conf
*          soft    nproc     4096

6. 创建非root用户

  • es不能用root启动
    adduser jiyuge
    passwd jiyuge

7. 确认切换到非root用户
chown jiyuge:jiyuge -R elasticsearch-7.6.2
su jiyuge

8. 启动和测试
./bin/elasticsearch -d
curl http://127.0.0.1:19200

9. 谷歌head插件查看机器状态

  • 使用谷歌插件:ElasticSearch Head,可以看到es集群节点分步情况ELK 7.6.2 安装文档

二. 安装kibana

1. 下载解压kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-linux-x86_64.tar.gz
tar -xzf kibana-7.6.2-linux-x86_64.tar.gz

2. 修改配置 kibana.yml

  • 修改端口号server.port:15601
  • 修改server.host:默认不支持外网访问,0.0.0.0
  • 修改elasticsearch访问url的端口号

3. 非root才能启动
chown jiyuge:jiyuge -R kibana-7.6.2-linux-x86_64
su jiyuge

4. 启动和测试
nohup ./bin/kibana &
curl http://127.0.0.1:15601

三. 安装Filebeat

1. 下载解压filebeat

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-linux-x86.tar.gz
tar -xvf filebeat-7.6.2-linux-x86

2. 修改配置
paths下面是日志路径,修改日志路径即可,例子收集了kibana的日志

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/apps/elk7.6.2/kibana-7.6.2-linux-x86_64/nohup.out
output.elasticsearch:
  hosts: ["127.0.0.1:19200"]
  index: "log-%{+yyyy.MM}"
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"

3. 安装时报错,缺组件 (如果不报so.2可以不用执行)
yum install ld-linux.so.2

4. 启动测试
nohup ./filebeat -e -d filebeat.yml &
ELK 7.6.2 安装文档