Hi,
I am using metricbeat and I want to use metricbeat agent as docker container. I followed the link provided by elastic.co..
https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html
This documentation is totally confusing.
After working for a long time, I found I need to provide my custom metricbeat.yml file.
@elastic -team, please correct the docker run command for the above link.If you have provided something then it should be correct.
The following command provided in the command is wrong.Please verify and correct.
docker run
--volume=/proc:/hostfs/proc:ro \
--volume=/sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro \
--volume=/:/hostfs:ro \
--net=host
docker.elastic.co/beats/metricbeat:6.0.0 -system.hostfs=/hostfs
My issues:
After providing custom yml file,I am able to get only system metrics but not docker metrics.Please find my yml file...
###################### Metricbeat Configuration Example #######################
This file is an example configuration file highlighting only the most common
options. The metricbeat.full.yml file from the same directory contains all the
supported options with more comments. You can use it as a reference.
You can find the full configuration reference here:
https://www.elastic.co/guide/en/beats/metricbeat/index.html
#========================== Modules configuration ============================
metricbeat.modules:
#------------------------------- System Module -------------------------------
-
module: system
metricsets:CPU stats
- cpu
System Load stats
- load
Per CPU core stats
#- core
IO stats
#- diskio
Per filesystem stats
- filesystem
File system summary stats
- fsstat
Memory stats
- memory
Network stats
- network
Per process stats
- process
Sockets (linux only)
#- socket
enabled: true
period: 10s
processes: ['.*'] -
module: docker
metricsets: ["container", "cpu", "diskio","image", "healthcheck", "info", "memory", "network"]
hosts: ["unix:///var/run/docker.sock"]
period: 10s
#================================ General =====================================
The name of the shipper that publishes the network data. It can be used to group
all the transactions sent by a single shipper in the web interface.
#name:
The tags of the shipper are included in their own field with each
transaction published.
#tags: ["service-X", "web-tier"]
Optional fields that you can specify to add additional information to the
output.
#fields:
env: staging
#================================ Outputs =====================================
Configure what outputs to use when sending the data collected by the beat.
Multiple outputs may be used.
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
Array of hosts to connect to.
hosts: ["localhost:9200"]
Optional protocol and basic auth credentials.
#protocol: "https"
#username: "elastic"
#password: "changeme"
#----------------------------- Logstash output --------------------------------
#output.logstash:
The Logstash hosts
#hosts: ["x.x.x.x:5044"]
Optional SSL. By default is off.
List of root certificates for HTTPS server verifications
#ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
Certificate for SSL client authentication
#ssl.certificate: "/etc/pki/client/cert.pem"
Client Certificate Key
#ssl.key: "/etc/pki/client/cert.key"
#================================ Logging =====================================
Sets log level. The default log level is info.
Available log levels are: critical, error, warning, info, debug
logging.level: debug
At debug level, you can selectively enable logging only for some components.
To enable all selectors use ["*"]. Examples of other selectors are "beat",
"publish", "service".
#logging.selectors: ["*"]
I am getting en error in the Kibana. Please find the error message:
error.message:Get http://unix.sock/containers/json?: dial unix /var/run/docker.sock: connect: no such file or directory @timestamp:November 29th 2017, 12:35:46.668 metricset.host:/var/run/docker.sock metricset.rtt:205 metricset.module:docker metricset.name:cpu beat.name:ip-172-x.x.x beat.hostname:ip-172-x.x.x beat.version:6.0.0 _id:AWAGmIUl26-ciqSLjq5g _type:doc _index:metricbeat-6.0.0-2017.1.
I belive that docker module is not able to connect the docker socket.
Please help to fix the issue.