课前准备
docker pull docker.elastic.co/logstash/logstash:7.8.1
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.1
docker pull docker.elastic.co/kibana/kibana:7.8.1
知识点
ElasticSearch介绍
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.1
docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:7.8.1
ES_HOST=stuq.ceshiren.com
curl -X PUT "$ES_HOST:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"name": "seveniruby"
}
'
#文档检索
curl -X GET "$ES_HOST:9200/customer/_doc/1?pretty"
#搜索
curl -X GET "$ES_HOST:9200/customer/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match_all": {} }
}
'
curl -X GET "$ES_HOST:9200/customer/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match": { "name": "ceshiren.com" } }
}
'
apm
apm server
docker run -d --name=apm-server --user=apm-server -p 8200:8200 --link elasticsearch:elasticsearch docker.elastic.co/apm/apm-server:7.9.0 --strict.perms=false -e -E output.elasticsearch.hosts=["elasticsearch:9200"]
apm agent
java -javaagent:/Users/seveniruby/Downloads/elastic-apm-agent-1.18.0.RC1.jar \
-Delastic.apm.service_name=my-application \
-Delastic.apm.server_urls=http://stuq.ceshiren.com:9200 \
-Delastic.apm.secret_token= \
-Delastic.apm.application_packages=org.example \
-jar /Users/seveniruby/ke/java_3/jacoco/apache-jmeter-5.2.1/bin/ApacheJMeter.jar
Logstash介绍
docker pull docker.elastic.co/logstash/logstash:7.8.1
docker run -it --rm \
-v $PWD/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-v $PWD/logstash.yml:/usr/share/logstash/config/logstash.yml \
-v $PWD/:/data/ \
docker.elastic.co/logstash/logstash:7.8.1 \
--config.reload.automatic
logstash.conf
input {
file {
path=>["/data/*.json"]
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch{
hosts=>["xx.xx.xx.xx"]
index => "ceshiren2-%{+YYYY.MM}"
}
stdout {}
}
上课时候的配置
seveniruby:elk seveniruby$ cat logstash/logstash.conf
input{
file { path => "/data/topics*.json" }
}
filter{
json { source => "message" }
}
output{
elasticsearch { hosts => ['stuq.ceshiren.com:9200'] }
stdout {}
}
#logstash.yml为空
seveniruby:elk seveniruby$ cat logstash/logstash.yml
Kibana初步介绍
docker pull docker.elastic.co/kibana/kibana:7.8.1
docker run -d \
--name kibana \
--link elasticsearch:elasticsearch \
-p 5601:5601 \
docker.elastic.co/kibana/kibana:7.8.1
相关链接
https://www.elastic.co/guide/cn/index.html
作业
在本地搭建es+kibana+logstash,并截图kibana的discovery界面的数据到回复里