elk 安装

创建elk网络

复制代码
 docker network create -d bridge elk

elasticsearch

创建目录

复制代码
mkdir -p /data/elasticsearch/{conf,logs,data,plugins}

vim /data/elasticsearch/conf/elasticsearch.yml

cluster.name: "es-cluster"
network.host: 0.0.0.0
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
http.cors.allow-origin: "*"
http.cors.enabled: true

权限更改

复制代码
 chmod 666 /data/elasticsearch/conf/elasticsearch.yml
 chmod -R 777 /data/elasticsearch/data

启动

复制代码
docker run --privileged  \
--name elasticsearch  \
--restart=always  --net elk  \
-p 9200:9200 -p 9300:9300  \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data  \
-v /data/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  \
-v /data/elasticsearch/logs:/data/logs  \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins  \
-v /etc/localtime:/etc/localtime  \
-e ES_JAVA_OPTS="-Xms12g -Xmx12g"  \
-e "discovery.type=single-node"  \
-d elasticsearch:7.17.7

设置密码

复制代码
# 进入容器
docker exec -it elasticsearch /bin/bash
# 进入设置密码目录
cd /usr/share/elasticsearch/bin
# 设置密码 
elasticsearch-setup-passwords interactive

#设置完成后操作 退出容器
exit
# 重启容器
docker restart elasticsearch

涉及到的用户名

复制代码
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

验证

复制代码
curl http://127.0.0.1:9200 -u elastic:密码

es 地址

复制代码
 http://ip:9200

kibana

启动一个服务

复制代码
docker run -d --name kibana --net elk -P -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" -e "I18N_LOCALE=zh-CN" kibana:7.17.7 

创建目录

复制代码
mkdir -p /data/kibana/{conf,logs,data,plugins}

拷贝文件

复制代码
docker cp kibana:/usr/share/kibana/config/kibana.yml /data/kibana/conf/kibana.yml

修改配置文件

复制代码
vim /data/kibana/conf/kibana.yml

server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
elasticsearch.username: "kibana_system"
elasticsearch.password: "密码"
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN

权限更改

复制代码
chmod 777  /data/kibana/data
chmod 666  /data/kibana/conf/kibana.yml

删除容器

复制代码
docker rm -f kibana

启动

复制代码
 docker run -d --name kibana --restart=always   --net elk  -p 5601:5601 \
    -v /data/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml \
    -v /data/kibana/data:/usr/share/kibana/data \
    -v /data/kibana/plugins:/usr/share/kibana/plugins \
    -v /data/kibana/logs:/usr/share/kibana/logs \
  kibana:7.17.7

kibana 地址

复制代码
 http://ip:5601

logstash

启动一个服务

复制代码
docker run -d -P --name logstash --net elk docker.elastic.co/logstash/logstash:7.17.12

创建目录

复制代码
mkdir -p /data/logstash/{conf,data,pipeline}

拷贝文件

复制代码
 docker cp logstash:/usr/share/logstash/config/ /data/logstash/conf/
 docker cp logstash:/usr/share/logstash/data/ /data/logstash/data/
 docker cp logstash:/usr/share/logstash/pipeline/ /data/logstash/pipeline/

修改配置文件

复制代码
  vim /data/logstash/conf/logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ]

 vim /data/logstash/pipeline/logstash.conf

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 5044
    codec => json_lines
  }
}
output {
   if [appindex] =~ "xxx" 
  {
       elasticsearch {
         hosts => ["http://elasticsearch:9200"]
         index => "log-%{+YYYY.MM.dd}"
         user => "logstash_system"
          password => "密码"
       }
     }
}

权限更改

复制代码
 chmod -R 777  /data/logstash/data/
  chmod -R 666  /data/logstash/conf/

删除容器

复制代码
   docker rm -f logstash

启动

复制代码
    docker run -d  --name logstash --net elk \
    --privileged=true \
    -p 5044:5044 -p 9600:9600 \
    -v   /data/logstash/data/:/usr/share/logstash/data \
    -v  /data/logstash/conf/:/usr/share/logstash/config \
    -v  /data/logstash/pipeline/:/usr/share/logstash/pipeline \
docker.elastic.co/logstash/logstash:7.17.12

logstash 收集地址

复制代码
 ip:5044
相关推荐
Gold Steps.5 小时前
从0到1认识ElasticStack
elk·云原生·es
一只BI鱼4 天前
微服务常用日志追踪方案:Sleuth + Zipkin + ELK
elk·微服务·架构
xrz2774 天前
docker部署ELK,ES开启安全认证
elk·elasticsearch·docker
怡人蝶梦5 天前
Java大厂后端技术栈故障排查实战:Spring Boot、Redis、Kafka、JVM典型问题与解决方案
java·jvm·redis·elk·kafka·springboot·prometheus
玩电脑的辣条哥5 天前
如何用docker部署ELK?
elk·docker·容器
万米商云8 天前
商城前端监控体系搭建:基于 Sentry + Lighthouse + ELK 的全链路监控实践
前端·elk·sentry
YJQ99678 天前
基于ELK的分布式日志实时分析与可视化系统设计
分布式·elk
hwj运维之路12 天前
k8s部署ELK补充篇:kubernetes-event-exporter收集Kubernetes集群中的事件
elk·容器·kubernetes
twj_one13 天前
SpringBoot+ELK 搭建日志监控平台
spring boot·后端·elk
小韩加油呀13 天前
python定时删除指定索引
python·elk·indics