• CentOS 7 快速部署 ELK


    先简单说一下部署思路及原理(不一定正确,只是个人理解而已)

    1.修改系统参数,以便安装软件

    2.安装配置elasticsearch,这个相当于总监测中心,用来收集logstash监测的各种服务应用日志,然后将监测的各个logstash的日志发送给kibana

    discovery.zen.ping.unicast.hosts: ["192.168.0.53:9300"]    #这个相当于内部通讯端口,用于es节点之间的通讯,另一个9200端口则是用于做外部通讯

    3.安装配置logstash,这个相当于单点监测中心,因为我们可能需要同时监测几十服务器的日志,可以在各个服务器上安装logstash,收集所在服务器的日志信息

    4.安装配置kibana,这个相当图形监控界面,将elasticsearch发送过来的汇总日志以图形化的方式呈现出来

    在安装之前,先修改以下配置

    # vim /etc/security/limit.conf    
    * hard nofile 65536
    * soft nofile 65536
    * soft nproc  65536
    * hard nproc  65536
    
    # vim /etc/sysctl.conf
    vm.max_map_count = 262144
    net.core.somaxconn=65535
    net.ipv4.ip_forward = 1
    
    # sysctl -p
    # systemctl disabled firewalld
    # systemctl stop firewalld
    # iptables -F

    三个软件的下载连接如下

    https://www.elastic.co/cn/downloads

    下载这三个包

    kibana-6.2.4-x86_64.rpm elasticsearch-6.2.4.rpm logstash-6.2.4.rpm

    部署java环境,可以参考https://www.cnblogs.com/biaopei/p/7730484.html

    安装 yum install elasticsearch-6.2.4.rpm -y

    修改配置文件

    # grep -v ^# /etc/elasticsearch/elasticsearch.yml 
    cluster.name: elk-stack
    node.name: elk.com
    path.data: /var/lib/elasticsearch
    path.logs: /var/log/elasticsearch
    network.host: 0.0.0.0
    http.port: 9200
    discovery.zen.ping.unicast.hosts: ["192.168.0.53:9300"]      (ip也要修改)
    discovery.zen.minimum_master_nodes: 1

    启动服务

    systemctl start elasticsearch

    查看端口是否正常开启(用netstat也可,ss好像是比netstat好一点)

    ss -ntlup| grep -E "9200|9300"

    安装logstash

    # yum install logstash-6.2.4.rpm -y
    # echo 'path.config: /etc/logstash/conf.d' >>/etc/logstash/logstash.yml

    配置文件

    # vim /etc/logstash/conf.d/syslog.conf 
    input {
    
     #收集本地log
      file {
         type => "logtest"
         path => "/var/log/messages"
         start_position => "beginning"
      }
    
     #filebeat客户端
      beats {
         port => 5044
      }
    
    }
    
     #筛选
     #filter { }
    
    output {
    
    #标准输出,调试使用
      stdout {
       codec => rubydebug { }
      }
    
    # 输出到es
      elasticsearch {
        hosts => ["http://192.168.0.53:9200"]    ip也需要修改
        index => "%{type}-%{+YYYY.MM.dd}"
      }
    
    }

    调试启动

    # /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
    # /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf
    # systemctl enable logstash
    # systemctl start logstash

    安装配置kibana

    yum install kibana-6.2.4-x86_64.rpm nodejs -y

    修改配置文件

    # egrep -v "^#|^$" /etc/kibana/kibana.yml 
    server.port: 5601
    server.host: "0.0.0.0"
    elasticsearch.url: "http://192.168.0.53:9200"   这个ip需要根据自己的实际服务器ip修改,就是改为本地ip就行了
    kibana.index: ".kibana"

    汉化kibana

    # yum install -y git
    # git clone https://github.com/anbai-inc/Kibana_Hanization.git
    # cd Kibana_Hanization
    # python main.py /usr/share/kibana

    重启kibana

    # systemctl restart kibana

    浏览器访问kibana

    ip:5601

  • 相关阅读:
    一个可以用的句子
    QQ通讯协议分析
    do easy get
    WCF 实例模式和对象生命周期
    c# FTP操作类
    [OAuth] 翻译 前4章
    [OAuth] 翻译 第5章
    HttpRequest 生命周期
    [ WebGL系列 ] 1 什么webgl
    SQL Server 问题集 不断更新
  • 原文地址:https://www.cnblogs.com/biaopei/p/9238665.html
Copyright © 2020-2023  润新知