Как я могу устранить неполадки, связанные с синхронизацией поваренных книг? - PullRequest
0 голосов
/ 23 февраля 2019

При запуске chef-client на одном из наших узлов в конце Synchronizing Cookbooks: мы получаем сообщение об ошибке Error Syncing Cookbooks: без дальнейшего сообщения.Что мы можем сделать для дальнейшей диагностики этой ошибки?

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете начать, добавив флаг -l debug к своему прогону chef-client.Это приведет к записи журнала уровня отладки в /var/log/chef/client.log

Например: [2019-02-22T19:16:16+00:00] DEBUG: HTTP 1.1 404 Not Found

Так как эта ошибка 404 означает, что файл не найден на сервере, мы можем войти в системусервер и посмотреть, какой файл недоступен.Запустите chef-server-ctl tail на chef-сервере, чтобы привязать логи всех запущенных сервисов.Снова запустите chef-client на своем клиенте, и вы получите больше сообщений на chef-сервере.

Вот пример из nginx access.log:

==> /var/log/opscode/nginx/access.log <== [22/Feb/2019:21:25:06 +0000] "GET /bookshelf/organization-c1573b41a76ea22b9eb7c36d939fcad4/checksum-bfacb2422a1078b91660f763f0842e8d HTTP/1.1" 404 "0.002" 173 "-" "Chef Client/12.19.36 (ruby-2.3.1-p112; ohai-8.23.0; x86_64-linux; +https://chef.io)" "127.0.0.1:4321" "404" "0.002" "12.19.36" "algorithm=sha1;version=1.1;" "dev" "2019-02-22T21:25:06Z" "" 1265

Это позволяет нам знать, что конкретная контрольная сумма на книжной полке отсутствует.Нет простого способа соотнести это с соответствующей кулинарной книгой, но вы можете сделать запрос к базе данных psql, чтобы определить, какая кулинарная книга вызывает проблему.Получите ваши учетные данные psql на chef-сервере из файла chef-server.rb: cat /etc/opscode/chef-server.rb

psql, используя контрольную сумму из строки сообщения об ошибке 404:

select name from cookbooks, cookbook_versions, cookbook_version_checksums where cookbooks.id = cookbook_versions.cookbook_id and cookbook_versions.id = cookbook_version_checksums.cookbook_version_id and checksum = 'bfacb2422a1078b91660f763f0842e8d';

Теперь, когда у нас есть имя поваренной книги, мы смогли увеличить номер версии поваренной книги и повторно загрузить его на chef-сервер.Затем клиент смог найти новую версию поваренной книги, и ошибка 404 была устранена.

...