Travailler ensemble pour créer et grandir ensemble ! C'est le 27ème jour de ma participation au "Nuggets Daily New Plan · August Update Challenge", cliquez pour voir les détails de l'événement
filebeat collecte les journaux de conteneur
De nombreuses entreprises utilisent désormais des conteneurs Docker pour exécuter des services. Il y aura de nombreux dockers sur une seule machine. Les journaux dans les conteneurs Docker doivent également être collectés et analysés. Filebeat dispose également d'un schéma de collecte de journaux pour les conteneurs Docker.
Adresse de configuration officielle www.elastic.co/guide/en/be…
1. Déployer le menu fixe
1.安装docker
[root@docker ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
[root@docker ~]# sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#' /etc/yum.repos.d/docker-ce.repo
[root@docker ~]# yum -y install docker-ce
[root@docker ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zggyaen3.mirror.aliyuncs.com"]
}
EOF
{
"registry-mirrors": ["https://zggyaen3.mirror.aliyuncs.com"]
}
2.启动docker
[root@docker ~]# systemctl start docker
3.运行一个nginx容器
[root@docker ~]# docker run -d -p 888:80 nginx
4.查看容器日志路径,这个日志就是容器里面程序的日志
[root@docker ~]# docker inspect compassionate_mayer | grep log
"LogPath": "/var/lib/docker/containers/7b345b1107fdd302d6b476403bb61eaca19414d42a3c316283d3f490f7380dfb/7b345b1107fdd302d6b476403bb61eaca19414d42a3c316283d3f490f7380dfb-json.log",
复制代码
2. Configurez filebeat pour collecter les journaux de conteneur Docker uniques
2.1. Configurer filebeat
1.配置filebeat
[root@docker /etc/filebeat]# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: docker
containers.ids:
- '7b345b1107fdd302d6b476403bb61eaca19414d42a3c316283d3f490f7380dfb' #填写容器的id
output.elasticsearch:
hosts: ["192.168.81.210:9200"]
indices:
index: "docker-nginx-%{+yyyy.MM.dd}"
setup.template.name: "docker"
setup.template.pattern: "docker-*"
setup.template.enabled: false
setup.template.overwrite: true
2.重启filebeat
[root@docker /etc/filebeat]# systemctl restart filebeat.service
复制代码
2.2. Vérifier si es a généré un index
2.3. L'indice sur les es associés au kibana
Cliquez sur Gestion --- Créer un index
2.4. Afficher les journaux collectés
Cliquez sur Découverte --- Sélectionnez Index
Les journaux du conteneur Docker collectés cette fois-ci ne sont pas si subdivisés. Bien que ce journal soit également au format json, Docker les met dans une valeur par défaut.
journal formaté
3. Configurer filebeat pour collecter plusieurs journaux de conteneur
3.1. Exécuter plusieurs dockers
[root@docker ~]# docker run -d -p 999:80 nginx
[root@docker ~]# docker run -d -p 888:80 nginx
复制代码
3.2. Configurer filebeat
[root@docker ~]# grep -Ev '#|^$' /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: docker
containers:
path: "/var/lib/docker/containers" #docker容器日志的路径
ids:
- "*" #如果只想收集一个容器的日志,就写一个容器的id号,如果想收集所有容器的日志则写*
output.elasticsearch:
hosts: ["192.168.81.210:9200"]
indices:
index: "docker-nginx-%{+yyyy.MM.dd}"
setup.template.name: "docker"
setup.template.pattern: "docker-*"
setup.template.enabled: false
setup.template.overwrite: true
复制代码
3.3. Générer un journal
ab -c 100 -n 5672 http://www.jiangxl.com:999/
ab -c 100 -n 1000 http://www.jiangxl.com:888/
复制代码
3.4. Vérifiez si l'index es a ajouté des données
a augmenté
3.5.kibana index es associé
3.6. Vérifier si les journaux collectés proviennent de plusieurs conteneurs
C'est déjà un journal d'un conteneur différent