ElastAlert教程5章:elastalert环境安装之安装ElasticSearch

elastalert告警会用到ElasticSearch和kibana,我们先安装他们。


一键安装ElasticSearch和kibana

如果你不想知道原理,可以直接执行下面的代码,安装ElasticSearch和kibana。

wget http://66-ai.com/download/script-litte-prince/app/elasticsearch-kibana.sh -O /root/elasticsearch-kibana.sh && sh elasticsearch-kibana.sh

通过 yaml 文件安装ElasticSearch和kibana

docker-compose 可以使用一个 yaml 文件来安装容器,我们这里将安装的 yaml 文件放在 git 上,所以下面的脚本先下载 git ,然后从 git 仓库中获得 yaml 文件,最后通过docker-compse up 命令,启动 ElasticSearch。

#!/usr/bin/env bash
yum install -y git
git clone https://gitee.com/guguo33/elk-install.git
cd elk-install/docker
mv docker-compose-v7.1.1.yml docker-compose.yml
sudo sysctl -w vm.max_map_count=262144
docker-compose up -d

我们认为理解每一行代码,就让学习更深入,所以,我们队每一行代码做了注解。

执行完上面的代码,如果没有错误,会输出:

Creating network "docker_default" with the default driver
Creating volume "docker_esdata1" with local driver
Pulling elasticsearch (docker.elastic.co/elasticsearch/elasticsearch:7.1.1)...
7.1.1: Pulling from elasticsearch/elasticsearch
........

这样 elasticsearch 就启动好了。

上面的启动脚本中,有几点需要主要的:)

  1. sudo sysctl -w vm.max_map_count=262144 是调整虚拟内存的大小,ES启动会消耗很多内存,所以,这个参数需要设置,不设置的话,ES启动会报错,一般错误为:
elasticsearch    | ERROR: [1] bootstrap checks failed
elasticsearch    | [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

判断是否启动成功

执行 docker ps 命令,查看 docker 启动的进程:

docker ps

执行结果:

CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS              PORTS                              NAMES
5580855787f9        docker.elastic.co/kibana/kibana:7.1.1                 "/usr/local/bin/kiba…"   11 minutes ago      Up 11 minutes       0.0.0.0:5601->5601/tcp             kibana
29494dfffeec        docker.elastic.co/elasticsearch/elasticsearch:7.1.1   "/usr/local/bin/dock…"   11 minutes ago      Up 11 minutes       0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch
  • 这里最后一列表示启动了 kibana 和 elasticsearch
  • kibana 的端口为 0.0.0.0:5601->5601/tcp
  • elasticsearch 的端口为 0.0.0.0:9200->9200/tcp, 9300/tcp

访问ip:9200端口,出现下面的内容,就表示成功了,这里我们使用的是7.1.1版本,后续的所有其他组件也使用7.1.1 版本。使用统一版本,可以避免版本冲突。

elasticsearch 怎么看出启动成功

如果启动失败,可以用 docker-compose up 命令,将日志显示在控制台中查看错误。


elasticSearch 数据查看工具

我们安装好 elasticSearch ,怎么查看 elasticSearch 中的数据呢? 这里我们使用一个工具:ElasticSearch Head,这是一个chrome 插件,界面如下:

ElasticSearch查看工具

这个工具的安装需要下载一个chrome插件 ,我们知道 google 插件商店在国内不能访问,所以安装起来,并不容易。

后续相关知识,我们会抽时间给大家讲一下,或者大家可以看一下这篇文章 ElasticSearch Head的简单使用