Разбор журналов системного журнала Kubernetes с помощью Logstash - PullRequest
0 голосов
/ 21 октября 2019

Kubernetes оставляет логин /var/log/syslog. Пример:

I1021 12:57:47.052671   35084 setters.go:73] Using node IP: "10.11.22.33."

Я понимаю, что I означает info, за которым следует определенный код, затем отметка времени. Но какой код после этого? Что означает setters.go? Я также вижу, что реальное сообщение журнала приходит после ].

Я хотел бы проанализировать их с помощью Logstash, но я не смог найти никакой документации о том, что должно означать каждое поле в заголовке.

Конечно, я мог бы сам написать эти парсеры с фильтром grok, но сначала я бы хотел понять, что означает каждое сообщение.

1 Ответ

0 голосов
/ 21 октября 2019

I1021 12: 57: 47.052671 35084 setters.go: 73] Использование IP-адреса узла: "10.11.22.33."

/ var / log / syslog или / var / log / messages : общие сообщения, а также информация, связанная с системой. По сути, этот журнал хранит все данные о деятельности в глобальной системе. Обратите внимание, что действия для систем на основе Redhat, таких как CentOS или Rhel, хранятся в сообщениях, в то время как Ubuntu и другие системы на основе Debian хранятся в системном журнале.

Это запись в кубеле:

setters.go - это скрипт, написанный на GO, который обновляет конечные точки демона на узле.

73 - это номер строки, которая печатаетсообщение

klog.V(2).Infof("Using node IP: %q", nodeIP.String())

Если вы используете systemd, вы должны использовать jurnalctl -u kubelet

Вы также должны проверить документацию Kubernetes для Просмотр журналов .

Пока что копание глубже в кластер требует входа на соответствующие машины. Вот расположение соответствующих файлов журнала. (обратите внимание, что в системах на основе systemd вам может потребоваться использовать journalctl вместо)

Master

  • /var/log/kube-apiserver.log - сервер API, отвечающий заобслуживающий API
  • /var/log/kube-scheduler.log - Планировщик, отвечающий за принятие решений о планировании
  • /var/log/kube-controller-manager.log - Контроллер, управляющий контроллерами репликации

Рабочие узлы

  • /var/log/kubelet.log - Kubelet, отвечающий за запуск контейнеров на узле
  • /var/log/kube-proxy.log - Kube Proxy, отвечающий за балансировку нагрузки служб

Если вы ищете журналы приложений, проверьте Устранение неполадок приложений .

...