CentOS 7上部署ELK(Elasticsearch, Logstash, Kibana)操作步骤并集成为一键Shell脚本

news/2025/3/5 19:17:08/文章来源:https://www.cnblogs.com/Johny-zhao/p/18753375

以下是在CentOS 7上部署ELK的详细步骤,包括主机添加操作命令配置,并集成为一个Shell脚本和Python脚本。

一、环境准备

  1. 系统更新:sudo yum update -y

  2. 安装Java(ELK需要Java环境):sudo yum install java-1.8.0-openjdk-devel -y

  3. 设置主机名(可选):sudo hostnamectl set-hostname elk-server

  4. 配置防火墙

    sudo firewall-cmd --permanent --add-port=9200/tcp # Elasticsearch
    sudo firewall-cmd --permanent --add-port=9300/tcp # Elasticsearch集群通信
    sudo firewall-cmd --permanent --add-port=5601/tcp # Kibana
    sudo firewall-cmd --permanent --add-port=5044/tcp # Logstash
    sudo firewall-cmd --reload

     

    二、安装Elasticsearch

    1. 导入Elasticsearch GPG密钥:sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    2. 创建Elasticsearch仓库文件:sudo vi /etc/yum.repos.d/elasticsearch.repo 

      添加以下内容:

      [elasticsearch-7.x]
      name=Elasticsearch repository for 7.x packages
      baseurl=https://artifacts.elastic.co/packages/7.x/yum
      gpgcheck=1
      gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
      enabled=1
      autorefresh=1
      type=rpm-md

      安装Elasticsearch:sudo yum install elasticsearch -y

      配置Elasticsearch
      编辑配置文件:sudo vi /etc/elasticsearch/elasticsearch.yml

      修改以下内容:

       

      network.host: 0.0.0.0
      discovery.seed_hosts: ["127.0.0.1"]
      cluster.initial_master_nodes: ["127.0.0.1"]

      启动并启用Elasticsearch

      sudo systemctl daemon-reload
      sudo systemctl enable elasticsearch
      sudo systemctl start elasticsearch

       

      三、安装Logstash

      安装Logstash

       sudo yum install logstash -y
       配置Logstash
      创建一个简单的Logstash配置文件:
      sudo vi /etc/logstash/conf.d/logstash.conf

      添加以下内容:

       

      input {
      beats {
      port => 5044
      }
      }

      output {
      elasticsearch {
      hosts => ["localhost:9200"]
      index => "logstash-%{+YYYY.MM.dd}"
      }
      stdout { codec => rubydebug }
      }

      启动并启用Logstash

      sudo systemctl enable logstash
      sudo systemctl start logstash

       

      四、安装Kibana

      安装Kibana

       sudo yum install kibana -y
      配置Kibana
      编辑配置文件:
                 sudo vi /etc/kibana/kibana.yml

             修改以下内容:

            server.host: "0.0.0.0"
            elasticsearch.hosts: ["http://localhost:9200"]

           启动并启用Kibana

            sudo systemctl enable kibana
            sudo systemctl start kibana

           

    五、验证安装

    1. 检查Elasticsearch:curl -X GET "localhost:9200"

      1. 检查Kibana
        打开浏览器,访问 http://<your-server-ip>:5601

     

    六、集成Shell脚本

    将上述步骤集成到一个Shell脚本中:

    #!/bin/bash

    # 更新系统
    sudo yum update -y

    # 安装Java
    sudo yum install java-1.8.0-openjdk-devel -y

    # 设置主机名
    sudo hostnamectl set-hostname elk-server

    # 配置防火墙
    sudo firewall-cmd --permanent --add-port=9200/tcp
    sudo firewall-cmd --permanent --add-port=9300/tcp
    sudo firewall-cmd --permanent --add-port=5601/tcp
    sudo firewall-cmd --permanent --add-port=5044/tcp
    sudo firewall-cmd --reload

    # 安装Elasticsearch
    sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
    sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
    [elasticsearch-7.x]
    name=Elasticsearch repository for 7.x packages
    baseurl=https://artifacts.elastic.co/packages/7.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md
    EOF
    sudo yum install elasticsearch -y

    # 配置Elasticsearch
    sudo tee /etc/elasticsearch/elasticsearch.yml <<EOF
    network.host: 0.0.0.0
    discovery.seed_hosts: ["127.0.0.1"]
    cluster.initial_master_nodes: ["127.0.0.1"]
    EOF

    # 启动Elasticsearch
    sudo systemctl daemon-reload
    sudo systemctl enable elasticsearch
    sudo systemctl start elasticsearch

    # 安装Logstash
    sudo yum install logstash -y

    # 配置Logstash
    sudo tee /etc/logstash/conf.d/logstash.conf <<EOF
    input {
    beats {
    port => 5044
    }
    }

    output {
    elasticsearch {
    hosts => ["localhost:9200"]
    index => "logstash-%{+YYYY.MM.dd}"
    }
    stdout { codec => rubydebug }
    }
    EOF

    # 启动Logstash
    sudo systemctl enable logstash
    sudo systemctl start logstash

    # 安装Kibana
    sudo yum install kibana -y

    # 配置Kibana
    sudo tee /etc/kibana/kibana.yml <<EOF
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://localhost:9200"]
    EOF

    # 启动Kibana
    sudo systemctl enable kibana
    sudo systemctl start kibana

    echo "ELK stack installation and configuration completed!"

    通过上述步骤和脚本,在CentOS 7上快速部署和配置ELK堆栈。Shell脚本可以帮助大家自动化安装和配置过程,大家一起研究学习,如有不妥之处请大家帮忙指正。

     

     

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894126.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐三本数学方面的书籍《数学要素》、《矩阵力量》和《统计至简》 - 鸢尾花书:从加减乘除到机器学习 - 姜伟生 - PDF免费下载

下载地址:https://pdfs.top/book/鸢尾花书系列:从加减乘除到机器学习.html。《鸢尾花书系列:从加减乘除到机器学习》是姜伟生博士编写的机器学习从入门到精通合集,旨在帮助读者从编程基础到机器学习掌握关键技能。每本书内容简洁,适合不同阶段的学习者,帮助读者快速上手并…

第一次个人编程项目

学号 3123004294Github仓库链接 https://github.com/Berluga/3123004294.git项目 内容这个作业属于哪个课程 软件工程导论这个作业要求在哪里 作业要求文档这个作业的目标 通过实现一个查重系统,综合训练算法设计、工程规范、测试及文档撰写能力PSP 2.1 表格PSP阶段 预估耗时(…

【Java 开发】windows 命令行cmd界面,运行java 程序报错情况分析和解决!

windows cmd 运行java 程序报错了 (编译通过,运行报错)通过 java 和 javac 命令 得知,两个命令的版本不一样。因为这是因为有两个java 版本所导致的。 此时 需修改环境变量的配置。 此时我们找到 path 环境变量的配置 可以看到 配置了两个 JAVA_HOME的变量 一个JAVA_HOME 对…

2025/3/4 - Vue3学习--基础创建教程学习笔记

基于VUE创建:创建流程VScode实例-->编写APP组件

sql(3)多表查询

1.内连接查询(交集)2.外连接左外连接会全显示表一,右外连接会全显示表二,然后都显示交集部分。 3.子查询(嵌套查询) 行子查询表子查询注:给表起别名 select * from tb_emp e,tb_dept d where e.dept_id=d.id;

EndNote 21软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【042】三位数字即可免费获取分享链接,无广告拒绝套路;2、安装教程双击Setup.exe安装,弹窗安装对话框点击Next选择I would like a free ftrial ,点击Next点击Next选择I accept ,点击Next默认Next选择安装路径,建议C盘之外…

AxMath 2.6软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【041】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程双击安装,弹窗安装对话框Chinese - 点击OK按钮选择组件,默认方式,点击下一步等待进度安装,安装完成,点击完成按钮安装完成,点击关闭,不更新补丁操…

台达 hmi 人机 B10E615 备份 上传 二娃备忘 erwa.cn

台达DOP-B系列程序的上载下载操作说明 1、传输时要先进入SYS界面,在屏幕的空白处长按3秒以上,弹出如下图:确定点 系统设置-MISC 改为USBCOMMMODE:1进入 上载下载标准模式选择COM1到这个界面就可以上载下载程序了。 2、通讯电缆的制作和连接: 电缆有2种,一种是USB方口打印…

Sentinel整合Nacos实现持久化

想要实现Sentinel持久化,首先我们得思考为什么需要持久化?通俗来说就是:每次服务启动,都得重新去Sentinel dashboard中配置Sentinel的各种规则。例如流量规则、热点规则、熔断规则、授权规则。当服务数量众多时,一旦服务重新启动,所有规则都被清空,需要重新为每一个服务…

数码管驱动原厂-LED显示驱动VK1616 SOP16/DIP16抗干扰数显驱动芯片【FAE技术支持】

产品品牌:永嘉微电/VINKA 产品型号:VK1616 封装形式:SOP16/DIP16 概述 VK1616是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据 锁存器、LED 驱动等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持7SEGx4GRID 的点阵LED显示面板。采用SOP16/DIP16的封装…