5.Prometheus: базовая авторизация

Thank you for reading this post, don't forget to subscribe!

По заве­ре­ни­ям раз­ра­бот­чи­ков систе­мы мони­то­рин­га Prometheus, они спе­ци­аль­но не уде­ля­ли вни­ма­ния под­держ­ке авто­ри­за­ции, скон­цен­три­ро­вав­шись на более важ­ных и «рево­лю­ци­он­ных» вещах.

В ито­ге, мет­ри­ки, кото­рые соби­ра­ет, напри­мер, node_exporter, доступ­ны для про­смот­ра любо­му жела­ю­ще­му по адре­су http://[IP-адрес сервера]:9100/metrics. Как доба­вить базо­вую авто­ри­за­цию в Prometheus — давай­те разберемся!

Счи­та­ем, что у нас уста­нов­ле­ны все необ­хо­ди­мые ком­по­нен­ты систе­мы мони­то­рин­га Prometheus, а так­же веб-сер­вер Nginx.

В кон­фи­гу­ра­ци­он­ном фай­ле /etc/nginx/nginx.conf доба­вим опи­са­ние наше­го сервера:

[codesyntax lang="php"]

[/codesyntax]

При­ме­ча­ние. Это лишь базо­вый при­мер настрой­ки, если у вас на сер­ве­ре рас­по­ло­же­но несколь­ко веб-сай­тов то кон­фиг будет выгля­деть иначе.

С помо­щью ути­ли­ты htpasswd, кото­рая вхо­дит в состав паке­та httpd-tools, созда­дим ново­го поль­зо­ва­те­ля, учет­ные дан­ные кото­ро­го будут исполь­зо­вать­ся для досту­па к мет­ри­кам node_exporter. Назо­вем его «testuser»:
htpasswd -c .htpasswd testuser
New password:
Re-type new password:
Adding password for user testuser

Файл .htpasswd состо­ит из строк, каж­дая из кото­рых соот­вет­ству­ет паре логин/хеш паро­ля. Логин отде­ля­ет­ся от хеша паро­ля двое­то­чи­ем. При­мер содер­жи­мо­го фай­ла .htpasswd:
testuser:eCc5ls0kn3MEXyserbY

Пере­чи­та­ем кон­фиг веб-сер­ве­ра Nginx командой:
nginx -s reload

Теперь при пере­хо­де по адре­су http://[IP-адрес сервера]:19100 необ­хо­ди­мо будет вве­сти логин/пароль создан­но­го с помо­щью ути­ли­ты htpasswd пользователя.

Ана­ло­гич­ным обра­зом мож­но настро­ить базо­вую авто­ри­за­цию и для осталь­ных ком­по­нен­тов систе­мы мони­то­рин­га Prometheus, напри­мер AlertmanagerPushgateway и т. д.