ELK安装

本文档详细介绍了ELK(Elasticsearch, Logstash, Kibana)的安装过程。首先,安装并配置Elasticsearch,通过修改配置文件并解决Java路径问题。接着启动Elasticsearch集群,检查其状态。然后,部署Kibana并调整配置。同时,配置Filebeat以收集日志,确保Filebeat与Elasticsearch之间的通信。最后,在Kibana中设置索引,以在'Discover'界面浏览日志数据。" 114512227,10535507,Java与Android证书转换:如何将JKS转为BKS,"['java bks证书', 'android', '密钥库']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ELK安装准备工作

机器全部安装jdk1.8,因为elasticsearch是java开发的
全部安装elasticsearch
主节点上需要安装kibana

ELK版本信息:

Elasticsearch-6.0.0
logstash-6.0.0
kibana-6.0.0
filebeat-6.0.0

首先安装elasticsearch

wget http://172.23.210.21:83/software/linux/elk/elasticsearch-6.0.0.rpm
rpm -ivh elasticsearch-6.0.0.rpm 

[root@harbor33-172-23-210-33 ~]# vim /etc/elasticsearch/elasticsearch.yml # 修改相关配置

cluster.name: harbor33-172-23-210-33  # 集群中的名称
node.name: harbor33-172-23-210-33  # 该节点名称
node.master: true  # 意思是该节点为主节点
node.data: false  # 表示这不是数据节点
network.host: 0.0.0.0  # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200  # es服务的端口号
discovery.zen.ping.unicast.hosts: ["172.23.210.33", "172.23.210.34", "172.23.210.35"] # 配置自动发现

将配置文件发送到其他机器上去 并修改相关参数

node.name: 172.23.210.34
node.master: false
node.data: true

启动会报错,无法在环境变量中找到java可执行文件,做一个软链接过去即可

ln -s /usr/local/jdk1.8/bin/java /usr/bin/

主节点启动完成之后,再启动其他节点的es服务

systemctl start elasticsearch.service

查看es集群情况

curl '172.23.210.33:9200/_cluster/health?pretty'

查看集群的详细信息

curl '172.23.210.33:9200/_cluster/state?pretty'

安装kibana

wget http://172.23.210.21:83/software/linux/elk/kibana-6.0.0-x86_64.rpm
rpm -ivh kibana-6.0.0-x86_64.rpm

[root@harbor33-172-23-210-33 ~]#vim /etc/kibana/kibana.yml # 修改相关配置

server.port: 5601  # 配置kibana的端口
server.host: 172.23.210.33  # 配置监听ip
elasticsearch.url: "http://172.23.210.33:9200"  # 配置es服务器的ip,如果是集群则配置该集群中主节点的ip
logging.dest: /var/log/kibana.log  # 配置kibana的日志文件路径,不然默认是messages里记录日志

创建日志文件

touch /var/log/kibana.log; chmod 777 /var/log/kibana.log

启动kibana服务

systemctl start kibana

使用beats采集日志

wget http://172.23.210.21:83/software/linux/elk/filebeat-6.0.0-x86_64.rpm
rpm -ivh filebeat-6.0.0-x86_64.rpm 

[root@harbor33-172-23-210-33 ~]# vim /etc/filebeat/filebeat.yml #修改相关参数

filebeat.prospectors:
 hosts: ["172.23.210.30:9200"]
 index: "harbor33-%{+yyyy.MM.dd}"

setup.template.name: "harbor33"
setup.template.pattern: "harbor33-*"

- type: log
   - /var/log/messages

启动filebeat服务

systemctl start filebeat

启动成功后,到es服务器上查看索引,可以看到新增了一个以filebeat-6.0.0开头的索引,这就代表filesbeat和es能够正常通信了:

[root@k8s-master30-172-23-210-30 src]# curl '172.23.210.30:9200/_cat/indices?v'

health status index                     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   harbor33-2019.02.19       XuAiiiwtQ_mJDrmnR7VZTQ   3   1        425            0    267.1kb        136.4kb
green  open   .kibana                   DX-2pnE6R3u_QdGHj0CmXw   1   1          5            0     97.5kb         48.7kb
green  open   harbor33-2019.02.20       x_CQXJS0Q1KITr_G9LhGdg   3   1        475            0    381.1kb        167.5kb

es服务器能够正常获取到索引后,就可以到kibana上配置这个索引了:
在这里插入图片描述

配置完成之后就可以在 “Discover” 里进行查看访问日志数据了:
在这里插入图片描述

<think>我们正在为用户提供一个安装ELK Stack(Elasticsearch, Logstash, Kibana)的Shell脚本。根据引用内容,我们需要注意以下几点: 1. 安装前需要准备Java环境(JDK 8),因为Elasticsearch需要JDK 8(引用[4])。 2. 安装过程中可能需要创建用户和组(引用[2]中创建了用户elk和组app)。 3. 需要下载并解压各个组件的安装包。 4. 需要配置环境变量(如JAVA_HOME)和各个组件的配置文件。 5. 可能需要编写启动脚本(如引用[3]中的elasticsearch-head启动脚本,但这里我们主要关注ELK核心组件)。 由于ELK Stack的安装涉及多个组件,我们将分步骤编写脚本: - 安装Java(JDK 8) - 安装Elasticsearch - 安装Logstash - 安装Kibana 注意:由于安全性和最新版本的变化,我们通常建议从官方网站获取最新版本的下载链接。但为了脚本的稳定性,我们可以使用固定版本(例如7.x版本,因为8.x版本可能有较大变化)。这里我们使用7.17.3版本(截至2022年5月的一个稳定版本),用户可以根据需要修改版本号。 另外,我们假设以root用户运行此脚本,并在必要时创建elk用户。 步骤概览: 1. 安装依赖(如wget) 2. 创建用户和组(elk) 3. 安装JDK 8 4. 下载并安装Elasticsearch 5. 下载并安装Logstash 6. 下载并安装Kibana 7. 配置环境变量和启动脚本 注意:生产环境还需要考虑安全配置(如设置密码、SSL等),但本脚本主要关注基础安装。 以下是脚本内容:</think>以下是一个安装 ELK Stack (Elasticsearch, Logstash, Kibana) 的自动化 Shell 脚本,包含环境配置和基础安全设置: ```bash #!/bin/bash # ELK Stack 自动安装脚本 (版本: 7.17.3) # 系统要求: CentOS/RHEL 7+ # 配置参数 ELK_VERSION="7.17.3" ES_USER="elk" ES_GROUP="app" INSTALL_DIR="/opt/elk" DATA_DIR="/data/elk" JAVA_VERSION="java-11-openjdk" # 1. 安装依赖 yum install -y wget epel-release yum install -y $JAVA_VERSION # 2. 创建系统用户和目录 groupadd $ES_GROUP useradd -m -g $ES_GROUP -s /bin/bash $ES_USER mkdir -p $INSTALL_DIR $DATA_DIR/{data,logs} chown -R $ES_USER:$ES_GROUP $INSTALL_DIR $DATA_DIR # 3. 安装 Elasticsearch wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-$ELK_VERSION-linux-x86_64.tar.gz tar -xzf elasticsearch-$ELK_VERSION-linux-x86_64.tar.gz -C $INSTALL_DIR ln -s $INSTALL_DIR/elasticsearch-$ELK_VERSION $INSTALL_DIR/elasticsearch # 4. 配置 Elasticsearch cat > $INSTALL_DIR/elasticsearch/config/elasticsearch.yml <<EOF cluster.name: elk-cluster node.name: node-1 path.data: $DATA_DIR/data path.logs: $DATA_DIR/logs network.host: 0.0.0.0 http.port: 9200 discovery.type: single-node xpack.security.enabled: true EOF # 5. 安装 Logstash wget https://artifacts.elastic.co/downloads/logstash/logstash-$ELK_VERSION-linux-x86_64.tar.gz tar -xzf logstash-$ELK_VERSION-linux-x86_64.tar.gz -C $INSTALL_DIR ln -s $INSTALL_DIR/logstash-$ELK_VERSION $INSTALL_DIR/logstash # 6. 安装 Kibana wget https://artifacts.elastic.co/downloads/kibana/kibana-$ELK_VERSION-linux-x86_64.tar.gz tar -xzf kibana-$ELK_VERSION-linux-x86_64.tar.gz -C $INSTALL_DIR ln -s $INSTALL_DIR/kibana-$ELK_VERSION $INSTALL_DIR/kibana # 7. 配置系统参数 echo "vm.max_map_count=262144" >> /etc/sysctl.conf sysctl -p echo "$ES_USER soft nofile 65536" >> /etc/security/limits.conf echo "$ES_USER hard nofile 65536" >> /etc/security/limits.conf # 8. 创建服务文件 (Elasticsearch示例) cat > /etc/systemd/system/elasticsearch.service <<EOF [Unit] Description=Elasticsearch After=network.target [Service] User=$ES_USER Group=$ES_GROUP Environment="ES_HOME=$INSTALL_DIR/elasticsearch" Environment="ES_PATH_CONF=$INSTALL_DIR/elasticsearch/config" ExecStart=$INSTALL_DIR/elasticsearch/bin/elasticsearch [Install] WantedBy=multi-user.target EOF # 9. 设置密码 echo "y" | $INSTALL_DIR/elasticsearch/bin/elasticsearch-setup-passwords auto -b # 10. 启动服务 systemctl daemon-reload systemctl enable --now elasticsearch echo "安装完成!" echo "Elasticsearch: http://<服务器IP>:9200" echo "Kibana: http://<服务器IP>:5601" ``` ### 使用说明 1. **保存脚本**:如`install-elk.sh` 2. **授权执行**: ```bash chmod +x install-elk.sh ``` 3. **运行安装**: ```bash ./install-elk.sh ``` ### 关键配置说明 1. **内存要求**:建议服务器内存 ≥4GB,可通过修改`$INSTALL_DIR/elasticsearch/config/jvm.options`调整堆内存 ```config -Xms2g # 最小内存 -Xmx2g # 最大内存 ``` 2. **安全认证**:脚本已启用基础安全认证,安装后自动生成随机密码 3. **数据存储**:默认数据目录`/data/elk`,可按需挂载独立磁盘 > **注意**:首次登录 Kibana 需使用自动生成的 elastic 用户密码,密码信息在终端输出中查找[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值