zoukankan      html  css  js  c++  java
  • Centos7部署-ELK日志系统-7.7版本

    1、安装包下载

    # 所需的安装包如下
    elasticsearch-7.7.0-linux-x86_64.tar.gz
    kibana-7.7.0-linux-x86_64.tar.gz
    logstash-7.7.0.tar.gz
    node-v16.13.0-linux-x64.tar.xz
    node_modules.zip
    

    2、服务器环境

    服务名 IP
    elk 10.22.86.3
    client 10.22.86.4
    CentOS Linux release 7.9.2009 (Core)
    

    3、安装 elasticsearch

    # 安装包放在 /data/elk_file/ 目录下
    [root@elk elk_file]# cd /data/elk_file/
    
    [root@elk elk_file]# ls
    elasticsearch-7.7.0-linux-x86_64.tar.gz  kibana-7.7.0-linux-x86_64.tar.gz  node_modules.zip
    elasticsearch-head-master.zip            node-v16.13.0-linux-x64.tar.xz
    
    [root@elk elk_file]# tar -xzvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /data
    
    [root@elk elk_file]# tail -3 /etc/profile
    export JAVA_HOME=/data/elasticsearch-7.7.0/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    [root@elk elk_file]# cd /data/elasticsearch-7.7.0
    
    [root@elk config]# cat /data/elasticsearch-7.7.0/config/jvm.options | grep -v '#|^$'
    # 根据服务器情况修改jvm值,这里设置的512m
    -Xms512m
    -Xmx512m
    8-13:-XX:+UseConcMarkSweepGC
    8-13:-XX:CMSInitiatingOccupancyFraction=75
    8-13:-XX:+UseCMSInitiatingOccupancyOnly
    14-:-XX:+UseG1GC
    14-:-XX:G1ReservePercent=25
    14-:-XX:InitiatingHeapOccupancyPercent=30
    -Djava.io.tmpdir=${ES_TMPDIR}
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=data
    -XX:ErrorFile=logs/hs_err_pid%p.log
    8:-XX:+PrintGCDetails
    8:-XX:+PrintGCDateStamps
    8:-XX:+PrintTenuringDistribution
    8:-XX:+PrintGCApplicationStoppedTime
    8:-Xloggc:logs/gc.log
    8:-XX:+UseGCLogFileRotation
    8:-XX:NumberOfGCLogFiles=32
    8:-XX:GCLogFileSize=64m
    9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
    
    [root@elk config]# cat elasticsearch.yml | grep -v '#|^$'
    cluster.name: elasticsearch
    node.name: elk
    path.data: /data/elk-data
    path.logs: /var/log/elasticsearch/logs
    http.port: 9200
    network.host: 0.0.0.0
    cluster.initial_master_nodes: ["elk"]
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    [root@elk config]# useradd elk
    [root@elk config]# mkdir -p /data/elk-data
    [root@elk config]# mkdir -p /var/log/elasticsearch/logs
    [root@elk config]# chown -R elk:elk /data/elasticsearch-7.7.0
    [root@elk config]# chown -R elk:elk /data/elk-data/
    [root@elk config]# chown -R elk:elk /var/log/elasticsearch/logs/
    
    [root@elk config]# cat /etc/security/limits.conf | grep -v '#|^$'
    *       soft    nofile          65536
    *       hard    nofile          65536
    
    [root@elk config]# cat /etc/sysctl.conf 
    vm.max_map_count=262144
    
    [root@elk config]# sysctl -p
    vm.max_map_count = 262144
    
    [root@elk config]# cd /data/elasticsearch-7.7.0/bin/
    [root@elk bin]# su elk
    [elk@elk bin]$ ./elasticsearch -d
    [elk@elk bin]$ exit
    

    4、安装 elasticsearch-head 可视化插件

    [root@elk data]# cd /data/elk_file
    [root@elk elk_file]# tar -xf node-v16.13.0-linux-x64.tar.xz
    [root@elk elk_file]# unzip elasticsearch-head-master.zip
    [root@elk elk_file]# mv node-v16.13.0-linux-x64 /data
    [root@elk elk_file]# mv elasticsearch-head-master /data/elasticsearch-7.7.0/
    [root@elk elk_file]# ln -s /data/node-v16.13.0-linux-x64/bin/node /usr/bin/node
    [root@elk elk_file]# ln -s /data/node-v16.13.0-linux-x64/bin/npm /usr/bin/npm
    [root@elk elk_file]# cd elasticsearch-head-master/
    
    [root@elk elasticsearch-head-master]# cat -n Gruntfile.js | sed -n '96,101p'
        96                                  options: {
        97                                          hostname: '*',
        98                                          port: 9100,
        99                                          base: '.',
       100                                          keepalive: true
       101                                  }
    
    [root@elk elasticsearch-head-master]# cd _site/
    
    [root@elk _site]# cat app.js | grep 9200
                            this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.22.83.3:9200";
    
    [root@elk elasticsearch-head-master]# npm install -g grunt-cli
    [root@elk elasticsearch-head-master]# npm install
    [root@elk elasticsearch-head-master]# cd /data/elk_file/
    [root@elk elk_file]# mkdir -p /data/elasticsearch-7.7.0/elasticsearch-head-master/node_modules
    [root@elk elk_file]# mv node_modules.zip /data/elasticsearch-7.7.0/elasticsearch-head-master/node_modules
    [root@elk elk_file]# cd /data/elasticsearch-7.7.0/elasticsearch-head-master/node_modules
    [root@elk node_modules]# unzip node_modules.zip
    [root@elk node_modules]# chmod -R 777 /data/elasticsearch-7.7.0/elasticsearch-head-master/node_modules
    [root@elk node_modules]# su elk
    [elk@elk node_modules]$ nohup ./node_modules/grunt/bin/grunt server &
    [elk@elk node_modules]$ exit
    

    5、安装 kibana

    [root@elk data]# cd /data/elk_file
    [root@elk elk_file]# tar -xzvf kibana-7.7.0-linux-x86_64.tar.gz -C /data/
    [root@elk elk_file]# cd /data/kibana-7.7.0-linux-x86_64/
    
    [root@elk kibana-7.7.0-linux-x86_64]# cat config/kibana.yml | grep -v '#|^$'
    i18n.locale: "zh-CN"
    server.port: 5601
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://10.22.86.3:9200"]
    elasticsearch.requestTimeout: 90000
    
    [root@elk kibana-7.7.0-linux-x86_64]# chown -R elk:elk /data/kibana-7.7.0-linux-x86_64
    [root@elk kibana-7.7.0-linux-x86_64]# cd bin/
    [root@elk bin]# su elk
    [elk@elk bin]$ nohup ./kibana &
    [elk@elk bin]$ exit            
    

    6、测试访问

    http://10.22.86.3:9200

    http://10.22.86.3:9100

    http://10.22.86.3:5601

    7、客户端安装 logstash

    tar -xzvf logstash-7.7.0.tar.gz -C /opt/
    mv /opt/logstash-7.7.0 /opt/logstash
    
    [root@fenghoutest config]# head -1 /opt/logstash/config/logstash.yml 
    http.host: 0.0.0.0
    
    [root@fenghoutest config]# cd /opt/
    [root@fenghoutest config]# mkdir nc
    [root@fenghoutest config]# cd nc
    
    [root@fenghoutest config]# vim file.conf
    input {
    file {
    path => "/data/app/clzn-suncmis/suncmis-web-api/logs/info.log"
    type => "suncmis"
    start_position => "beginning"
    codec => multiline {
    pattern => "^[a-zA-Z0-9]|[^ ]+"
    negate => true
    what => "previous"
    }
    }
    }
    output {
    if [type] == "suncmis"{
    elasticsearch {
    hosts => ["10.22.86.3:9200"]
    index => "dev-suncmis-web-api-log-%{+YYYY.MM.dd}"
    }
    }
    }
    
    [root@fenghoutest config]# mkdir /data/logstash-data
    [root@fenghoutest config]# /opt/logstash/bin/logstash -f /opt/nc/file.conf --path.data=/data/logstash-data & 
    
    • 配置日志



  • 相关阅读:
    【异常】org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '**' not found.的解决办法
    java如何进行字符串拼接?
    poj2352消防站
    NOIP第7场模拟赛题解
    转载:
    usaco 2010年3月银组题解
    Js 向json对象中添加新元素
    List<T>中 GetRange (int index, int count)的使用
    C# string格式的日期时间字符串转为DateTime类型
    C# DataTable转List<T>--利用反射
  • 原文地址:https://www.cnblogs.com/Mr-Wei/p/15504276.html
Copyright © 2011-2022 走看看