Как установить Graphite и Graphite Web в Ubuntu 20.04 | Ubuntu 18.08

Как установить Graphite и Graphite Web в Ubuntu 20.04 | Ubuntu 18.08

 

Graphite — это бесплатный инструмент мониторинга с открытым исходным кодом для хранения числовых данных временных рядов и их графиков в режиме реального времени.

Graphite не собирает данные сам по себе, вместо этого он получает данные от других инструментов. Как только Graphite получает данные, он может создавать графики в веб-приложении.

В этом руководстве мы узнаем, как установить Graphite и Graphite Web в Ubuntu 20.04 с помощью докера . Самый простой способ запустить экземпляр Graphite — использовать docker.

Как работает графит?

Обзор архитектуры Graphite показывает, что она состоит из трех программных компонентов:

  • Carbon: : закрученный демон, который пассивно слушает данные временных рядов для сбора данных.
  • Whisper : простая библиотека базы данных для хранения данных временных рядов
  • Graphite WebApp : Django WebApp, который отображает графику по запросу с использованием Cairo.

Приложение отправляет данные в серверную часть Graphite, Carbon, которая хранит данные в базе данных Graphite Whisper. Затем данные можно просмотреть через веб-интерфейс Graphite, приложение Graphite Web.

Шаг 1. Установите Docker в Ubuntu

Сначала мы установим Docker на Ubuntu . Используя Docker, вы можете запустить Grapgitue за секунды.

Чтобы установить докер, вам нужно будет установить некоторые предварительные условия:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

Теперь добавим ключ GP репозитория докеров:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Теперь добавьте Docker в источники APT. Он автоматически обновит кеш.

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Теперь установите докер, используя следующую команду:

$ sudo apt install docker-ce

Добавьте пользователя в группу docker, чтобы он мог использовать команду docker без прав sudo :

$ sudo usermod -aG docker username

Затем выйдите и войдите снова, чтобы действие вступило в силу.

Шаг 2. Запустите графит с помощью докера

Графит запускать с докером очень быстро. На этот раз ему потребуются некоторые другие компоненты, чем те, которые мы видели ранее по умолчанию:

  • Nginx: обратный прокси-сервер графитовой панели управления
  • Graphite: front-end панель
  • Carbon: back-end
  • Statsd: внутренний прокси на основе UDP

Вам также нужно будет проверить, будут ли доступны разные порты, которые нужны графиту. Кроме того, во время процесса будет выполнено сопоставление портов между хостом и контейнером, поэтому вы можете изменить некоторую конфигурацию сопоставления на своей стороне, если она не соответствует вашей фактической конфигурации. Вы можете получить дополнительную информацию об официальном репозитории графита на Github .

Host Container Service
80 80 nginx
2003 2003 carbon receiver — plaintext
2004 2004 carbon receiver — pickle
2023 2023 carbon aggregator — plaintext
2024 2024 Carbon aggregator — pickle
8080 8080 Graphite internal gunicorn port (without Nginx proxying).
8125 8125 statsd
8126 8126 statsd admin

Запустить докер nginx

В нашем случае мы будем запускать независимый контейнер в качестве обратного прокси-сервера Nginx.

$ docker run -d --name nginx -p 80:80 -p 443:443 -v /etc/nginx/htpasswd:/etc/nginx/htpasswd -v /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro -v /etc/nginx/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro etopian/nginx-proxy

Это поможет нам перенаправить весь HTTP-трафик по умолчанию на HTTPS при интеграции сертификатов. Вы должны заметить сопоставленный том для интеграции ваших сертификатов, который/etc/nginx/certs

Теперь откройте порт 80 и 443 на брандмауэре:

$ sudo ufw allow 80,443/tcp

Шаг 3. Графит — интегрируйте свой SSL-сертификат в nginx

Мы считаем, что у вас уже есть сертификаты SSL. Вам нужно будет скопировать его в подключенный том, настроенный для этого случая в Nginx. Мы назовем наш ключ и сертификат, как показано ниже:

  • domain.com.crt
  • domain.com.key

И мы скопируем два файла в сопоставленный том. Скопируйте сертификат

$ cp websitefortesting.com.crt /etc/nginx/certs

Скопируйте ключ

$ cp websitefortesting.com.key /etc/nginx/certs

Run graphite

Для запуска graphite мы также будем использовать команду docker run с некоторыми параметрами. В нашем случае мы укажем доменное имя нашей службы параметром -e VIRTUAL_HOST=domain.comпри ее запуске

$ docker run -d\
  --name graphite\
  --restart=always\
  -e VIRTUAL_HOST=websitefortesting.com\
  -p 2003-2004:2003-2004\
  -p 2023-2024:2023-2024\
  -p 8125:8125/udp\
  -p 8126:8126\
  graphiteapp/graphite-statsd

Как видите, нет необходимости сопоставлять порт 80 Nginx, поскольку он уже запущен. Теперь попробуйте получить доступ к графиту по URL-адресуhttps://domain.com

Как установить Graphite и Graphite Web в Ubuntu 20.04

Вы можете посмотреть statsd.

Как установить Graphite и Graphite Web в Ubuntu 20.04

Имя пользователя для входа в Graphite по умолчанию — root, и войдите с паролем root.

Как установить Graphite и Graphite Web в Ubuntu 20.04

Вам следует изменить пароль по умолчанию для корневого профиля, чтобы сделать его более безопасным, используя at https://domain.com/admin/password_change/

Как установить Graphite и Graphite Web в Ubuntu 20.04

Вы можете получить к нему доступ с новым паролем.

Заключение

В этом руководстве мы узнали, как запустить графит в Ubuntu 20.04 с помощью докера. Теперь вы можете легко отслеживать и графически отображать числовые данные временных рядов.