Как да

Инсталирайте Graphite и Graphite-Web на Ubuntu 20.04 с помощта на Docker

Инсталирайте Graphite и Graphite-Web на Ubuntu 20.04 с помощта на Docker

Добре дошли в нашето ръководство, което отразява инсталирането на Graphite и Graphite-Web на Ubuntu 20.04. Graphite е платформа за наблюдение с отворен код, проектирана да бъде високодостъпна и с поддръжка за визуализация на данни. Начинът, по който потребителят ще използва Graphite, е като напише приложение, което събира числови данни от времеви редове, които да бъдат графирани, и ги изпрати до обработващата среда на Graphite, въглерод, която съхранява данните в специализираната база данни на Graphite.

Графитът ще:

  1. Съхранявайте числови данни от времеви редове
  2. Изобразявайте графики на тези данни при поискване

Налични са много инструменти, които ви помагат да събирате и изпращате данни на графит.  Въпреки че често изисква малко код, изпращането на данни до Graphite е много просто. Graphite е проектиран за хоризонтална мащабируемост, както за интерфейса, така и за бекенда, което означава, че можете просто да добавите още машини към микса, за да получите по-голяма производителност.

Graphite се състои от 3 софтуерни компонента:

  1. въглерод - усукан демон, който слуша данни от времеви редове
  2. шепнеш - проста библиотека от бази данни за съхраняване на данни от времеви редове (подобна по дизайн на RRD)
  3. графит webapp - Уеб приложение на Django, което изобразява графики при поискване, използвайки Кайро

Тази статия ще ви покаже как можете лесно да имате работещ екземпляр на Graphite Server на Ubuntu 20.04 Сървър

Инсталирайте Graphite и Graphite-Web на Ubuntu 20.04 с помощта на Docker

Най-лесният и бърз метод за стартиране на Graphite на Ubuntu 20.04 е с помощта на Docker контейнери. За целта всичко, което се изисква от вас, е инсталиране на Docker, издърпване на изображения на контейнери и стартиране на графитни контейнери.

Стъпка 1: Актуализиране на системата

Започнете с актуализиране и надграждане на вашата система.

sudo apt актуализация sudo apt надстройка -y

След приключване на надстройката рестартирайте системата.

sudo рестартиране

Стъпка 2: Инсталирайте Docker Container Engine

След като системата се рестартира, влезте и инсталирайте няколко зависимости.

sudo apt актуализация sudo apt -y инсталиране vim apt-transport-https ca-сертификати curl gnupg-agent software-properties-common

Импортиране на APG хранилище APT хранилище GPG ключове.

curl -fsSL https: // изтегляне.докер.com / linux / ubuntu / gpg | sudo apt-key add -

Добавете хранилището на Docker CE към машината на Ubuntu.

sudo add-apt-repository "deb [arch = amd64] https: // изтегляне.докер.com / linux / ubuntu $ (lsb_release -cs) стабилен "

Инсталирайте Docker CE на Ubuntu 20.04 Сървър.

sudo apt актуализация sudo apt инсталиране docker-ce docker-ce-cli containerd.io

Добавете вашия потребителски акаунт към докер група.

sudo usermod -aG докер $ USER newgrp докер

Проверете инсталацията, като проверите версията на Docker:

Информация за $ docker Клиент: Режим за отстраняване на грешки: фалшив Сървър: Контейнери: 0 Изпълнявани: 0 На пауза: 0 Спрени: 0 Изображения: 0 Версия на сървъра: 19.03.13 Драйвер за съхранение: overlay2 Резервна файлова система: extfs Поддържа d_type: true Вграден диференциал за наслагване: true Logging Driver: json-файл Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json- файл локални дневници splunk syslog Рояк: неактивен Времена на изпълнение: runc Време за изпълнение по подразбиране: runc Инициализация двоичен: docker-init containerd версия: 8fba4e9a7d01810a393d5d25a3621dc101981175 версия на runc: dc9208a3303feef5b3839f4323d9d09ddd9ddd9ddddddddddddddddddddddddddddddddddddddddddddd9d9d9.4.0-48-родова операционна система: Ubuntu 20.04.1 LTS OSType: linux Architecture: x86_64 CPU: 1 Обща памет: 1.894GiB Име: ubuntu ID: ZJXE: T7RY: FSAV: CRBN: Q6Y7: YQQA: 2ELU: VH25: P6PJ: 6X6B: 3WTC: EU2F Docker Root Dir: / var / lib / docker Режим на отстраняване на грешки: фалшив регистър: https: // index.докер.io / v1 / Етикети: Експериментално: невярно Несигурни регистри: 127.0.0.0/8 Live Restore Enabled: false

Уверете се, че услугата работи, преди да можете да продължите:

$ systemctl статус докер ● докер.услуга - Docker Application Container Engine Loaded: заредена (/ lib / systemd / system / docker.обслужване; активиран; предварително зададен от доставчика: активиран) Активен: активен (работи) от Нед 2020-10-11 03:02:10 CEST; Преди 1 мин. 12s TriggeredBy: ● докер.socket Docs: https: // docs.докер.com Основен PID: 2663 (dockerd) Задачи: 8 Памет: 35.7M CGroup: / система.парче / докер.услуга └─2663 / usr / bin / dockerd -H fd: // --containerd = / run / containerd / containerd.sock 11 октомври 03:02:10 ubuntu dockerd [2663]: time = "2020-10-11T03: 02: 10.495871164 + 02: 00 "ниво = предупреждение msg =" Вашето ядро ​​не поддържа cgroup rt runtime "11 октомври 03:02:10 ubuntu dockerd [2663]: time =" 2020-10-11T03: 02: 10.496038020 + 02: 00 "ниво = предупреждение msg =" Вашето ядро ​​не поддържа cgroup blkio weight "11 октомври 03:02:10 ubuntu dockerd [2663]: time =" 2020-10-11T03: 02: 10.496232070 + 02: 00 "ниво = предупреждение msg =" Вашето ядро ​​не поддържа cgroup blkio weight_device "11 октомври 03:02:10 ubuntu dockerd [2663]: time =" 2020-10-11T03: 02: 10.497045530 + 02: 00 "ниво = информация msg =" Зареждане на контейнери: старт."11 октомври 03:02:10 ubuntu dockerd [2663]: time =" 2020-10-11T03: 02: 10.667666503 + 02: 00 "ниво = информация msg =" Мостът по подразбиране (docker0) е зададен с IP адрес 172.17.0> 11 октомври 03:02:10 ubuntu dockerd [2663]: time = "2020-10-11T03: 02: 10.781078393 + 02: 00 "ниво = информация msg =" Зареждане на контейнери: готово."11 октомври 03:02:10 ubuntu dockerd [2663]: time =" 2020-10-11T03: 02: 10.835604534 + 02: 00 "ниво = информация msg =" демон на Docker "commit = 4484c46d9d graphdriver (s) = overlay2 версия> 11 октомври 03:02:10 ubuntu dockerd [2663]: time =" 2020-10-11T03: 02: 10.836601759 + 02: 00 "ниво = информация msg =" Daemon е завършил инициализацията "11 октомври 03:02:10 ubuntu systemd [1]: Стартиран двигател на контейнер за приложения на Docker.

Стъпка 3: Стартирайте Graphite на Ubuntu 20.04 в контейнера на Docker

След като двигателят на докер е инсталиран и работи, е време да стартирате контейнер за докер за Graphite и Statsd. Ще използваме официалния репозитор на Docker за Graphite:

Изтеглете най-новото изображение на докер.

$ Докер дърпане graphiteapp / графит-statsd Използването етикет по подразбиране: най-новите най-новите: Дърпане от graphiteapp / графит-statsd df20fa9351a1: Pull пълна f9a569415da5: Pull пълна 8f0c7d0dc99e: Pull пълна 700de820209a: Pull пълна Digest: SHA256: 04a0037cc2ae7cc189b81fb38fbdc914fe269b861108821bea1ed776878334de Статус: Изтеглен нова картинка за graphiteapp / graphite-statsd: последен докер.io / graphiteapp / graphite-statsd: най-новите

Списък на наличните изображения:

$ docker images ИДЕНТИФИКАЦИЯ НА ИЗОБРАЖЕНИЕТО НА РЕПОЗИТОРИЯ СЪЗДАДЕН РАЗМЕР graphiteapp / graphite-statsd последна 875c7f22f4cd преди 2 месеца 628MB

Създайте директории в хост системата за постоянно съхранение на данни. Това може да бъде точка на монтиране на диск или дял, посветен на съхранение на графитни данни.

sudo mkdir -p / data / graphite / данни, регистрационни файлове, conf, statsd_config

Изтегленото от нас изображение включва следните компоненти:

Картирани портове

ВодещКонтейнерОбслужване
8080nginx
2003 г2003 гвъглероден приемник - открит текст
2004 г2004 гвъглероден приемник - туршия
2023 г2023 гвъглероден агрегатор - открит текст
2024 г2024въглероден агрегатор - туршия
80808080Графитен вътрешен порт за оръжие (без прокси на Nginx).
81258125statsd
81268126statsd администратор

Graphite & Statsd могат да бъдат сложни за настройка. Предоставеното изображение на докер ще ви накара да стартирате и събирате статистика само за няколко минути.

Променете часовата зона на правилната настройка, преди да стартирате командите.

докер стартиране -d \ --име графит \ - рестарт = винаги \ -p 80:80 \ -p 2003-2004: 2003-2004 \ -p 2023-2024: 2023-2024 \ -p 8125: 8125 / udp \ -p 8126: 8126 \ -v / data / graphite / data: / opt / graphite / storage \ -v / data / graphite / conf: / opt / graphite / conf \ -v / data / graphite / statsd_config: / opt / statsd / config \ -v / data / graphite / logs: / var / log \ -e GRAPHITE_TIME_ZONE = "Африка / Найроби" \ graphiteapp / graphite-statsd

Избройте работещите контейнери, за да видите дали графитният контейнер работи.

$ docker ps ИДЕНТИФИКАЦИЯ НА КОНТЕЙНЕРА ИМИДЖ КОМАНДА СЪЗДАДЕН ИМЕНА НА СТАТУС ПРИСТАНИЩА 4a26c4c0f746 graphiteapp / graphite-statsd "/ entrypoint" преди 31 секунди Нагоре 29 секунди 0.0.0.0: 80-> 80 / tcp, 0.0.0.0: 2003-2004-> 2003-2004 / tcp, 2013-2014 / tcp, 8080 / tcp, 0.0.0.0: 2023-2024-> 2023-2024 / tcp, 0.0.0.0: 8126-> 8126 / tcp, 8125 / tcp, 0.0.0.0: 8125-> 8125 / udp графит

Можете да предавате дневници, за да проверите дали има грешки.

$ docker дневници -f графит

Примерен изход:

,,… 1/10/2020 01:23:58 :: [tagdb] Маркиран въглерод.агрегатор.4a26c4c0f746-a.дестинации.127_0_0_1: 2004: Няма.опит Релета, въглерод.агрегатор.4a26c4c0f746-a.буферирани точки в 0.021245479583740234 11/10/2020 01:24:06 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57472 установена на 10.10.2020 01:24:06 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57472 затворено чисто 11/10/2020 01:24:08 :: [tagdb] Маркиране на въглерод.агенти.4a26c4c0f746-a.грешки 10.10.2020 01:24:08 :: [tagdb] Маркиран въглерод.агенти.4a26c4c0f746-a.грешки в 0.15246272087097168 11/10/2020 01:24:16 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57476 установена на 10.10.2020 01:24:16 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57476 затворено чисто 11/10/2020 01:24:26 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57478 установена на 11/10/2020 01:24:26 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57478 затворено чисто 11/10/2020 01:24:26 :: [tagdb] Статистика за маркиране.statsd.graphiteStats.last_flush 11/10/2020 01:24:26 :: [tagdb] Маркирани статистики.statsd.graphiteStats.last_flush в 0.013707160949707031 11/10/2020 01:24:36 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57482 установена на 11/10/2020 01:24:36 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57482 затворено чисто 11/10/2020 01:24:36 :: [tagdb] Статистика за маркиране.таймери.изглед.графит.етикети.мнения.tagMultiSeries.ПОСТ.count_90 10/10/2020 01:24:36 :: [tagdb] Маркирани статистики.таймери.изглед.графит.тагове.мнения.tagMultiSeries.ПОСТ.count_90 в 0.011429786682128906 11/10/2020 01:24:46 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57486 установена на 10.10.2020 01:24:46 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57486 затворено чисто 11/10/2020 01:24:47 :: [tagdb] Маркиране на въглерод.агрегатор.4a26c4c0f746-a.whitelistRejects 11/10/2020 01:24:47 :: [tagdb] Маркиран въглерод.агрегатор.4a26c4c0f746-a.whitelist Отхвърля в 0.015319108963012695 11/10/2020 01:24:56 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57490 установена на 11/10/2020 01:24:56 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57490 затворено чисто 11/10/2020 01:24:57 :: [tagdb] Маркиране на въглерод.агенти.4a26c4c0f746-a.memUsage 10.10.2020 01:24:57 :: [tagdb] Маркиран въглерод.агенти.4a26c4c0f746-a.memUsage в 0.009841442108154297 11/10/2020 01:25:06 :: [слушател] Връзка MetricLineReceiver със 127.0.0.1: 57494 установена на 11/10/2020 01:25:06 :: [слушател] MetricLineReceiver връзка със 127.0.0.1: 57494 затворено чисто 11/10/2020 01:25:07 :: [tagdb] Маркиране на въглерод.агенти.4a26c4c0f746-a.създава 10/10/2020 01:25:07 :: [tagdb] Маркиран въглерод.агенти.4a26c4c0f746-a.създава в 0.019759416580200195

По подразбиране statsd слуша на UDP порта 8125. Ако искате вместо това да слуша на TCP порт 8125, можете да зададете променливата на средата STATSD_INTERFACE да се tcp при пускане на контейнера.

Стъпка 4: Достъп до графичния уеб интерфейс

След това можете да осъществите достъп до графичната уеб конзола, използвайки IP адреса на сървъра или номера на порта и порта, картографиран на хоста към порта на контейнера 80:

Кредитите за вход по подразбиране са:

Потребителско име: корен Парола: корен

Променете тези идентификационни данни за вход след първото влизане на адрес http: // ip-address / admin / auth / user / 1 /. Щракнете върху „Промяна на паролата”Връзка за иницииране на промяна на парола на root потребител.

Предоставете желаната нова коренна парола и потвърдете.

Вече можете да излезете и да се върнете с новата парола.

Стъпка 5: Управление на графитен контейнер със Systemd

За да сме сигурни, че нашият контейнер е стартиран при стартиране на системата, нека създадем нов файл на услугата Systemd.

sudo tee / etc / systemd / system / graphite-docker.обслужване<

Презаредете услугата Systemd.

sudo systemctl daemon-reload

Единичният файл, който създадохме, сега трябва да бъде разпознат.

$ sudo systemctl list-unit-files графичен докер.услуга UNIT FILE STATE VENDOR PRESET графичен докер.услугата е деактивирана активирани 1 единица изброени файлове.

Нека разрешим стартирането на услугата при стартиране на системата.

$ sudo systemctl активира графит-докер Създадена символна връзка / etc / systemd / system / multi-user.мишена.иска / графит-докер.услуга → / etc / systemd / system / graphite-docker.обслужване.

Убийте работещия контейнер, за да потвърдите, че услугата работи.

sudo docker rm -f графит

Ако нямате други контейнери, списъкът ps трябва да се върне празен.

$ docker ps ИМЕ НА КОНТЕЙНЕР ИМИДЖ КОМАНДА СЪЗДАДЕН СТАТУС ПРИСТАНИЯ ИМЕНА

Стартирайте услугата Systemd.

sudo systemctl старт графитен докер.обслужване

Проверете състоянието на услугата:

$ systemctl статус графитен докер.сервиз ● графитен докер.услуга - Зареден контейнер за графитен докер: зареден (/ etc / systemd / system / graphite-docker.обслужване; активиран; предварително зададен от доставчика: активиран) Активен: активен (работи) от Нед 2020-10-11 03:53:48 CEST; Преди 10s Документи: https: // github.com / graphite-project / docker-graphite-statsd Процес: 16394 ExecStartPre = / usr / bin / docker kill graphite (code = exited, status = 1 / FAILURE) Процес: 16410 ExecStartPre = / usr / bin / docker rm графит (код = излязъл, статус = 1 / FAILURE) Процес: 16416 ExecStartPre = / usr / bin / docker pull graphiteapp / graphite-statsd (код = излязъл, статус = 0 / УСПЕХ) Основен PID: 16428 (докер) Задачи: 7 (ограничение: 2286) Памет: 25.1M CGroup: / система.филийка / графитен докер.услуга └─16428 / usr / bin / docker run --name graphite --restart = always -p 80:80 -p 2003-2004: 2003-2004 -p 2023-2024: 2023-2024 -p 8125: 8125 / udp -p 8126: 8126 -v> 11 октомври 03:53:53 графит на ubuntu [16428]: run: carbon: (pid 73) 5s; run: log: (pid 72) 5s Oct 11 03:53:53 ubuntu graphite [16428]: run: carbon-aggregator: (pid 66) 5s; run: log: (pid 65) 5s 11 октомври 03:53:53 ubuntu графит [16428]: надолу: въглерод-реле: 1s, обикновено нагоре, искам нагоре; run: log: (pid 59) 5s 11 октомври 03:53:53 ubuntu графит [16428]: надолу: colled: 1s, обикновено нагоре, искам нагоре 11 октомври 03:53:53 ubuntu графит [16428]: run: cron: (pid 58) 5s 11 октомври 03:53:53 ubuntu графит [16428]: надолу: go-carbon: 1s, обикновено нагоре, искам нагоре 11 октомври 03:53:53 ubuntu графит [16428]: run: graphite: (pid 70) 5s 11 октомври 03:53:53 ubuntu графит [16428]: run: nginx: (pid 63) 5s 11 октомври 03:53:53 ubuntu графит [16428]: надолу: redis: 1s, обикновено нагоре, искам нагоре Oct 11 03:53:53 графит на ubuntu [16428]: run: statsd: (pid 71) 5s; бягане: log: (pid 67) 5s

Използвайте докер CLI, за да изброите работещи контейнери.

$ docker ps ИД НА КОНТЕЙНЕР ИМИДЖ КОМАНДА СЪЗДАДЕН СТАТУС ПРИСТАНИЩА НАЗВАНИЯ e5647ba93e4d graphiteapp / graphite-statsd "/ entrypoint" Преди около минута Нагоре Около минута 0.0.0.0: 80-> 80 / tcp, 0.0.0.0: 2003-2004-> 2003-2004 / tcp, 2013-2014 / tcp, 8080 / tcp, 0.0.0.0: 2023-2024-> 2023-2024 / tcp, 0.0.0.0: 8126-> 8126 / tcp, 8125 / tcp, 0.0.0.0: 8125-> 8125 / udp графит

Извършете рестартиране на системата, за да сте сигурни, че контейнерът е стартиран, ако сървърът някога бъде рестартиран.

sudo рестартиране

Можем да потвърдим, че контейнерът е стартиран с различен идентификатор:

$ docker ps ИДЕНТИФИКАЦИЯ НА КОНТЕЙНЕРА ИМИДЖ КОМАНДА СЪЗДАДЕН СТАТУС ИМЕНА НА ПОРТОВЕ 11e596067be9 graphiteapp / graphite-statsd "/ entrypoint" Преди около минута Нагоре Около минута 0.0.0.0: 80-> 80 / tcp, 0.0.0.0: 2003-2004-> 2003-2004 / tcp, 2013-2014 / tcp, 8080 / tcp, 0.0.0.0: 2023-2024-> 2023-2024 / tcp, 0.0.0.0: 8126-> 8126 / tcp, 8125 / tcp, 0.0.0.0: 8125-> 8125 / udp графит

Прочетете документацията на Graphite, за да започнете да изпращате показатели от вашите приложения на Graphite.

Как да деинсталирам актуализация в Windows 10
Потребителите на Windows 10 са изправени пред странен проблем. Microsoft не е дала възможност за изключване на автоматичните актуализации в Windows 10...
Как да премахнете Internet Explorer 11 от Windows 10
Когато надстроите до Windows 10, трябва да сте видели нов ръб на браузъра чакам те. Но знаете ли, че Internet Explorer 11 все още е във вашата систе...
Как да изключите резултатите от уеб търсенето от лентата на задачите на Windows 10
Всеки път, когато търсите в търсенето на лентата на задачите в Windows 10, тя търси комбинирано от вашия локален компютър и мрежа. По подразбиране рез...