Centos 7
docker 20.10.18
elasticsearch:7.17.4
kibana:7.17.4
logstash:7.17.4
docker pull elasticsearch:7.17.4
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data/
mkdir -p /mydata/elasticsearch/plugins
vim /mydata/elasticsearch/config/elasticsearch.yml
#写入配置信息
vim /mydata/elasticsearch/config/elasticsearch.yml
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
#忽略安全认证
xpack.security.enabled: false
#给映射目录赋权限
chmod -R 777 /mydata/elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data/:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.17.4
docker pull docker.elastic.co/kibana/kibana:7.17.4
docker run -d --name kibana -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://192.168.1.122:9200" docker.elastic.co/kibana/kibana:7.17.4
注意:需要将ELASTICSEARCH_HOSTS对应的ip地址改成你自己的es的ip
如果有谷歌插件的就不需要安装了
docker pull mobz/elasticsearch-head:5
docker run --restart=always --name elasticsearch-head -di -p 9100:9100 docker.io/mobz/elasticsearch-head:5
#拉取镜像
docker pull logstash:7.17.4
#启动镜像
docker run -d --name=logstash logstash:7.17.4
#查看日志是否启动成功
docker logs -f logstash
#复制文件到本地
docker cp logstash:/usr/share/logstash /mydata/logstash/
#创建文件夹
mkdir /mydata/logstash/config/conf.d
#修改文件夹权限
chmod 777 -R /mydata/logstash
http.host: "0.0.0.0"
#根据实际修改es的ip:port
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.1.122:9200" ]
## 主管道的Logstash配置路径,如果指定目录或通配符,配置文件将按字母顺序从目录中读取
path.config: /usr/share/logstash/config/conf.d/*.conf
##Logstash将其日志写到的目录
path.logs: /usr/share/logstash/logs
input {
tcp {
port => 5044
#输入json格式
codec => json_lines
}
}
output {
elasticsearch {
hosts => ["http://192.168.1.122:9200"]
index => "%{[server_name]}-log-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
#删除容器
docker rm -f logstash
#重新映射目录启动docker镜像
docker run -d --name=logstash -p 5044:5044 -v /mydata/logstash:/usr/share/logstash logstash:7.17.4
#有需要再 安装logstash插件 不是必须安装
logstash-plugin install logstash-filter-multiline
net.logstash.logback
logstash-logback-encoder
4.9
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
${logPath}/info/es-demo-%d.log
${maxHistory}
ERROR
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
${logPath}/error/%d.log
60
192.168.1.122:5044
{"server_name":"es-demo"}
