部署Elasticsearch+Logstash+Kibana日志系统

Published: Tags: LINUX

虽然标题写的是ELK日志系统,但实际上笔者已用Filebeat代替Logstash了。 先到https://elasticsearch.cn/download/下载7.10.2的二进制的TAR包。 需要下载的程序:Elasticsearch、Filebeat、Kibana,至于Logstash可以不用。

由于Elasticsearch、Kibana不能使用root帐号运行,所以使用命令useradd elk新建用户。 移动TAR包到/opt/软件安装目录并解压刚才的三个软件包,执行chown -R elk:elk更改属组。

 

系统:

修改/etc/sysctl.conf配置(sysctl -p)

vm.max_map_count = 655360

 

Elasticsearch:

修改Elasticsearch配置config/elasticsearch.yml文件

node.name: node-1
network.host: 0.0.0.0 # 172.17.2.1
cluster.initial_master_nodes: ["node-1"]
xpack.ml.enabled: false

修改Elasticsearch启动bin/elasticsearch脚本

export JAVA_HOME="/opt/elasticsearch/jdk"

切换elk用户执行/opt/elasticsearch/bin/elasticsearch -d后台运行

 

Kibana:

修改Kibana配置config/kibana.yml文件

server.port: 5601
server.host: "0.0.0.0"
server.name: "Server-ELK"
elasticsearch.hosts: ["http://172.17.2.1:9200"]

切换elk用户执行nohup /opt/kibana/bin/kibana serve &后台运行

 

Filebeat:

修改Filebeat配置filebeat.yml文件

- type: log
    enabled: true
    paths:
        - /data/web/game/journal/*.log
output.elasticsearch: hosts: ["172.17.2.1:9200"]

切换root用户执行nohup /opt/filebeat/filebeat run &后台运行

 

附注:

其实使用更高的版本也是可以的,只不过7.11版本及之后,官方的源码变为双重许可模式。 所以为了避免潜在的云服务使用的授权风险,因此笔者选择了该版本,就像选择JDK 8那样。