ELK安装

本文详细介绍如何部署ELK栈,包括Elasticsearch、Logstash及Kibana的安装配置过程。通过具体步骤指导读者完成环境搭建,并实现日志数据收集与可视化。

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

1.环境准备

  • 安装java环境,推荐1.8
  • 下载elk相关软件

2.安装elasticsearch

  • tar -zxvf elasticsearch-5.5.0.tar.gz
  • 不需要编译,直接进入目录修改配置

    path.logs: /opt/ytd_soft/logs/elasticsearch_logs
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    network.host: 10.20.9.85
    http.port: 9200
    #allow origin,允许跨域
    http.cors.enabled: true
    http.cors.allow-origin: “*”

  • 我只简单的修改了一下配置,详细配置请自行百度

  • 运行

    ./elasticsearch -d # -d表示后台启动

  • 用浏览器访问http://ip:9200可查看如下信息

    {
    name: “G58RiQ2”,
    cluster_name: “elasticsearch”,
    cluster_uuid: “vfUfhNbwRKKcVBE9_gmn_g”,
    version: {
    number: “5.5.0”,
    build_hash: “260387d”,
    build_date: “2017-06-30T23:16:05.735Z”,
    build_snapshot: false,
    lucene_version: “6.6.0”
    },
    tagline: “You Know, for Search”
    }

3.安装logstash

  • tar -zxvf logstash-5.5.0.tar.gz
  • 无需编译,修改配置文件,用默认配置即可,在配置文件最后加入

    xpack.monitoring.enabled: false #否则会认证错误,如果有需要可自行开启

  • 添加配置,在config文件夹下面新建一个conf.d文件夹,所有的输入输出配置存放在这个下面

  • 新建一个配置

input {
file {
path => “/opt/logs/marketing/logs/*”
start_position => “beginning” #从文件开始处读写
}
}
filter {
#Only matched data are send to output.
}
output {
elasticsearch {
action => “index” #The operation on ES
hosts => “10.20.9.85:9200” #ElasticSearch host, can be array.
index => “marketing_log” #The index to write data to.
}
}

  • 运行命令

    nohup ./bin/logstash -f ./config/conf.d &

  • nohup请自己百度,作用是实现后台运行,-f表示指定配置目录,也可是单独配置文件

4.安装kibana

  • tar -zxvf kibana-5.5.0.tar.gz #解压项目文件
  • 修改配置文件

    server.port: 5601
    server.host: “10.20.9.85”
    server.basePath: “”
    #前面安装的elasticsearch地址
    elasticsearch.url: “http://10.20.9.85:9200

  • 运行命令

    nohup ./bin/kibana & #后台启动

  • 在浏览器中访问http://ip:5601
    如果出现kibana界面,表示启动成功

<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、付费专栏及课程。

余额充值