下载Elasticsearch7.6.2的docker镜像:
docker pull elasticsearch:7.6.2
修改虚拟内存区域大小,否则会因为过小而无法启动:
sysctl -w vm.max_map_count=262144
使用如下命令启动Elasticsearch服务:
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins\
-v/data/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:7.6.2
启动时会发现/usr/share/elasticsearch/data目录没有访问权限,只需要修改/data/elasticsearch/data目录的权限,再重新启动即可;
chmod 777 /data/elasticsearch/data/
安装中文分词器IKAnalyzer,并重新启动:
docker exec -it elasticsearch /bin/bash
#此命令需要在容器中运行
elasticsearch-plugin installhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
docker restart elasticsearch
下载Logstash7.6.2的docker镜像:
docker pull logstash:7.6.2
修改Logstash的配置文件logstash.conf中output节点下的Elasticsearch连接地址为es:9200,配置文件地址:https://github.com/macrozheng/mall/blob/master/document/elk/logstash.conf
output {
elasticsearch {
hosts => ["http://elasticsearch:9200"]
index => "omc-block-server-%{[@metadata][version]}-%{+YYYY.MM.dd}"
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
创建/data/logstash目录,并将Logstash的配置文件logstash.conf拷贝到该目录;
mkdir /data/logstash
使用如下命令启动Logstash服务;
docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:es \
-v /data/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2
进入容器内部,安装json_lines插件。
logstash-plugin install logstash-codec-json_lines
下载Kibana7.6.2的docker镜像:
docker pull kibana:7.6.2
使用如下命令启动Kibana服务:
docker run --name kibana -p 5601:5601 \
--link elasticsearch:es \
-e "elasticsearch.hosts=http://es:9200"\
-d kibana:7.6.2
访问地址进行测试:http://192.168.10.125:5601
kibana界面中文设置
在kibana.yml尾部添加一行配置即可
i18n.locale: "zh-CN"
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-amd64.deb
sudo dpkg -i filebeat-7.6.2-amd64.deb
2 编辑配置
修改 /etc/filebeat/filebeat.yml 以设置连接信息:
output.elasticsearch:
hosts: ["<es_url>"]
username:"elastic"
password:"<password>"
setup.kibana:
host:"<kibana_url>"
[其中,<password> 是 elastic 用户的密码,<es_url> 是 Elasticsearch 的 URL,<kibana_url> 是 Kibana 的 URL。
3 启用和配置 system 模块
sudo filebeat modules enable system
在 /etc/filebeat/modules.d/system.yml 文件中修改设置。
4 启动Filebeat
setup 命令加载 Kibana 仪表板。如果仪表板已设置,请省略此命令。
sudo filebeat setup
sudo service filebeat start
模块状态
确认已从 Filebeat system 模块成功收到数据
检查数据
http://www.macrozheng.com/#/deploy/mall_deploy_docker