安装ELK-8.4.3

一:安装elasticsearch

1、安装配置jdk8

先上传jdk包

其实ES8以上版本不需要安装jdk,因为内置有jdk环境。

如果服务器上原来有jdk环境,启动会报错,因为jdk版本不兼容

[root@mes-1 ~]# tar xzf jdk-8u211-linux-x64.tar.gz -C /usr/local/
[root@mes-1 ~]# cd /usr/local/
[root@mes-1 local]# mv jdk1.8.0_211/ java
[root@mes-1 local]# echo '
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
' >>/etc/profile
[root@mes-1 ~]# source /etc/profile
[root@mes-1  local]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

2、安装配置ES

(1)创建运行ES的普通用户
[root@mes-1 ~]# useradd es
[root@mes-1 ~]# echo "es" | passwd --stdin "elsearch"
(2)安装配置ES
[root@mes-1 ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.3-linux-x86_64.tar.gz
[root@mes-1 ~]# tar xzf elasticsearch-8.4.3.tar.gz -C /usr/local/
[root@mes-1 ~]# cd /usr/local/elasticsearch-8.4.3/config/
[root@mes-1 config]# ls
elasticsearch.yml  log4j2.properties  roles.yml  users_roles
jvm.options        role_mapping.yml   users
[root@mes-1 config]# cp elasticsearch.yml elasticsearch.yml.bak
[root@mes-1 config]# vim elasticsearch.yml    ----修改以下配置
cluster.name: elk
node.name: elk01
node.attr.rack: r1
path.data: /usr/local/elk/elasticsearch-8.4.3/data
path.logs: /usr/local/elk/elasticsearch-8.4.3/logs
bootstrap.memory_lock: false
network.host: 192.168.80.128
http.port: 9200 
transport.profiles.default.port: 9300
discovery.seed_hosts: ["192.168.80.128"]    #ES所在机器的IP地址
##集群模式  discovery.seed_hosts: ["10.1.59.193:9300","10.1.59.167:9300"]
cluster.initial_master_nodes: ["192.168.80.128"]  #有其他节点再加上去
##集群模式  cluster.initial_master_nodes: ["10.1.59.193","10.1.59.167"]
action.destructive_requires_name: true
ingest.geoip.downloader.enabled: false
http.cors.enabled: true        #允许下载head插件
http.cors.allow-origin: "*"
xpack.security.enabled: false   

cluster.name 集群名称,各节点配成相同的集群名称。

node.name 节点名称,各节点配置不同。

path.data 数据存储目录。

path.logs 日志存储目录。

bootstrap.memory_lock 内存锁定,是否禁用交换。

bootstrap.system_call_filter 系统调用过滤器。

network.host 绑定节点IP。

http.port 端口。

discovery.zen.minimum_master_nodes 集群中可工作的具有Master节点资格的最小数量,官方的推荐值是 (N/2)+1,其中N是具有master资格的节点的数量。

http.cors.enabled 是否允许跨源 REST 请求,用于允许head插件访问ES。

http.cors.allow-origin 允许的源地址。

xpack.security.enabled: false 禁止ssl加密

(3)设置JVM堆大小
[root@mes-1 config]# vim jvm.options     ----将
-Xms1g    ----修改成 -Xms2g
-Xmx1g    ----修改成 -Xms2g
或者
sed -i 's/-Xms1g/-Xms4g/' /usr/local/elasticsearch-6.5.4/config/jvm.options
sed -i 's/-Xmx1g/-Xmx4g/' /usr/local/elasticsearch-6.5.4/config/jvm.options

注意:

确保堆内存最小值(Xms)与最大值(Xmx)的大小相同,防止程序在运行时改变堆内存大小,

堆内存大小不要超过系统内存的50%

(4)创建ES数据及日志存放目录
[root@mes-1 ~]# mkdir -p /usr/local/elk/elasticsearch-8.4.3/data       
(5)修改安装目录及目录权限

[root@mes-1 ~]# chown -R es:es /usr/local/elk/elasticsearch-8.4.3

3、系统优化

(1)增加最大文件打开数

永久生效:

echo "* - nofile 65536" >> /etc/security/limits.conf
(2)增加最大进程数
[root@mes-1 ~]# vim /etc/security/limits.conf    ---在文件最后面添加如下内容
* soft nofile 65535
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
更多的参数调整可以直接用这个

解释:
soft  xxx  : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。
hard  xxx  : 代表严格的设定,不允许超过这个设定的值。
nofile : 是每个进程可以打开的文件数的限制
nproc  : 是操作系统级别对每个用户创建的进程数的限制
(3)增加最大内存映射数(调整使用交换分区的策略)
[root@mes-1 ~]# vim /etc/sysctl.conf   ---添加如下
vm.max_map_count=262144  #进程可以拥有虚拟内存的数量
vm.swappiness=0
[root@mes-1 ~]# sysctl -p
解释:在内存不足的情况下,使用交换空间。


[root@mes-1 ~]# sysctl -w vm.max_map_count=262144
增大用户使用内存的空间(临时)
添加ES环境变量
[root@localhost elasticsearch-8.4.3]#vim /etc/profile
export ES_HOME=/usr/local/elk/elasticsearch-8.4.3
[root@localhost elasticsearch-8.4.3]#source /etc/profile

4、启动ES

[root@mes-1 ~]# su - es
[root@mes-1 ~]$ cd /usr/local/elasticsearch-8.4.3/
[root@mes-1 ~]$nohup ./bin/elasticsearch &
[root@mes-1 ~]$ tailf nohup.out      #查看启动信息

测试访问:192.168.80.128:9200

二、安装kibana-8.4.3

1、下载安装包

curl -O https://artifacts.elastic.co/downloads/kibana/kibana-8.4.3-linux-x86_64.tar.gz

2、解压

[root@localhost ~]# cd /usr/local/
[root@localhost local]# mkdir elk
[root@localhost local]# cd
[root@localhost ~]# tar -xzvf kibana-8.4.3-linux-x86_64.tar.gz -C /usr/local/elk/
[root@localhost ~]# useradd es
[root@localhost ~]# passwd es
[root@localhost ~]# cd /usr/local/
[root@localhost local]# chown -R es:es elk

3、修改配置

[root@localhost config]# cp kibana.yml kibana.yml.bak
[root@localhost config]# vim kibana.yml
server.port: 5601
server.host: "192.168.80.129"
elasticsearch.hosts: ["http://192.168.80.128:9200"]
##集群模式  elasticsearch.hosts: ["http://192.168.80.128:9200","10.1.59.167:9200"]
i18n.locale: "zh-CN"

4、启动

[root@localhost kibana-8.4.3]# su - es
上一次登录:二 12月 19 14:55:00 CST 2023pts/0 上
[es@localhost ~]$ cd /usr/local/elk/kibana-8.4.3/
[es@localhost kibana-8.4.3]$
[es@localhost kibana-8.4.3]$ nohup ./bin/kibana &
[es@localhost kibana-8.4.3]$ tailf nohup.out

览器访问 192.168.80.129:5601

三、安装logstash-8.4.3

从官网下载tar包

1、解压

[root@localhost ~]# mkdir /usr/local/elk/
[root@localhost ~]# tar -xzvf logstash-8.4.3-linux-x86_64.tar.gz -C /usr/local/elk/

2、尝试收集nginx日志

root@localhost ~]# cd /usr/local/elk/logstash-8.4.3/
[root@localhost logstash-8.4.3]# mkdir -p ./etc/conf.d/
[root@localhost logstash-8.4.3]# cd ./etc/conf.d/
[root@localhost conf.d]# vim test.conf 
input {
  file {
    path => "/var/log/nginx/access.log"
    start_position => "beginning"
    type => "nginx-access"
  }
}

output {
  elasticsearch {
    hosts => ["http://192.168.80.128:9200"]
    ##集群模式  hosts => ["http://192.168.80.128:9200","http://10.1.59.167:9200"]
    index => "%{type}_%{+YYYY-MM-dd}"
  }
}

3、启动

[root@localhost logstash-8.4.3]# nohup ./bin/logstash -f etc/conf.d/ &

需要访问nginx,使nginx的日志发生变化,ES中才能显示出来数据

4、扩展

curl -X GET "http://192.168.80.128:9200/_cluster/health"   #查看ES集群状态
curl -X GET "http://192.168.80.128:9200/_cat/indices?v"   查看ES索引
curl -X GET "192.168.80.128:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason"                                                         查看es中未分配的分片


[root@localhost elasticsearch-8.4.3]# curl -X GET "http://192.168.80.128:9200/_cluster/health"

{"cluster_name":"elk","status":"yellow","timed_out":false,"number_of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":12,"active_shards":12,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":1,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":92.3076923076923}[root@localhost elasticsearch-8.4.3]# 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值