学海无涯
go,go,go

docker快速部署elk

命令如下:

#下载ELK使用的镜像
docker pull elasticsearch:7.6.0
docker pull kibana:7.6.0
docker pull logstash:7.6.0
docker pull mobz/elasticsearch‐head:5
#安装elasticsearch,创建一个elk文件夹, 后面的elk日志采集系统的配置文件都放在这里面
#创建elk使用配置文件的目录
mkdir -p /data/elk

#创建es使用的目录
mkdir  /data/elk/conf -p

#配置es的配置文件
cat >/data/elk/conf/elasticsearch.yml<<'EOF'
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# 访问ID限定,0.0.0.0为不限制,生产环境请设置为固定IP
transport.host: 0.0.0.0
# elasticsearch节点名称
node.name: node-1
# elasticsearch节点信息
cluster.initial_master_nodes: ["node-1"]
# 下面的配置是关闭跨域验证可以实现浏览器查看es的数据
http.cors.enabled: true
http.cors.allow-origin: "*"
EOF


#创建es使用的存储卷把数据映射出来
[root@centos7 ~]# docker volume create elasticsearch
elasticsearch


#创建并启动elasticsearch容器
docker run -di -p 9200:9200 -p 9300:9300 --name=elasticsearch -v /data/elk/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml   --mount src=elasticsearch,dst=/usr/share/elasticsearch elasticsearch:7.6.0
#把宿主机的配置文件映射到es作为配置文件
/data/elk/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
#把es的容器安装目录映射到宿主机
--mount src=elasticsearch,dst=/usr/share/elasticsearch

#创建成功
[root@centos7 elasticsearch]# docker run -di -p 9200:9200 -p 9300:9300 --name=elasticsearch -v /data/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml   --mount src=elasticsearch,dst=/usr/share/elasticsearch elasticsearch:7.6.0
317d2a274ec64500c44a7c8c0bea60175c2183a66e8e6e8a5554bc223e836e58

#对存储卷创建软连接实现快速访问
/data/docker/volumes/elasticsearch/_data/
ln -s /data/docker/volumes/elasticsearch/_data/ /data/elk/es

#测试是否安装成功
[root@centos7 es]# curl 127.0.0.1:9200
{
  "name" : "node-1",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "CK6xnBvaTciqRtWhjZf7WA",
  "version" : {
    "number" : "7.6.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
    "build_date" : "2020-02-06T00:09:00.449973Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
注意:如果需要添加插件时,需要将容器的插件目录映射到实际的路径中或者通过命令
(如安装ik分词器:docker cp ik elasticsearch:/usr/share/elasticsearch/plugins/)将其拷贝到容器中

#安装kibana
#kibana主要用于对elasticsearch的数据进行分析查看。注意选择的版本必须和elasticsearch的版本相同或者低,建议和elasticsearch的版本相同,否则会无法将无法使用kibana。

#创建配置文件
cat >/data/elk/conf/kibana.yml<<'EOF'
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.2.221:9200"]
# 操作界面语言设置为中文
i18n.locale: "zh-CN"
EOF

#创建kibana使用的容器卷
[root@centos7 conf]# docker volume create kibana
kibana

#创建并启动kibana容器
docker run -di --name kibana -p 5601:5601 -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml --mount src=kibana,dst=/usr/share/kibana kibana:7.6.0
#把宿主机的kibana配置文件映射到容器内部
 -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml
#把容器内的kibana的安装目录映射到宿主机的容器卷方便管理
--mount src=kibana,dst=/usr/share/kibana
[root@centos7 conf]# docker run -di --name kibana -p 5601:5601 -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml --mount src=kibana,dst=/usr/share/kibana kibana:7.6.0
580224aa345f0f84a404de86835b19886da4ecd5f49ebc9ccf2a65ec174e3eed

#创建kibana容器卷的软连接方便管理
[root@centos7 conf]# ln -s /data/docker/volumes/kibana/_data/ /data/elk/kibana
#安装logstash
#logstash会将收到的日志信息推送到elasticsearch中
#创建配置文件
vi /home/elk/kibana.yml
#在里面添加如下配置:
input {
    tcp {
        port => 5044
		# 输入为json数据
        codec => json_lines
    }
}
filter {

}
output {
	# 这个是logstash的控制台打印(进行安装调试的时候开启,稍后成功后去掉这个配置即可)
	stdout {
		codec => rubydebug
	}
	# elasticsearch配置
	elasticsearch {
		hosts => ["elasticsearch的IP:9200"]
		# 索引名称,没有会自动创建
		index => "logstash-%{[server_name]}-%{+YYYY.MM.dd}"
	}
}
%{[server_name]} 说明:这个是取输入的json数据中的key为server_name值。

创建和启动logstash容器
docker run -di -p 5044:5044 -v /home/elk/logstash.conf:/usr/share/logstash/pipeline/logstash.conf --name logstash logstash:7.6.0
赞(0) 打赏
未经允许不得转载:YYQ运维技术博客_运维的工作学习之路 » docker快速部署elk
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

运维devops

联系我们关于本博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏