Как установить последнюю версию Prometheus 16.04?

Как установить последнюю версию Prometheus 16.04?

У меня возникли проблемы с установкой последней версии Prometheus на свежеустановленной Ubuntu 16.04. Все руководства, которые я смог найти, предназначены для 14.04, а переход с systemV на systemd делает эти руководства несовместимыми (или, по крайней мере, неполными) при установке на 16.04.

Я могу установить Prometheus из apt, но он устанавливает версию 0.16.2, а текущая версия — 1.0.2.

Я пользуюсь официальнымруководство по установке prometheus.ioиэто руководство по Digital Ocean.

Может ли кто-нибудь помочь мне с настройкой systemd? У меня относительно большой опыт работы с Ubuntu, но изменение systemd ставит меня в тупик.

решение1

Следующий файл модуля сработал у меня при установке Prometheusсерверверсия 1.x (в отличие от экспортера).

# /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target

[Service]
User=prometheus
Restart=on-failure
ExecStart=/usr/local/bin/prometheus-1.1.2.linux-amd64/prometheus \
                                -config.file=/etc/prometheus/prometheus.yml \
                                -storage.local.path=/var/lib/prometheus/data

[Install]
WantedBy=multi-user.target

Конечно, это предполагает, что вы создали пользователя Prometheus и предоставили ему необходимые разрешения.

Затем используйте команды, указанные WInfly.

$ sudo systemctl daemon-reload
$ sudo systemctl enable prometheus
$ sudo systemctl start prometheus
$ sudo systemctl status prometheus

Я нашел следующее полезным:

Прометей:https://blog.svedr.in/posts/prometheus-quick-start.html

Страницы руководства для директив файлов модулей:https://www.freedesktop.org/software/systemd/man/systemd.directives.html

решение2

Имя аргумента хранилища сервера изменилось в версии 2.x, рабочий синтаксис:

[Unit]
Description=Prometheus Server
After=network-online.target

[Service]
User=root
Restart=on-failure
ExecStart=/usr/local/bin/prometheus-2.2.1.linux-amd64/prometheus \
                                --config.file=/etc/prometheus/prometheus.yml \
                                --storage.tsdb.path=/var/lib/prometheus/data

[Install]
WantedBy=multi-user.target

решение3

Я нашел свой ответ вЭта статья. Конкретная часть, которую я упустил, пытаясь настроить это для запуска с systemd, — это создание файла юнита. Ниже создается файл юнита для node_exporter и затем запускается как служба. Надеюсь, это поможет кому-то еще!

Создайте файл модуля:

$ sudo vim /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter

[Service]
User=vxx
ExecStart=/home/vxx/Prometheus/node_exporter/node_exporter

[Install]
WantedBy=default.target

Затем запустите службу после перезагрузки демона или перезагрузите сервер:

$ sudo systemctl daemon-reload
$ sudo systemctl enable node_exporter.service
$ sudo systemctl start node_exporter.service
$ sudo systemctl status node_exporter.service

решение4

Если кто-то все еще возвращается к этому вопросу, я описал установку prometheus, node_exporter и apache_exporter на основеэто учебное пособие DigitalOcean.

Мои скрипты вы можете найти здесь: https://github.com/icolwell/install_scripts

Следующие сценарии могут быть интересны:

prometheus_install.bash
prometheus_node_exporter_install.bash
prometheus_apache_exporter_install.bash

Вы можете загрузить и запустить скрипты, используя следующее:

wget https://raw.githubusercontent.com/icolwell/install_scripts/master/prometheus_install.bash
bash prometheus_install.bash

Обратите внимание, что любая существующая конфигурация Prometheus будет переопределена.

Связанный контент