EFLK日志平台(filebeat-->kafka-->logstash-->es-->kiabana)

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。

安装顺序

1.安装es 7.17.12
2.安装kibana 7.17.12
3.安装x-pack
保证以上调试成功后开始下面的安装
4.安装kafka( 1.1.0 版本,对应的是 kafka_2.11-1.1.0.tgz)
5.安装logstash 7.17.12
6.安装filebeat 7.17.12

具体安装

1. es安装(单节点部署)

前提

1.环境准备
#设置Java环境
#如果没有安装,yum -y install java
java -version										
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

安装

#1.下载es二进制包
wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.12-linux-x86_64.tar.gz

#2.解压安装
tar -xf elasticsearch-7.17.12-linux-x86_64.tar.gz

#3.修改elasticsearch主配置文件
cp /elasticsearch-7.17.12/config/elasticsearch.yml   /elasticsearch-7.17.12/configelasticsearch.yml.bak
########################################
[root@master config]# grep -Ev '^#' elasticsearch.yml
cluster.name: my-application    #--17--取消注释,指定集群名字
node.name: node-1				#--23--取消注释,指定节点名
path.data: /data/es/data		#--33--取消注释,指定数据存放路径
path.logs: /data/es/logs		#--37--取消注释,指定日志存放路径
bootstrap.memory_lock: false    #--43--取消注释,避免es使用swap交换分区
network.host: 0.0.0.0  #--55--取消注释,设置监听地址,0.0.0.0代表所有地址
http.port: 9200	  #--59--取消注释,ES 服务的默认监听端口为9200
transport.tcp.port: 9300		#指定es集群内部通信接口
cluster.initial_master_nodes: ["node-1"] # 设置master节点,单机情况设置和上面node-1 名称一致即可

#------------------------------------------------
#node.master: true	     	#是否master节点,false为否
#node.data: true			#是否数据节点,false为否
######

#4.es 性能调优参数
#优化最大内存大小和最大文件描述符的数量
vim /etc/security/limits.conf
......
*  soft    nofile          65536
*  hard    nofile          65536
*  soft    nproc           32000
*  hard    nproc           32000
*  soft    memlock         unlimited
*  hard    memlock         unlimited


vim /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity

#5.
#优化elasticsearch用户拥有的内存权限
由于ES构建基于lucene, 而lucene设计强大之处在于lucene能够很好的利用操作系统内存来缓存索引数据,以提供快速的查询性能。
lucene的索引文件segements是存储在单文件中的,并且不可变,对于OS来说,能够很友好地将索引文件保持在cache中,以便快速访问;
因此,我们很有必要将一半的物理内存留给lucene ; 另一半的物理内存留给ES(JVM heap )。
所以, 在ES内存设置方面,可以遵循以下原则:
1.当机器内存小于64G时,遵循通用的原则,50%给ES,50%留给操作系统,供lucene使用
2.当机器内存大于64G时,遵循原则:建议分配给ES分配 4~32G 的内存即可,其它内存留给操作系统,供lucene使用


#6.修改一个进程可以拥有的虚拟内存区域的数量
vim /etc/sysctl.conf
#一个进程可以拥有的最大内存映射区域数,参考数据(分配 2g/262144,4g/4194304,8g/8388608)
vm.max_map_count=262144
#使之生效
sysctl -p

#7.启动elasticsearch
#前提:es需要非root用户启动
useradd es
su es
#启动:
/elasticsearch-7.17.12/bin/elasticsearch

#注:
1. es  /config目录下jvm.options文件内可以调整jvm内存分配等其他参数
-Xms256m
-Xmx256m
2. 需要修改es目录为es用户权限
chown -R es.es  /elasticsearch-7.17.12
chown -R es.es  /data/es/

2.es web 查看
浏览器访问 http://esIP:9200 或者本地访问curl ‘http://localhost:9200/?pretty’

[root@localhost elasticsearch-7.17.12]# curl localhost:9200
{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "cluster_uuid" : "23xYBSDTR9ahrLoNVYeBQw",
  "version" : {
    "number" : "7.17.12",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "a813d015ef1826148d9d389bd1c0d781c6e349f0",
    "build_date" : "2023-08-10T05:02:32.517455352Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

你可能感兴趣的:(elk,elk,elasticsearch,linux)