• ELK搭建


    1.Elasticsearch搭建

    环境准备
    需要java环境,也就是需要安装jdk,参考链接:https://www.jianshu.com/p/10949f44ce9c

    yum -y list java*                                 # 列出所有java版本            
    yum install -y java-1.8.0-openjdk-devel.x86_64    # 我选择安装的版本,默认安装的jdk在/usr/lib/jvm下
    java -version                                     # 安装完后即可查看版本信息
    

    由于Elasticsearch要求不能使用超级用户root运行,所以接下来的下载、解压、启动,以及data和logs目录的建立,都应使用非root用户。
    

    下载
    当前我下载的是elasticsearch-7.6.2-linux-x86_64.tar.gz,es各个版本下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
    

    解压(解压后无需安装,修改配置即可运行)

    tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz && cd elasticsearch-7.6.2
    

    配置修改
    1.创建普通账号下的2个目录/data/es_store/data和/data/es_store/logs,用于保存ES的数据和运行日志
    2.修改config目录下的elasticsearch.yml

    node.name: node-1    			 # ES在该机器上的名称
    path.data: /data/es_store/data           # ES保存数据的目录
    path.logs: /data/es_store/logs           # ES保存运行日志的目录
    network.host: 0.0.0.0                    # 设置ip地址为0.0.0.0之后,ES才可以对外提供服务
    cluster.initial_master_nodes: ["node-1"] # ES要加入的集群列表(此时单点)
    

    启动

    ./bin/elasticsearch -d                   # -d表示后台运行
    

    切记不能用root用户运行,否则报错如下图(前面几步操作也确认由非root用户操作,如果出错,可选择非root用户重新操作一次)

    启动后可能出现以下问题

    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    # 执行以下命令解决然后再次启动
    sudo sysctl -w vm.max_map_count=262144
    

    测试

    curl http://ip:9200/?pretty
    

    es搭建时可能遇到的常见问题
    https://segmentfault.com/a/1190000011899522

    2.Filebeat搭建

    下载
    当前下载的是filebeat-7.6.2-linux-x86_64.tar.gz,下载链接:https://www.elastic.co/cn/downloads/beats/filebeat

    解压

    tar -zxvf filebeat-7.6.2-linux-x86_64.tar.gz && cd filebeat-7.6.2-linux-x86_64
    

    配置修改
    修改当前目录下的filebeat.yml

    filebeat.inputs:
    - input_type: log
      enabled: true
      close_inactive: 30s
      paths:
        - /data/logs/websocket/*.log          # 要采集的日志文件
    
    output.elasticsearch:
      hosts: ["http://10.193.161.32:9200"]    # 日志采集后流入的ES服务的集群列表(此时单点)
      index: "ime-log-%{+yyyyMMdd}"
    

    启动

    nohup ./filebeat -e -c filebeat.yml -d publish > filebeat.log &
    
    -e 日志输出到stderr并禁用syslog/file输出
    -c 指定配置文件
    -d 启用对指定选择器的调试,publish可以看到完整的event信息
    

    测试
    查看日志filebeat.log

    filebeat是如何保持文件状态的?

    registry目录下的filebeat/data.json文件保存了每个文件的状态(harvester读取的最后一个偏移量)
    

    参考:
    1.filebeat
    2.filebeat模块与配置

    3.Kibana搭建

    下载
    当前下载的是kibana-7.6.2-linux-x86_64.tar.gz,下载链接:https://www.elastic.co/cn/downloads/kibana

    解压

    tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz && cd kibana-7.6.2-linux-x86_64
    

    修改配置
    在config目录下修改kibana.yml

    server.port: 5601
    server.host: "0.0.0.0"                              # 所有ip都能访问kabana服务,如果用localhost只能本机访问
    elasticsearch.hosts: "http://localhost:9200"        # kibana服务所连接的ES服务
    logging.dest: /data/es_store/logs/kibana.log        # 输出的日志
    

    启动
    在bin目录下执行:

    nohup ./kibana &
    

    注意,kibana启动后是无法用ps -ef | grep kibana找到进程的,主要原因大概是kibana是用node写的,所以kibana运行的时候是在node里面。

    netstat -tunlp | grep 5601    # 通过端口号查找到进程id,123881即进程id
    tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      123881/./../node/bi 
    

    参考:
    kibana测试和使用

  • 相关阅读:
    Java基础知识&面试题
    用例设计之API用例覆盖准则
    用例设计之APP用例覆盖准则
    Java的8种基本数据类型和3种引用数据类型
    并发concurrent---1
    Java运行时环境---ClassLoader类加载机制
    Java运行时环境---内存划分
    Java高阶语法---Volatile
    Java高阶语法---transient
    Java高阶语法---final
  • 原文地址:https://www.cnblogs.com/sincere-ye/p/13574564.html
Copyright © 2020-2023  润新知