• 安装ELK平台 7.3.0版本


    0. 事前准备工作

    0.1 防火墙

    • 若是使用公网IP的话可以考虑关闭防火墙,或者放行相应端口
    • 使用内网IP的话可以不用管防火墙

    0.2 关闭SElinux

    # setenforce 0
    

    文件:/etc/selinux/config

    SELINUX=disabled
    

    0.3 内核优化

    文件:/etc/security/limits.conf,在最后加入如下内容:

    * soft nofile 65537
    * hard nofile 65537
    * soft nproc 65537
    * hard nproc 65537
    

    文件:/etc/security/limits.d/20-nproc.conf,修改如下内容:

    *    soft    nproc     4096
    

    文件:/etc/sysctl.conf,修改好后使用sysctl -p生效

    vm.max_map_count = 262144
    net.core.somaxconn = 65535
    net.ipv4.ip_forward = 1
    

    0.4 软件准备

    软件存放路径:/usr/local/src

    • elasticsearch-7.3.0-x86_64.rpm
    • filebeat-7.3.0-x86_64.rpm
    • kibana-7.3.0-x86_64.rpm
    • logstash-7.3.0.rpm
    • openjdk-12_linux-x64_bin.tar.gz

    0.5 规划

    主机1:192.168.10.170,安装有nginx,filebeat,kibana
    主机2:192.168.10.102,安装有logstash,elasticsearch,kibana,java

    后期考虑:

    • 使用多台主机搭建elasticsearch集群
    • 使用elasticsearch-head监控elasticsearchz状态,设置密码
    • 访问kibana使用nginx代理进行访问,kibana配置文件监听本机ip,kibana设置访问密码
    • filenbeat与logstash进行ssl安全通信
    • Heartbeat检测
    • elasticsearch-certutil安全,设置密码

    0.6 日志路径流程

    nginx程序产生日志,filebeat配置文件中获取该日志,并把日志输出给logstash,logstash把日志输出给elasticsearch,使用kibana构建索引展示出来。

    1. 配置java环境

    # cd /usr/local/src
    # tar -zxv -f openjdk-12_linux-x64_bin.tar.gz  -C /usr/local/
    
    # vim /etc/profile
    export JAVA_HOME=/usr/local/jdk-12
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    # source /etc/profile
    
    # ln -s /usr/local/jdk-12/bin/java /usr/bin/java
    
    # java -version
    openjdk version "12" 2019-03-19
    OpenJDK Runtime Environment (build 12+33)
    OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)
    

    2. Elasticsearch

    2.1 安装

    # rpm -Uvh elasticsearch-7.3.0-x86_64.rpm
    # systemctl daemon-reload
    # systemctl enable elasticsearch.service
    # systemctl start elasticsearch.service
    

    2.2 测试

    # 测试
    # curl -X GET http://localhost:9200
    

    3. Kibana

    3.1 安装

    # rpm -Uvh kibana-7.3.0-x86_64.rpm
    # systemctl daemon-reload
    # systemctl enable kibana.service
    # systemctl start kibana.service
    

    3.2 配置文件修改

    # 默认配置文件路径
    # /etc/kibana/kibana.yml
    server.host: "192.168.10.102" # 能够访问kibana的ip,此处设置公网IP直接本机访问
    elasticsearch.hosts: ["http://localhost:9200"] # 关联的elasticsearch,多个的话中间用逗号隔开
    
    i18n.locale: "zh-CN" # web界面使用中文
    

    3.3 测试

    # 测试
    打开浏览器,输入地址:http://192.168.10.102:5601 进行访问
    

    4. Logstash

    4.1 安装

    # rpm -Uvh logstash-7.3.0.rpm
    # systemctl daemon-reload
    # systemctl enable logstash.service
    # systemctl start logstash.service
    

    4.2. 配置filebeat日志输出到logstash

    注意:这一步不能直接修改logstash-sample.conf使用,需要在conf.d目录下创建conf文件使用,具体可以查看logstash日志文件

    # /etc/logstash/logstash-sample.conf /etc/logstash/conf.d/nginx.conf
    # vim /etc/logstash/conf.d/nginx.conf
    input {
      beats {
        port => 5044
      }
    }
    
    output {
      elasticsearch {
        hosts => ["http://localhost:9200"]
        index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
        #user => "elastic"
        #password => "changeme"
      }
    }
    

    5. filebeat

    5.1 安装

    # rpm -Uvh filebeat-7.3.0-x86_64.rpm
    # systemctl daemon-reload
    # systemctl enable filebeat.service
    # systemctl start filebeat.service
    

    5.2 配置文件

    # vim /etc/filebeat/filebeat.yml
    filebeat.inputs:
    - type: log
        enabled: true
        paths:
            - /usr/local/openresty/nginx/logs/*.log
    
    #output.elasticsearch:
        # hosts: ["localhost:9200"]
    
    output.logstash:
        hosts: ["192.168.10.102:5044"]
    

    6. nginx

    忽略

    7. 补充

    7.1 通过nginx访问kibana

    # /etc/kibana/kibana.yml
    server.port: 5601
    server.host: "127.0.0.1"
    server.basePath: "/kibana"
    
    # nginx.conf
    location /kibana/ {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:5601;
        rewrite ^/kibana/(.*)$  /$1 break;
    }
    

    重启nginx和kibana,然后就能使用http://ip/kibana进行访问了

    延伸:
    可以给nginx访问配置密码,进一步加强安全

  • 相关阅读:
    java面向对象小总结
    eclipce 快捷键
    linux中查找和过滤的用法:find,grep
    shell脚本
    条形码和二维码
    Json简介
    牛客练习
    输入流操作
    Java编码
    maven入门
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/11410943.html
Copyright © 2020-2023  润新知