🐳 Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Grafana Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Docker

Grafana – это вСдущая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ.

Она позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ для получСния Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… вашСго прилоТСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Grafana – это ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρƒ популярных поставщиков инфраструктуры, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° собствСнном ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

Π’ этом руководствС ΠΌΡ‹ сосрСдоточимся Π½Π° послСднСм Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Grafana для запуска экзСмпляра, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² Docker.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ созданиС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Grafana выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

docker run -d --name=grafana -p 3000:3000 grafana/grafana

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ свСТий сСрвСр Grafana, доступный Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 3000.

Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° сайт http://localhost:3000 ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ admin/admin.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ источники Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ ΠΈ для создания Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ β€œAdd your first data source” Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ источник; Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ поставщика Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ экранС, Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Grafana ΠΌΠΎΠ³Π»Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ вашим Π΄Π°Π½Π½Ρ‹ΠΌ.

Π—Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ страницу ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ β€œCreate your first dashboard”.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ панСль запросов для Π²Ρ‹Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅, ваша новая визуализация появится Π½Π° Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π΅.

Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° дСмонстрируСт, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ тСстовый экзСмпляр Grafana.

Запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊ ΠΏΡ€ΠΎΠ΄Ρƒ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ.

Π”Π°Π»Π΅Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ приспособлСн для долгосрочного использования.

Π’Ρ‹Π±ΠΎΡ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΎΠ±Ρ€Π°Π·Π°

Grafana ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ бизнСс-модСль с двумя лицСнзиями.

ВСрсия с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ публикуСтся ΠΊΠ°ΠΊ grafana/grafana Π½Π° Docker Hub, Π° вСрсия Enterprise – grafana/grafana-enterprise.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ инструкции Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΠΎΠΈΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Доступно нСсколько вСрсий Grafana, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставлСна Π² вСрсиях Alpine ΠΈΠ»ΠΈ Ubuntu.

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ситуаций развСртывания слСдуСт ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅ΡΡ‚ΡŒ Alpine: ΠΎΠ½Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π° ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° созданиС совмСстимой с Grafana срСды Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ.

Π’Ρ‹Π±ΠΎΡ€ ОБ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ добавлСния Π΅Π΅ названия послС вСрсии Grafana Π² Ρ‚Π΅Π³Π΅:

grafana/grafana:8.3.0-ubuntu

ВсСгда Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ выпуску, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.

Если ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ имя ОБ (grafana/grafana:8.3.0), Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ c alpine Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ вСрсии.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

ВрСбования ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ Grafana ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просты.

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ Docker для хранСния постоянных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ хоста, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ слуТбС.

Настройки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ ΠΏΡƒΡ‚Π΅ΠΌ монтирования ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния.

docker run -d --name grafana -p 9000:3000 

    -v grafana-data:/var/lib/grafana

    grafana/grafana:8.3.0

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запускаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Grafana ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ grafana, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 9000 Π½Π° вашСм хостС Docker.

ΠŸΠΎΡ€Ρ‚ привязан ΠΊ 3000 Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это адрСс ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ Grafana ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

На Ρ‚ΠΎΠΌ Docker ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ grafana-data ссылаСтся Ρ„Π»Π°Π³ -v.

Он монтируСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /var/lib/grafana Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π³Π΄Π΅ Grafana Ρ…Ρ€Π°Π½ΠΈΡ‚ всС свои сгСнСрированныС Π΄Π°Π½Π½Ρ‹Π΅.

ΠœΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π²Π½Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ остановкС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ хоста.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Grafana, Π·Π°Π΄Π°Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ любой ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… Grafana Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ INI, написав Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² GF_:

# INI file

instance_name = my-grafana



[security]

admin_user = demo

admin_password = grafana



---



# Corresponding environment variables

GF_DEFAULT_INSTANCE_NAME=my-grafana

GF_SECURITY_ADMIN_USER=demo

GF_SECURITY_ADMIN_PASSWORD=grafana

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ нСявноС имя сСкции DEFAULT, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ измСняСтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ выяснили, ΠΊΠ°ΠΊΠΈΠ΅ значСния Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π·Π°Π΄Π°ΠΉΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° -e:

docker run -d --name grafana -p 9000:3000 

    -e GF_DEFAULT_INSTANCE_NAME=my-grafana

    -e GF_SECURITY_ADMIN_USER=demo

    -e GF_SECURITY_ADMIN_PASSWORD=grafana

    -v grafana-data:/var/lib/grafana

    grafana/grafana:8.3.0

Grafana Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π½Π° основС Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния становится ΠΏΡƒΡ‚Π΅ΠΌ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, доступному Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Grafana ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² Ρ„Π°ΠΉΠ».

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ Π΅Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ суффикс __FILE:

docker run -d --name grafana -p 9000:3000 

    -e GF_DEFAULT_INSTANCE_NAME=my-grafana

    -e GF_SECURITY_ADMIN_USER=demo

    -e GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/password

    -v grafana-data:/var/lib/grafana

    grafana/grafana:8.3.0

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ bind mount (-v ./password.txt:/run/secrets/password) ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ систСмы управлСния сСкрСтами, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Docker Secrets.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π½Π° основС Ρ„Π°ΠΉΠ»ΠΎΠ² обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ бСзопасный способ ввСдСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста Π² ΠΆΡƒΡ€Π½Π°Π»Π°Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ CI ΠΈ истории вашСй ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Grafana Π½Π° дискС, Ссли Π²Ρ‹ измСняСтС слишком ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π’ ΠΎΠ±Ρ€Π°Π·Π΅ Docker этот Ρ„Π°ΠΉΠ» находится ΠΏΠΎ адрСсу /etc/grafana/grafana.ini.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρƒ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡƒΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Docker bind mount:

docker run -d --name grafana -p 9000:3000 

    -v ./grafana.ini:/etc/grafana/grafana.ini

    -v grafana-data:/var/lib/grafana

    grafana/grafana:8.3.0

ИспользованиС Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ слоТных настроСк.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для создания динамичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши намСрСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ

Для ΠΌΠ½ΠΎΠ³ΠΈΡ… установок Grafana Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ источники Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.

ΠžΠ±Ρ€Π°Π· Docker Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ, которая позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡƒΡ‚Π΅ΠΌ установки ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Grafana:

docker run -d --name grafana -p 9000:3000 

    -e GF_INSTALL_PLUGINS=grafana-simple-json-datasource

    -v grafana-data:/var/lib/grafana

    grafana/grafana:8.3.0

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ GF_INSTALL_PLUGINS ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ список ΠΈΠΌΠ΅Π½ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, для установки ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π­Ρ‚ΠΈ ΠΈΠΌΠ΅Π½Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ grafana-cli plugins install.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ выраТСния вСрсии, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ grafana-simple-json-datasource 1.1.0, ΠΈ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ сообщСства ΠΏΠΎ ΠΈΡ… URL:

docker run -d --name grafana -p 9000:3000 

    -e GF_INSTALL_PLUGINS=https://example.com/grafana-plugin.zip

    -v grafana-data:/var/lib/grafana

    grafana/grafana:8.3.0

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°

Π ΡƒΡ‡Π½ΠΎΠ΅ созданиС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Grafana с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³ΠΎΠ² запуска docker, являСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΈ Ρ‡Ρ€Π΅Π²Π°Ρ‚Ρ‹ΠΌ ошибками процСссом.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного ΠΎΠ±Ρ€Π°Π·Π° Docker с внСсСнными измСнСниями позволяСт ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ настройки, ΠΊΠΎΠ³Π΄Π° нСсколько Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр.

Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, написав Dockerfile, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· grafana/grafana.

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹.

FROM grafana/grafana:8.3.0



# Add plugins

ENV GF_INSTALL_PLUGINS=grafana-simple-json-datasource



# Copy a config file from your working directory

COPY grafana.ini /etc/grafana/grafana.ini

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свой Dockerfile для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° Grafana:

docker build -t custom-grafana:latest .

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сконфигурированный экзСмпляр ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈΠ· вашСго ΠΎΠ±Ρ€Π°Π·Π°:

docker run -d --name grafana -p 9000:3000 

    -v grafana-data:/var/lib/grafana

    custom-grafana:latest

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ внСсли Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π² срСду Grafana.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ свою ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² Π²Π΅Ρ€ΡΠΈΡŽ вашСй установки.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Docker ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ установку ΠΈ настройку Grafana, прСдоставляя ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ свою ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ быстро Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ экзСмпляры Grafana, привязав ΠΏΠΎΡ€Ρ‚ хоста, смонтировав Ρ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ прСдоставив значСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния.

ПозТС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² собствСнный ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·, созданный Π½Π° основС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·Ρ‹.

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!