• centos7 部署 ELK 日志系统


    ELK(elasticsearch、logstash、kibana)可以作为日志收集及分析的一整套系统,通过阿里的普及也有越来越多的公司在使用,使用下来功能还可以,这里整理记录一个部署手册。  为了方便,将ELK都部署在一台os里。

    一、环境准备

     操作系统:centos7(CentOS-7-x86_64-Minimal-1708)

     CPU:1核

     内存:4G

     

     可以在你的windows上安装CRT远程执行命令行和传输文件。

    1.1 安装vim、wget

     yum install -y vim wge

    二、安装Java环境

     根据官方的描述,

     Elasticsearch要求是java8以上。

     Logstash要求是Java 8,不支持Java 9。

    yum -y install epel* java

     # 可以用下面的命令查看java的环境变量是否生效出现下面的内容就说明java的jdk已经部署完。

    jjava -version

    三、部署elasticsearch

     3.1 yum安装elasticsearch

     # 获取rpm包

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm

     # 安装

    rpm -ivh elasticsearch-7.1.1-x86_64.rpm

     #查找安装路径

    rpm -ql elasticsearch

    一般是装在/usr/share/elasticsearch/下。

     3.2 设置data的目录

     # 创建/data/es-data目录,用于elasticsearch数据的存放

    mkdir -p /data/es-data

     # 修改该目录的拥有者为elasticsearch

    chown -R elasticsearch:elasticsearch /data/es-data

     3.3 设置log的目录

     #  创建/data/es-log目录,用于elasticsearch日志的存放

    mkdir -p /log/es-log

     # 修改该目录的拥有者为elasticsearch

    chown -R elasticsearch:elasticsearch /log/es-log

     3.4 修改配置文件elasticsearch.yml

    vim /etc/elasticsearch/elasticsearch.yml

     根据下面的内容进行修改,wq保存。 

    #设置data存放的路径为/data/es-data
    path.data: /data/es-data

    #设置logs日志的路径为/log/es-log
    path.logs: /log/es-log

    #设置内存不使用交换分区
    bootstrap.memory_lock: false

    #配置了bootstrap.memory_lock为true时反而会引发9200不会被监听,原因不明

    #设置允许所有ip可以连接该elasticsearch
    cluster.name: "docker-cluster"
    network.host: 0.0.0.0

    # custom config
    node.name: "node-1"
    discovery.seed_hosts: ["127.0.0.1", "[::1]"]
    cluster.initial_master_nodes: ["node-1"]

    #开启监听的端口为9200
    http.port: 9200

    #增加新的参数,为了让elasticsearch-head插件可以访问es (5.x版本,如果没有可以自己手动加)
    # 开启跨域访问支持,默认为false
    http.cors.enabled: true
    # 跨域访问允许的域名地址,(允许所有域名)以上使用正则
    http.cors.allow-origin: "*"
     

     3.5 启动elasticsearch

     # 启动

    systemctl start elasticsearch

     # 查看状态

    systemctl status elasticsearch

     # 设置开机启动

    systemctl enable elasticsearch

     3.6 开启9200端口

    firewall-cmd --add-port=9200/tcp --permanent
    firewall-cmd --reload

     3.7 测试安装是否成功

     # 安装net-tools 

    yum install -y net-tools

     # 检查9200是否有监听

    netstat -antp |grep 9200

    curl http://127.0.0.1:9200

      有下面类似的内容才说明elasticsearch正常启动。

       


    四、部署logstash

     4.1 yum安装logstash

     # 获取rpm包

    wget https://artifacts.elastic.co/downloads/logstash/logstash-7.1.1.rpm

     # 安装

    rpm -vih logstash-7.1.1.rpm

     4.2 设置data的目录

     # 创建/data/ls-data目录,用于logstash数据的存放

    mkdir -p /data/ls-data

     # 修改该目录的拥有者为logstash

    chown -R logstash:logstash /data/ls-data

     

     4.3 设置log的目录

     #  创建/data/ls-log目录,用于logstash日志的存放

    mkdir -p /log/ls-log

     # 修改该目录的拥有者为logstash

    chown -R logstash:logstash /log/ls-log

     4.4 修改配置文件logstash.yml

    vim /etc/logstash/logstash.yml

     根据下面的内容进行修改,wq保存。

    # 设置数据的存储路径为/data/ls-data
    path.data: /data/ls-data
     
    # 设置管道配置文件路径为/etc/logstash/conf.d
    path.config: /etc/logstash/conf.d
     
    # 设置日志文件的存储路径为/log/ls-log
    path.logs: /log/ls-log
     

     4.5 启动logstash

     # 启动

    systemctl start logstash

     # 查看状态

    systemctl status logstash

     # 设置开机启动

    systemctl enable logstash

     4.6 测试安装是否成功

     # 查看下logstash的安装目录

    rpm -ql logstash

     # 创建一个软连接,每次执行命令的时候不用在写安装路径(yum安装是在/usr/share下)

    ln -s /usr/share/logstash/bin/logstash /bin/

     # 执行logstash的命令

    logstash -e 'input { stdin { } } output { stdout {} }'

     等待片刻后出现“The stdin plugin is now waiting for input:”,输入“abc”回车,有返回的输出。

     

     ctrl+c退出。 

     如果标准输出还有elasticsearch中都需要保留,看下面

     # 192.168.12.16是试验elk的ip

     /usr/share/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["192.168.12.16:9200"] } stdout { codec => rubydebug }}'

     等待片刻后出现“The stdin plugin is now waiting for input:”,输入“test”回车,返回下面标准的输出。

      


     五、部署kibana

     5.1 yum安装kibana

     # 获取安装包

    wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-x86_64.rpm

     # 安装

    rpm -ivh kibana-7.1.1-x86_64.rpm

     5.2 修改kibana.yml

     # 搜索rpm包

    rpm -ql kibana

     默认是装在/usr/share/kibana/下。

     # 修改kibana的配置文件

    vim /etc/kibana/kibana.yml

     # 修改kibana.xml下面的内容,wq保存。

    #kibana页面映射在5601端口
    server.port: 5601
     
    #允许所有ip访问5601端口
    server.host: "0.0.0.0"
     
    #elasticsearch所在的ip及监听的地址
    elasticsearch.url: "http://localhost:9200"
     
    kibana.index: ".kibana"
     

     5.3 启动kibana

      # 启动 

    systemctl start kibana

     # 查看状态 

    systemctl status kibana

     # 设置开机启动 

    systemctl enable kibana

     5.4 开放端口5601

      # 设置防火墙 

    firewall-cmd --add-port=5601/tcp --permanent
    firewall-cmd --reload

     

    作者:间歇性-精神病 出处:https://www.cnblogs.com/Intermittent-psychosis/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,请在文章页面明显位置给出原文连接 Github:https://github.com/don15278/python.git
  • 相关阅读:
    Java版MD5加密算法
    【Struts2复习知识点四】Path路径问题
    IE7与IE8浏览器下session cookie的共享问题以及区别
    【Struts2复习知识点八】DomaimModel域模型接收参数
    Activity class {package/class} does not exist及Unable to start activity ComponentInfo 解决方法
    【Struts2复习知识点二】namespace的配置
    【Struts2复习知识点五】ActionMethod 动态指定调用方法
    【Struts2复习知识点一】配置struts2环境
    JS面向对象编程
    【Struts2复习知识点三】Action的配置
  • 原文地址:https://www.cnblogs.com/Intermittent-psychosis/p/10986415.html
Copyright © 2020-2023  润新知