swarm部署efk监控docker集群
前文提要,ES集群已经部署好了
不清楚的可以看下这里https://www.cnblogs.com/whitelittle/p/16358037.html
下面是部署filebeat和kibana
按照涉及思路,FILEBEAT需要部署在每一个节点上,收集日志,KIBana只需要在master上有一个进行展示即可,这样数据存储有ES集群,也保证了高可用
直接上YML
cat efk.yml
[root@master ~]# docker stack ps efk
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
bgido9zu320z efk_filebeat.1 docker.elastic.co/beats/filebeat:7.4.2 node2 Running Running 15 minutes ago
rsifytwe4iza efk_kibana.1 docker.elastic.co/kibana/kibana:7.4.2 master Running Running 15 minutes ago
v24w0wm0nem8 efk_filebeat.2 docker.elastic.co/beats/filebeat:7.4.2 node1 Running Running 15 minutes ago
shr81pa54r8f efk_filebeat.3 docker.elastic.co/beats/filebeat:7.4.2 master Running Running 15 minutes ago
验证访问
http://xxxxxxxxxx:5601/,直接是中文界面

创建一个索引模式



使用了几天,补充一下使用心得
匹配该索引所有

在KIBANA中进行ES检索,是以GET /<index>/_search 这种格式进行的检索,而上文中提到了,filebeat写入到ES的索引名称格式是
docker-容器名-日期,所以我们这里填写docker-后会自动补全,弹出所有索引名称
按照条件匹配
GET /docker-redis_redis7003.1.fib6so8bol1yq7zjzope1cmq0-2022.06.20/_search
{
"query": {
"match": {
"@timestamp": "2022-06-20T06:53"
}
}
}
浙公网安备 33010602011771号