• 五、分布式elk平台、ES安装、kibana的安装


    1. ES集群安装
    准备1台虚拟机
    部署elasticsearch第一个节点
    访问9200端口查看是否安装成功
     
    1ELK是日志分析平台,不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,ELK分别代表:
    Elasticsearch:负责日志检索和储存
    Logstash:负责日志的收集和分析、处理
    Kibana:负责日志的可视化
     
    ELK组件在海量日志系统的运维中,可用于解决分布式日志数据集中式查询和管理系统监控等,故障排查,安全信息和事件管理,报表功能
    部署Elasticsearch分布式集群安装,Kibana作为可视化平台,实时总结流量和数据的图表,Logstash用来收集处理日志,如表-1所示:
    环境部署:elk.sh
     
    1.1 先准备一台虚拟机
     
    1)更改主机名,配置IP,搭建第三方yum源(之前已经搭建过几次,这里不再赘述)
    se1 ~]# echo se1 > /etc/hostname 
    se1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
    # Generated by dracut initrd
    DEVICE="eth0"
    ONBOOT="yes"
    IPV6INIT="no"
    IPV4_FAILURE_FATAL="no"
    NM_CONTROLLED="no"
    TYPE="Ethernet"
    BOOTPROTO="static"
    IPADDR=192.168.1.61
    PREFIX=24
    GATEWAY=192.168.1.254
     
    se1 ~]# vim /etc/yum.repos.d/local.repo 
    [local_repo]
    name=CentOS-$releasever - Base
    enabled=1
    gpgcheck=1
    [elk]
    name=elk
    enabled=1
    gpgcheck=0
     
    2)部署elasticsearch第一个节点
    [root@se1 ~]# vim /etc/hosts
    192.168.1.61 se1
    192.168.1.62 se2
    192.168.1.63 se3
    192.168.1.64 se4
    192.168.1.65 se5
     
    se1 ~]# yum -y install java-1.8.0-openjdk.x86_64
    se1 ~]# java -version
     
    se1 ~]# sestatus     //查看selinux状态
    SELinux status:     disabled
     
    se1 ~]# yum -y install elasticsearch
    se1 ~]# vim /etc/elasticsearch/elasticsearch.yml
     
    17 cluster.name: myelk        //配置集群名字
    23 node.name: se1        //当前主机名称
    54 network.host: 0.0.0.0     // 0.0.0.0(监听所有地址)
    68 discovery.zen.ping.unicast.hosts: ["se1", "se2","se3"]  
    //声明集群里的主机成员有谁,不需要全部写进去
     
    se1 ~]# systemctl restart elasticsearch
    se1 ~]# systemctl enable elasticsearch
    se1 ~]# ss -antup | grep 9200
    tcp    LISTEN     0      50       :::9200                 :::*                   users:(("java",pid=23231,fd=110))

    3)访问9200端口查看是否安装成功
    ] firefox http://192.168.1.61:9200(真机)
    {
      "name" : "se1",
      "cluster_name" : "myelk",
      "version" : {
        "number" : "2.3.4",
        "build_hash" : "e455fd0c13dceca8dbbdbb1665d068ae55dabe3f",
        "build_timestamp" : "2016-06-30T11:24:31Z",
        "build_snapshot" : false,
        "lucene_version" : "5.5.0"
      },
      "tagline" : "You Know, for Search"
    }
     
    2. ES集群安装配置
    一共安装5台虚拟机
    在所有机器中部署ES
    启动服务查看验证集群状态
     
    2.1 安装elasticsearch和java-1.8.0-openjdk,同步配置文件
     
    备注:在步骤一已经安装了一台elasticsearch,这里只需再准备四台即可
    1)更改对应的主机名、 ip地址以及搭建yum源(以案例1为例子)
     
    2)安装elasticsearch四台主机同样操作(以se2为例子)
    se2 ~]# yum -y install java-1.8.0-openjdk.x86_64
    se2 ~]# yum -y install elasticsearch
     
    3)同步配置/etc/hosts和/etc/elasticsearch/elasticsearch.yml
    修改node.name字段(以se2为例子)
    se1 ~]# for i in {62..65} ; do scp /etc/hosts 192.168.1.$i:/etc/hosts; done
    se1 ~]# for i in {62..65} ; do scp   
    /etc/elasticsearch/elasticsearch.yml
    192.168.1.$i:/etc/elasticsearch/elasticsearch.yml; done
     
    se2 ~]# vim /etc/elasticsearch/elasticsearch.yml
    node.name: se2    //另外三台修改为对应se3,se4,se5
     
    se2 ~]# systemctl restart elasticsearch
    se2 ~]# systemctl enable elasticsearch
     
    4)访问测试(真机)
    {
      "cluster_name" : "myelk",
      "status" : "green",
      "timed_out" : false,
      "number_of_nodes" : 5,
      "number_of_data_nodes" : 5,
     
    ”status”: ”green“ 集群状态:绿色为正常、黄色表示有问题但不是很严重、红色表示严重故障
    ”number_of_nodes”: 5, 表示集群中节点的数量
     
    3. 练习curl命令(真机)
    练习使用curl命令
    理解GET POST
    使用curl命令访问ES集群
     
    3.1 curl命令的使用
    http的请求方法:
    常用方法 GET,POST,HEAD
    其他方法 OPTIONS,PUT,DELETE,TRACE和CONNECT
    ES常用:
    PUT --增
    DELETE --删
    POST --改
    GET --查
    系统命令curl:
    是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持多种请求模式,自定义请求头等强大功能,是一款综合工具
    curl 常用参数介绍:
    -A 修改请求 agent
    -X 设置请求方法
    -i 显示返回头信息
     
    1)索引的分片信息,如图-1所示:
     
    2)显示health的详细信息
     
    3)查看nodes的帮助,如图-3所示:
     
    4. 练习插件
    在其中一台机器上部署插件
    使用bigdesk查看集群状态
    使用head创建index
    使用kopf查看数据
     
    4.1 部署插件
    插件装在哪一台机器上,只能在哪台机器上使用
    (这里安装在se5机器上面)
     
    1)使用远程 uri 路径可以直接安装
    se5 ~]# cd /usr/share/elasticsearch/bin
     
    //安装head插件
    se5 bin]# ./plugin install   
     
    //安装kopf插件
    se5 bin]# ./plugin install   
     
    //安装bigdesk插件 
    se5 bin]# ./plugin install  
     
    //查看安装的插件
    se5 bin]# ./plugin list
    Installed plugins in /usr/share/elasticsearch/plugins:
        - head
        - kopf
        - bigdesk
     
    2)访问head插件(真机)
     
    3)访问kopf插件(真机)
     
     
    4)访问bigdesk插件(真机)
     
    4.2 使用head创建index
    se5 bin]# curl -X PUT "http://192.168.1.65:9200/index" -d '
    > {
    >     "settings":{
    >     "index":{
    >     "number_of_shards":5,     //分片数
    >     "number_of_replicas":1    //副本数
    >    }
    >   }
    > }'   (确定)
     
    {"acknowledged":true}
     
    4.3 使用kopf查看数据
    5. 插入,增加,删除查询数据
    使用curl命令连接使用ES数据库
    使用PUT方法增加数据
    使用POST修改数据
    使用GET查询数据
    使用DELETE删除数据
     
    5.1 增加数据
    se5 ~]# locale
    se5 ~]# LANG=en_US.UTF-8  //设置编码
    se5 ~]# curl -X PUT "http://192.168.1.65:9200/taindex/teacher/1" -d '{
    "职业":"诗人",
    "名字":"李白",
    "称号":"诗仙",
    "年代":"唐"
    }'
     
    {"_index":"taindex","_type":"teacher","_id":"1","_version":1,"_shards":{"total":2,"successful":2,"failed":0},"created":true}
     
    5.2 修改数据
    se5 ~]# curl -X PUT "http://192.168.1.65:9200/taindex/teacher/1" -d '{
     "doc":{
     "年代": "唐代"
     }
     }'
     
    {"_index":"taindex","_type":"teacher","_id":"1","_version":2,"_shards":{"total":2,"successful":2,"failed":0},"created":false}
     
    5.3 查询数据

    ] curl -X GET "http://192.168.1.65:9200/taindex/teacher/1?pretty"
    {
    "_index" : "taindex",
    "_type" : "teacher",
    "_id" : "1",
    "_version" : 2,
    "found" : true,
    "_source" : {
    "doc" : {
    "年代" : "唐代"
    }
    }
    }

     
    5.4 删除数据

    {
    "found" : true,
    "_index" : "taindex",
    "_type" : "teacher",
    "_id" : "1",
    "_version" : 3,
    "_shards" : {
    "total" : 2,
    "successful" : 2,
    "failed" : 0
    }
    }

    5.5 删除索引
    se5 ~]# curl -X DELETE http://192.168.1.65:9200/taindex/
    {"acknowledged":true}
     
    //删除所有索引
    se5 ~]# curl -X DELETE http://192.168.1.65:9200/*
    {"acknowledged":true}
     
    6. 安装Kibana
    安装Kibana
    配置启动服务查看5601端口是否正常
    通过web页面访问Kibana
     
    6.1 安装kibana
     
    1)在另一台主机,配置ip为192.168.1.66,配置yum源,更改主机名
    2)安装kibana
    kibana ~]# yum -y install kibana
    kibana ~]# rpm -qc kibana
    /opt/kibana/config/kibana.yml
     
    kibana ~]# vim /opt/kibana/config/kibana.yml
    2 server.port: 5601        
    //若把端口改为80,可以成功启动kibana,但ss时没有端口,没有监听80端口,服务里面写死了,不能用80端口,只能是5601这个端口
    5 server.host: "0.0.0.0"      //服务器监听地址
    15 elasticsearch.url: http://192.168.1.61:9200    
    //声明地址,从哪里查,集群里面随便选一个
    23 kibana.index: ".kibana"    //kibana自己创建的索引
    26 kibana.defaultAppId: "discover"      //打开kibana页面时,默认打开的页面discover
    53 elasticsearch.pingTimeout: 1500      //ping检测超时时间
    57 elasticsearch.requestTimeout: 30000  //请求超时
    64 elasticsearch.startupTimeout: 5000   //启动超时
     
    kibana ~]# systemctl restart kibana
    kibana ~]# systemctl enable  kibana
    kibana ~]# ss -antup | grep 5601  //查看监听端口
     
    3)浏览器访问kibana,如图所示:
    kibana ~]# firefox 192.168.1.66:5601
    4)点击Status,查看是否安装成功,全部是绿色的对钩,说明安装成功
    5)用head插件访问会有.kibana的索引信息,如图所示:
    ######################
    知识点整理:

    01:ELK一整套解决方案。‘ Elasticsearch Logstash Kibana
    Elasticsearch:负责日志检索和存储(NoSQL)
    Logstash:负责日志的检索和分析、处理(Php)
    Kibana:负责日志的可视化(Apache)

    02:扩展插件
    head插件:
        它展现ES集群的拓扑结构,并且可以通过它老进行索引(index)和节点(Node)级别的操作.
        他提供一组针对集群的查询API,并将结果以json和表格形式返回
        它提供一些快捷菜单,用以展现集群的各种状态
    kopf插件:
        是一个Elasticsearch的一个集群管理工具
        提供了对ES集群操作的API
    bigdesk插件:
        是一个Elasticsearch的一个集群监控工具
        可以查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况、Http连接数等

     
  • 相关阅读:
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Android随笔
    Codeforces Round #551题解
  • 原文地址:https://www.cnblogs.com/mkmkmk/p/12185979.html
Copyright © 2020-2023  润新知