ELK的入门以及搭建运用

1、ELK简介

1.1、ELK是什么

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤、并将其存储供以后处理(如,搜索)
  • Kibana也是一个开源和免费的工具,它可以为Logstash和Elasticsearch提供日志分析友好的web界面,可以帮助您汇总,分析和搜索重要的数据日志。

1.2、集中式的日志管理系统

ELK针对多态服务器日志不统一问题,提供多种检索规则,方便可视化展示,解决多点日志查询问题。
简单的业务实现
ELK的入门以及搭建运用_第1张图片

1.3、ELK

服务 语言 功能
Elasticsearch java 实时的分布式搜索和分析引擎,他可以用于全文检索,结构化搜索以及分析,lucene。Solr
Logstash JRuby 具有实时渠道能力的数据收集引擎,包含输入、过滤、输出模块,一般在过滤模块中做日志格式化的解析工作
Kibana JavaScript 为ElasticSerach提供分析平台和可视化的Web平台。他可以ElasticSerach的索引中查找,呼唤数据,并生成各种维度的表图

2、ELK的安装

我是自己用虚拟机搭的,穷

2.1、安装Centos7

centos7下载地址
建议内存2G以上

2.2、基本设置

  • 设置IP地址
    vi /etc/sysconfig/network-scripts/ifcfg-eno33
    ELK的入门以及搭建运用_第2张图片
    service network restart
  • 添加用户并授权
    [root@localhost ~]# adduser elk1
    [root@localhost ~]# passwd elk1
    [root@localhost ~]# whereis sudoers
    [root@localhost ~]# ls -l /etc/sudoers
    [root@localhost ~]# chmod -v u+w /etc/sudoers
    [root@localhost ~]# vi /etc/sudoers
    root ALL=(ALL) ALL
    linuxidc ALL=(ALL) ALL #这个是新增的用户
    [root@localhost ~]# chmod -v u-w /etc/sudoers
    [root@localhost ~]# su elk1

3、Elsticsearch安装

3.1JAVA环境安装

  • 解压安装包
    [root@localhost jdk1.8]# tar -zxvf jdk-8u171-linux-x64.tar.gz
  • 设置Java环境变量
    [root@localhost jdk1.8.0_171]# vi /etc/profile
    在文件最后添加
    export JAVA_HOME=/home/elk1/jdk1.8/jdk1.8.0_171
    export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : JAVA_HOME/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:JAVA_HOME/LIB: J R E H O M E / L I B : JRE_HOME/LIB: JREHOME/LIB:CLASSPATH
    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin:$PATH
  • 使环境变量生效
    [root@localhost jdk1.8.0_171]# source /etc/profile
    [root@localhost jdk1.8.0_171]# java -version
    java version “1.8.0_171”
    Java™ SE Runtime Environment (build 1.8.0_171-b11)
    Java HotSpot™ 64-Bit Server VM (build 25.171-b11, mixed mode)

3、ElasticSearch单机安装

[root@localhost elasticserach]# tar -zxvf elasticsearch-6.3.1.tar.gz

[root@localhost elasticserach]# cd elasticsearch-6.3.1/bin

[root@localhost bin]# ./elasticsearch
ELK的入门以及搭建运用_第3张图片
注:elasticsearch启动不能用root用户,这也是上面创建用户的原因
切换用户启动
[root@localhost bin]# su elk1
[elk1@localhost bin]$ ./elasticsearch

ELK的入门以及搭建运用_第4张图片
注:上面的错误是该用户没有权限,授权后启动
[root@localhost bin]# chown -R elk1:elk1 /home/elk1/elasticsearch

[elk1@localhost bin]$ ./elasticsearch

[elk1@localhost config]$ vi jvm.options

  • 进入elasticSearch配置文件中,更改jvm参数
    [elk1@localhost config]$ vi jvm.options
    ELK的入门以及搭建运用_第5张图片
    [elk1@localhost bin]$ ./elasticsearch
    ELK的入门以及搭建运用_第6张图片
    通过http访问测试
    [root@localhost jdk1.8.0_171]# curl 127.0.0.1:9200
    ELK的入门以及搭建运用_第7张图片
  • 后台启动
    [elk1@localhost bin]$ ./elasticsearch -d
  • 关闭程序
    [elk1@localhost bin]$ ps -ef|grep elastic
    在这里插入图片描述
    [elk1@localhost bin]$ kill 10097
  • 设置windows下浏览器访问
    [root@localhost bin]systemctl stop firewalld
    [root@localhost bin]vi config/elasticsearch.yml
    ELK的入门以及搭建运用_第8张图片
    更改为你虚拟机的ip
  • 还需要更改两个配置文件,linux自带的
  1. [root@localhost bin]# vi /etc/security/limits.conf
    文件中新增如下配置
    #* hard nofile 65536
    #* soft nofile 131072
    #* hard nproc 4096
    #* hard nproc 2048
    #号是注释不要粘贴
  2. [root@localhost bin]# vi /etc/sysctl.conf
    文件中新增如下配置
    vm.max_map_count=655360
    fs.file-max=655360
    保存后执行如下命令
    [root@localhost bin]# sysctl -p

3.3、ElasticSerach集群安装

  • 修改配置文件elasticserach.yml
    vim /elasticsearch.yml

cluster.name: aubin-cluster#必须相同
#集群名称(不能重复)
node.name: els1(必须不同)
#节点名称,仅仅是描述名称,用于在日志中区分(自定义)
#指定了该节点可能成为 master 节点,还可以是数据节点
node.master: true
node.data: true
path.data: /var/lib/elasticsearch
#数据的默认存放路径(自定义)
path.logs: /var/log/elasticsearch
#日志的默认存放路径
network.host: 192.168.0.1
#当前节点的IP地址
http.port: 9200
#对外提供服务的端口
transport.tcp.port: 9300
#9300为集群服务的端口
discovery.zen.ping.unicast.hosts: [“172.18.68.11”, “172.18.68.12”,“172.18.68.13”]
#集群个节点IP地址,也可以使用域名,需要各节点能够解析
discovery.zen.minimum_master_nodes: 2
#为了避免脑裂,集群节点数最少为 半数+1
注意:清空data和logs数据
192.168.14.12:9200/_cat/nodes?v

未完待续。。。。。

你可能感兴趣的:(ELK的入门以及搭建运用)