Как установить 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
Вы можете посмотреть statsd.
Имя пользователя для входа в Graphite по умолчанию — root, и войдите с паролем root.
Вам следует изменить пароль по умолчанию для корневого профиля, чтобы сделать его более безопасным, используя at https://domain.com/admin/password_change/
Вы можете получить к нему доступ с новым паролем.
Заключение
В этом руководстве мы узнали, как запустить графит в Ubuntu 20.04 с помощью докера. Теперь вы можете легко отслеживать и графически отображать числовые данные временных рядов.