ELK部署
Elasticsearch 是一个非常强大的搜索引擎。它目前被广泛地使用于各个IT公司。Elasticsearch 是由 Elastic 公司创建。它的代码位于 https://github.com/elastic/elasticsearch。目前,Elasticsearch 是一个免费及开放(free and open)的项目。同时,Elastic 公司也拥有 Logstash 及 Kibana 开源项目。这个三个开源项目组合在一起,就形成了 ELK 软件栈。他们三个共同形成了一个强大的生态圈。简单地说,Logstash 负责数据的采集,处理(丰富数据,数据转换等),Kibana 负责数据展示,分析,管理,监督及应用。Elasticsearch 处于最核心的位置,它可以帮我们对数据进行快速地搜索及分析。
部署Elasticsearch
下载地址
1 | tar -xzf elasticsearch-7.15.0-linux-x86_64.tar.gz |
修改配置文件
/home/user/elasticsearch-7.15.0/config/elasticsearch.yml
1 | network.host: 0.0.0.0 |
通过设置 network.host 为 0.0.0.0,它表明 Elasticsearch 可以绑定电脑的任何 IP 地址。你可以使用私有地址 http://
:9200 来进行访问。当然你可以通过 http://localhost:9200
1 | node.name: node-1 |
报错这里不设置kibana启动不了,报
Kibana server is not ready yet
1 | ERROR: [3] bootstrap checks failed. You must address the points described in the following [3] lines before starting Elasticsearch. |
解决方法 ElasticSearch启动报错,bootstrap checks failed
[1]max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
编辑 /etc/security/limits.conf
,追加以下内容;
1 | * soft nofile 65536 |
此文件修改后需要重新登录用户,才会生效
[2]max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
编辑 /etc/sysctl.conf
,追加以下内容:
vm.max_map_count=262144
保存后,执行:
sysctl -p
启动Elasticsearch
1 | [root@localhost user]# netstat -ntlp|grep 9*00 |
9300:集群内节点通讯端口
9200:Elasticsearch开放的REST接口
命令行访问
1 | curl 'http://localhost:9200/?pretty' |
浏览器访问
作为进程守护运行
1 | ./bin/elasticsearch -d -p pid |
上面的这个命令把运行的进程存放于一个叫做 pid 的文件之中,为了方便下面的终止。可以在 $ES_HOME/logs/ 目录中找到日志消息。
要关闭 Elasticsearch,请终止 pid 文件中记录的进程 ID
1 | pkill -F pid |
通过如下的 jps (Java Virtual Machine Process Status Tool)来查看 Elasticsearch 的运行
1 | [root@localhost user]# jps | grep Elasticsearch |
yum install -y java-1.8.0-openjdk-devel
停止运行
1 | kill -9 4721 |
部署Kibana
1 | wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.0-linux-x86_64.tar.gz |
运行
1 | ./bin/kibana |
修改配置文件/config/kibana.yml
1 | elasticsearch.hosts: ["http://localhost:9200"] |
部署Winlogbeat
下载并安装 Winlogbeat
1 | cd "C:\Program Files\Winlogbeat" |
在 C:\Program Files\Winlogbeat\winlogbeat.yml
文件中修改 output.elasticsearch
下的设置以指向您的 Elasticsearch 安装。
编辑配置
修改 C:\Program Files\Winlogbeat\winlogbeat.yml
以设置连接信息:
1 | output.elasticsearch: |
其中,<password>
是 elastic
用户的密码,<es_url>
是 Elasticsearch 的 URL,<kibana_url>
是 Kibana 的 URL。
启动Winlogbeat
setup
命令加载 Kibana 仪表板。如果仪表板已设置,请省略此命令。
1 | .\winlogbeat.exe setup |