• centos7 elk7.1.1安装与使用


    官方文档又全是英文,看起来很费劲。只能各种查其他的博客以及结合官方文档看了。

    我的系统是centos7 首先将防火墙以及selinux关闭。

    根据官方文档的说明先安装Elasticsearch 

    1.安装java环境

      1.1在/etc/profile下添加环境变量 我的环境标量如下:

        export JAVA_HOME=/home/jdk1.8.0_181

        export CLASSPATH=:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

        export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

      1.2让环境变量生效 source /etc/profile

    2.安装Elasticsearch 

      因为官方要求Elasticsearch 必须在非root账户下运行,所以需提前创建好账户。

      2.1 下载Elasticsearch 及md5检验码

        wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz #我的统一放在/home 目录下

        wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz.sha512 #官方下载的安装包一般都没问题,这个可以不用下载

        2.1.1 校验安装包完整性

          shasum -a 512 -c elasticsearch-7.1.1-linux-x86_64.tar.gz.sha512 #提示没有改命令直接yum安装yum install perl-Digest-SHA

      2.2 更改文件目录所有者及启动前相关配置

        2.2.1 需要将/home/elasticsearch-7.1.1目录所有者改为非root用户 chown -R wangsu elasticsearch-7.1.1/ 

        2.2.2 修改/home/elasticsearch-7.1.1/config/elasticsearch.yml我的配置文件如下:

          

    
    

    cluster.name: my-es
    node.name: node-1
    path.data: /home/elasticsearch-7.1.1/data
    path.logs: /home/elasticsearch-7.1.1/logs
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    network.host: 0.0.0.0
    http.port: 9200
    #discovery.seed_hosts: ["10.3.190.25"]
    cluster.initial_master_nodes: ["node-1"]
    gateway.recover_after_nodes: 1
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
    http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

     

        2.2.3因为还没有data目录和logs目录(有的话不用管)需要手动创建。

        2.2.4在/etc/sysctl.conf下增加vm.max_map_count=655360 不然启动elasticsearch-7.1.1的时候会报错 这个值大于262144即可;/etc/security/limits.conf下添加如下

          

    * soft      nofile        65536
    * hard     nofile       131072
    * soft      nproc       2048
    * hard     nproc      4096
    #注:星号需添加上

      2.3启动elasticsearch

        到elasticsearch目录下执行./bin/elasticsearch启动后通过web登录界面端口号默认9200

    3、安装head插件

     因为ES返回的json结构,就是上面我们看到的字符串。head插件就是提供了友好的web界面

      3.1head下载https://github.com/mobz/elasticsearch-head/archive/master.zip下载之后将其上传到elasticsearch同级目录下。

      3.2安装node.js

        sudo curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -

        sudo yum install nodejs

        修改配置文件,cd进入elasticsearch-head-master 文件夹下,执行命令sudo vim Gruntfile.js文件:增加hostname属性,设置为*。这里打开js文件后,完全看不懂应该怎么添加,于是问了下搞前端的同事。告知说加载到initConfig试试,如下所示(注意:true后面要添加个逗号):

     

        修改sudo vim _site/app.js 文件:修改head的连接地址:http://10.3.190.25:9200。这个app.js文件里面内容实在太多,我查找到一个http://localhost:9200,于是便将其改为自己的主机ip,大概在4360行的位置
        

      3.3、grunt server & 后台启动

        启动的时候提示未找到命令-----"bash: grunt: 未找到命令"。好的,通过提示找解决办法。sudo npm install -g grunt-cli安装成功后即可执行grunt server &

        能执行归能执行,可是执行的时候又报错了,信息如下,继续找解决办法。。

        

         sudo npm install grunt --save-dev执行该命令后继续报错

        

        后面的报错就没有贴出来了

        继续安装下面的包

        npm install node_modules

        npm install grunt-contrib-clean
        npm install grunt-contrib-concat
        npm install grunt-contrib-watch
        npm install grunt-contrib-connect
        npm install grunt-contrib-copy
        npm install grunt-contrib-jasmine

         在浏览器端输入10.3.190.25:9100显示如下,即安装成功(截图是因为后来又装了kibana才显示有两个,本来是0 of 0)。

      

    4、安装kibana

      4.1、下载安装包到/home目录及解压:wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-linux-x86_64.tar.gz

      4.2、修改kibana配置文件以及环境变量export KIBANA_HOME=/home/kibana-7.1.1-linux-x86_64,我的配置文件如下:

        

      4.3、启动kibana----./bin/kibana并在浏览器测试http://10.3.190.25:5601,安装成功后显示的页面如下:

        

    5、安装logstash

      5.1、下载安装包sudo wget https://artifacts.elastic.co/downloads/logstash/logstash-7.1.1.tar.gz (速度太慢,我是用迅雷下载好后再上传的)

      5.2、启动logstashsudo ./bin/logstash 

        5.2.1启动的时候一直报错java环境变量也没问题。找了一下午资料也没找到,后来被告知是要添加个软连接比如我的是ln -s /home/jdk-12.0.1/bin/java /bin/java

      5.3、在启动后在es head中查看显示黄色,查找资料后再kibana中设置,pskibana设置成中文界面:在配置文件中添加i18n.locale: "zh-CN",重启即可生效。

      

    6、添加日志

      6.1 添加一个日志

        在logstash/conf目录下创建systemlog.conf文件,并写入以下内容。注:需要修改/var/log/messages权限,例如改为644。

          

    input {
    file {
      path => "/var/log/messages"
      type => "systemlog"
      start_position => "beginning"
      stat_interval => "2"
      }
    
    
    }
    
    output {
      elasticsearch {
       hosts => ["10.3.190.25:9200"]
       index => "logstash-systemlog-%{+YYYY.MM.dd}"
    
    }
    
    
    }

        用./logstash/bin/logstash -f ./logstash/config/systemlog.conf -t (-f 指定文件,-t测试)测试配置文件是否正常。正常按该文件启动,然后在kibana中添加索引既可以查看。

       6.2添加交换机巡检结果

        结合python对交换机的自动巡检,并将巡检内容添加到elk中,logstash配置如下。

        

    input {
      file {
        path => "/home/wangsu/szns-kjy4f-acs-05.txt"
        type => "4f_05"
        start_position => "beginning"
        stat_interval => "2"
      }
      file {
        path => "/home/wangsu/szns-kjy4f-acs-06.txt"
        type => "4f_06"
        start_position => "beginning"
        stat_interval => "2"  
      }
    
    }
    
    output {
      if [type] == "4f_05"{
      elasticsearch {
       hosts => ["10.3.190.25:9200"]
       index => "szns-kjy4f-acs-05-%{+YYYY.MM.dd}"
    
      }}
      if [type] == "4f_06"{
      elasticsearch{
        hosts => ["10.3.190.25:9200"]
        index => "szns-kjy4f-acs-06-%{+YYYY.MM.dd}"
      }
    
      }
    
    
    }
  • 相关阅读:
    云计算下一浪潮,腾讯云抢占 Serverless 制高点
    Serverless + GitHub Actions 完美自动化部署静态网站
    Serverless 技术在格灵深瞳的落地实践
    万物皆可 Serverless 之我的 Serverless 之路
    LeetCode 哈希表 136:只出现一次的数字(计数哈希表,异或)
    Spring 01 IOC
    LeetCode 数组:1.两数之和 11. 盛最多水的容器
    LeetCode 链表:21合并两个有序链表 19删除链表的倒数第N个节点
    Maybatis的一些总结(三:增删改查)
    Maybatis的一些总结(一:了解)
  • 原文地址:https://www.cnblogs.com/fumy/p/11053039.html
Copyright © 2020-2023  润新知