我有一个运行大量服务的码头工人群。我正在使用弹性堆栈(kibana,elastic,filebeat等)进行监视。
对于业务逻辑,我正在编写日志,并使用filebeat将其移动到logstash并分析kibana中的数据。
但是我在监视我的docker服务的活跃性方面遇到了麻烦。其中一些已全局部署(例如filebeat),其中一些具有多个副本。我无法在kibana中看到正在运行的容器的数量等于该服务应具有的数量。我正在尝试将metricbeat与docker module一起使用,我发现最有用的度量标准集是container
,但是它似乎没有足够的信息让我显示或分析的实例数服务。
我将不胜感激如何实现这一目标的任何建议。
metricbeat配置
metricbeat.autodiscover:
providers:
- type: docker
hits.enabled: true
metricbeat.modules:
- module: docker
enabled: true
metricsets:
- container
- healthcheck
- info
period: 10s
hosts: [ "unix:///var/run/docker.sock" ]
processors:
- add_docker_metadata: ~
- add_locale:
format: offset
output.logstash:
hosts: [ "mylogstash.com" ]
指标集container
日志数据(相关的docker部分)
...
"docker" : {
"container": {
"id": "60983ad304e13cb0245a589ce843100da82c5fv9e093aad68abb439cdc2f3044"
"status": "Up 3 weeks",
"command": "./entrypoint.sh",
"image": "registry.com/myimage",
"created": "2019-04-08T11:38:10.000Z",
"name": "mystack_myservice.wuiqep73p99hcbto2kgv6vhr2.mufs70y24k5388jxv782in18f",
"ip_addresses": [ "10.0.0.148" ]
"labels" : {
"com_dokcer_swarm_node_id": "wuiqep73p99hcbto2kgv6vhr2",
"com_docker_swarm_task_name": "stack_service.wuiqep73p99hcbto2kgv6vhr2.mufs70y24k5388jxv782in18f",
"com_docker_swarm_service_id": "kxm5dk43yzyzpemcbz23s21xo",
"com_docker_swarn_task_id": "mufs70y24k5388jxv782in18f",
"com_docker_swarm_task" : "",
"com_docker_stack_namespace": "mystack",
"com_docker_swarm_service_name": "mystack_myservice"
},
"size": {
"rw": 0,
"root_fs": 0
}
}
}
...
答案 0 :(得分:0)
供以后参考:
我编写了一个bash脚本,该脚本按时间间隔运行,并为每个swarm服务编写一个json日志。脚本被包装在图像https://www.google.com/search?q=
中