• ELK之 elasticsearch ES集群 head安装


    最近项目用到 jenkins  ELK  也在一次重新学习了一次  jenkins 不用说了 玩得就是  插件   +  base---shell ,  ELK  这几年最流得log收集平台,当然不止我们运维在用!开发也在用来做client 位置定位 还有网站搜索     elasticsearch    , logstash  kibana  三个组件组成

    来一段简介吧:

    ElasticSearch:   是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。这是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎。

    Logstash:         是一个具有实时渠道能力的数据收集引擎,主要用于日志的收集,过滤与解析,并将其存入ElasticSearch中。

    Kibana:            是一款 基于Apache开源协议,为ElasticSearch提供分析和可视化的Web平台,它可以在Elasticsearch的索引中查找,交互数据,并生成各种维度的表图。

    其实难点我感觉是在logstash--filter 对log 得格式处理上  索引 拆分  格式转换上,这还是要好好去摸索一翻!    好吧 start 

    给几张网上ELK 架构图 : elasticsearch logstash 支持十几种接口  所以搭配起来也是非常灵活  

    最后一张刚画得

    实例: filebeat+redis+logstash+elasticsearch+kibana  nginx log收集

    service 清单:

    172.16.1.9 (elasticsearch[master]+haed)  +   jdk_1.8.0

    172.16.1.10(elasticsearch-slave+kibana) +   jdk_1.8.0

    172.16.1.6 ( redis  )

    172.16.1.7( logstash +nginx) +   jdk_1.8.0

    172.16.1.8(filebeat) 

    yum -y install java-1.8.0-openjdk*
    #验证java安装成功
    java -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    
    #download es
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz -d /opt
    tar -zxvf  ./elasticsearch-6.4.0.tar.gz && mv  elasticsearch-6.4.0  /usr/local/elasticsearch
    useradd -m es -p 237356573
    mkdir  /usr/local/elasticsearch/data && chown -R es:es  /usr/local/elasticsearch
    mkdir -p   /var/log/es && chown -R es:es  /var/log/es
     
    #设置es用户最大可创建文件数
    # vi /etc/security/limits.conf 
    * hard nofile 65536 
    * soft nofile 65536 
    * soft nproc 2048 
    * hard nproc 4096
    es soft memlock unlimited
    es hard memlock unlimited
    
    vim /etc/sysctl.conf 添加下面这一行  #用户最大可创建线程数太小
    vm.max_map_count=262144
    并执行命令:sysctl -p
    
    继续再修改一个参数 #(ES最少要求为2048) 
    vim /etc/security/limits.d/20-nproc.conf
    es soft nproc unlimited
    

      

    # 10(slave)  es 配置文件  cat /usr/local/elasticsearch/config/elasticsearch.yml 

    cluster.name: my-es
    node.name: node-10
    path.data: /usr/local/elasticsearch/data
    path.logs: /var/log/es
    bootstrap.memory_lock: true
    network.host: 0.0.0.0
    http.port: 9200
    http.port: 9300
    discovery.zen.ping.unicast.hosts: ["172.16.1.9", "172.16.1.10"]
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    # 9(master) es 配置文件  cat /usr/local/elasticsearch/config/elasticsearch.yml 

    cluster.name: my-es #集群名称 两台必须一样
    node.name: master  #节点名称
    path.data: /usr/local/elasticsearch/data  #es 数据目录
    path.logs: /var/log/es   #es log 日记
    bootstrap.memory_lock: true  #配置内存使用用交换分区
    network.host: 0.0.0.0  #监听的网络地址
    http.port: 9200  #es 监听端口
    transport.tcp.port: 9300  #集群监听端口
    discovery.zen.ping.unicast.hosts: ["172.16.1.9", "172.16.1.10"]  #集群表单
    http.cors.enabled: true
    http.cors.allow-origin: "*" #跨站请求

    启动 9,10 两台同时启动 

    #关闭防火墙

    iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
    iptables -I INPUT -p tcp --dport 9300 -j ACCEPT 

    su es

    /usr/local/elasticsearch/bin/elasticsearch -d    # -d 后台运行

     10(master)主机  ES-head 插件安装

    安装elasticsearch-head插件
    
    安装docker镜像或者通过github下载elasticsearch-head项目都是可以的,1或者2两种方式选择一种安装使用即可
    
    1. 使用docker的集成好的elasticsearch-head
       # docker run -p 9100:9100 mobz/elasticsearch-head:5
       
       docker容器下载成功并启动以后,运行浏览器打开http://localhost:9100/
    
    2. 使用git安装elasticsearch-head
     
       #npm 源 epel-release 内有  epel-release 源 163 阿里源 都有
       # yum install -y npm
    npm -v
    [root@ES-master ~]# npm -v
    3.10.10
    3 #安装
    phantomjs
    yum install -y bzip2 && wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 -d /opt
    tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 && mv ./phantomjs-2.1.1-linux-x86_64  /usr/local/phantomjs
    ln -s /usr/local/phantomjs/bin/phantomjs  /usr/sbin/phantomjs && phantomjs -v
    2.1.1
     3.1:  直接在线安装head:  
    npm install --unsafe-perm
    #启动 elasticsearch-head 后台
    npm run start &
          #检查端口是否起来
          netstat -antp |grep 9100
    #开放端口
    iptables -I INPUT -p tcp --dport 9100 -j ACCEPT

     

      浏览器访问测试是否正常
       http://172.16.1.9:9100/

     

  • 相关阅读:
    模态框+Tab切换显示Json/Xml格式,提交Json/Xml字符串到后台
    jeDate时间插件
    ECharts柱状图+BootstrapTable联动
    ES6新增的一些常用特性
    Array数组遍历的几种方法以及Object对象的遍历
    Arguments 对象
    数组去重几种方法
    原型链图解
    切换镜像小工具
    AppID
  • 原文地址:https://www.cnblogs.com/python-diy/p/9715645.html
Copyright © 2020-2023  润新知