- 创建目录/usr/local/docker/elasticsearch
- 在该目录下创建conf、data、plugins目录
- 赋予data777的权限:chmod 777 data
- 在conf目录下编写elasticsearch.yml配置文件
- 在elasticsearch目录下创建docker-compose.yml文件
version: '3.1'services: elasticsearch: image: elasticsearch:7.6.2 container_name: elasticsearch environment: - node.name=node1 - cluster.initial_master_nodes=node1 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - ./data:/usr/local/elasticsearch/data - ./conf/elasticsearch.yml:/usr/local/elasticsearch/config/elasticsearch.yml - ./plugins:/usr/local/elasticsearch/plugins ports: - 9200:9200 restart: always networks: - elastic kibana: image: kibana:7.6.2 container_name: kibana environment: - I18N_LOCALE=zh-CN ports: - 5601:5601 depends_on: - elasticsearch restart: always networks: - elastic logstash: image: docker.elastic.co/logstash/logstash:6.6.1 container_name: logstash hostname: logstash volumes: - /path/logstash.yml:/usr/loacal/logstash/config/logstash.yml - /path/logstash-etc/:/etc/logstash/ ports: - 5044:5044networks: - elasticnetworks:elastic:driver: bridge
修改/etc/sysctl.conf文件,添加vm.max_map_count = 262144到最后一行后保存文件,然后执行命令sysctl -p
6.在logstash conf目录下创建.logstash.yml文件
# 输入输入input { stdin {} }# 数据处理filter { grok { match => ["message", "%{COMBINEDAPACHELOG}"] }}# 数据输出output { stdout { codec => rubydebug } }
docker-compose up -d启动容器
在浏览器访问

elastic 启动成功

搭建成功,启动es前端 kibana 成功
elk 数据分析平台作用
数据分析平台可以用作:数据 检索,线上错误状态分析,故障影响范围分析,测试进度进展,漏测分析,关联图,异常接口分析等

架构原理

logstash 的工作流程



elastic 的介绍

和mysql数据库比对

追加数据

获取数据

搜索全部数据

按条件搜索
#追加一个json到 customer/_doc/1?pretty 目录下curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'{ "name": "seveniruby"}'#获取数据curl -X GET "localhost:9200/customer/_doc/1?pretty"#搜索全部数据curl -X GET "localhost:9200/customer/_search?pretty" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} }}'#按条件搜索curl -X GET "localhost:9200/customer/_search?pretty" -H 'Content-Type: application/json' -d'{ "query": { "match": { "name": "xxdswd" } }}'

创建索引

一直下一步即可

discovery即可查看 数据

discovery 界面添加
for i in {4..400} ;do curl -X PUT "localhost:9200/customer/_doc/$i?pretty" -H 'Content-Type: application/json' -d'{ "name": "zhangcdsa i='$i'"}';sleep 0.5;done#循环插入数据,kibana就可以实时获取并名字数据 了