Как установить Prometheus на Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить Prometheus на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Prometheus — отличная система мониторинга с открытым исходным кодом, которая позволяет нам собирать метрики из наших приложений и сохранять их в базе данных, особенно в базе данных на основе временных рядов. Самым большим преимуществом Prometheus является язык запросов, который он предоставляет для обработки данных.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Prometheus на Ubuntu 20.04 Focal Fossa. Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.
Установите Prometheus на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt
команды в терминале.
sudo apt update sudo apt upgrade
Шаг 2. Установка веб-сервера Nginx.
Nginx доступен в репозиториях Ubuntu по умолчанию. Чтобы установить его, выполните следующую команду:
sudo apt install nginx
После завершения установки запустите команды, чтобы Nginx автоматически запускался при запуске вашего сервера:
sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl enable nginx.service
Шаг 3. Создайте пользователей Prometheus.
Нам нужно создать пользователя и группу под названием prometheus, а также каталог под названием Prometheus:
sudo useradd -s /sbin/nologin --system -g prometheus prometheus sudo mkdir /var/lib/prometheus for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done
Шаг 4. Установка Prometheus на Ubuntu 20.04.
Загрузите последнюю стабильную версию Prometheus с помощью wget
команды:
mkdir -p /tmp/prometheus && cd /tmp/prometheus curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi - tar xvf prometheus*.tar.gz
После завершения извлечения файла переместите двоичные файлы prometheus и promtool из извлеченной архивной папки Prometheus в каталог:/usr/local/bin
sudo mv prometheus promtool /usr/local/bin/
Шаг 5. Настройте Prometheus.
Мы создадим файл конфигурации с именем prometheus.yml в каталоге:/etc/prometheus
sudo mv prometheus.yml /etc/prometheus/prometheus.yml sudo mv consoles/ console_libraries/ /etc/prometheus/ sudo nano /etc/prometheus/prometheus.yml
Содержание prometheus.yml следующее:
my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). Alertmanager configuration alerting: alertmanagers: static_configs: targets: # - alertmanager:9093 Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" A scrape configuration containing exactly one endpoint to scrape: Here it's Prometheus itself. scrape_configs: # The job name is added as a label job= to any timeseries scraped from this config. job_name: 'prometheus' metrics_path defaults to '/metrics' scheme defaults to 'http'. static_configs: targets: ['localhost:9090']
Шаг 6. Создайте службу Prometheus Systemd.
Теперь создадим файл для службы systemd:
sudo nano /etc/systemd/system/prometheus.service
Добавьте следующий файл:
[Unit] Description=Prometheus Documentation=https://prometheus.io/docs/introduction/overview/ Wants=network-online.target After=network-online.target [Service] Type=simple User=prometheus Group=prometheus ExecReload=/bin/kill -HUP \$MAINPID ExecStart=/usr/local/bin/prometheus \ --config.file=/etc/prometheus/prometheus.yml \ --storage.tsdb.path=/var/lib/prometheus \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries \ --web.listen-address=0.0.0.0:9090 \ --web.external-url= SyslogIdentifier=prometheus Restart=always [Install] WantedBy=multi-user.target
Затем измените владельца этих каталогов на пользователя и группу Prometheus:
for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done sudo chown -R prometheus:prometheus /var/lib/prometheus/
Как только вы закончите с вышеуказанными конфигурациями, перезагрузите systemd, используя следующую команду:
sudo systemctl daemon-relaod sudo systemctl start prometheus sudo systemctl enable prometheus
Шаг 7. Настройте брандмауэр.
Между тем вам необходимо убедиться, что ваш брандмауэр настроен на разрешение трафика по портам HTTP (80), HTTPS (443) и 9090. Nginx регистрирует себя как сервис ufw
:
sudo ufw allow in "Nginx Full" sudo ufw allow 9090/tcp
Шаг 8. Доступ к веб-интерфейсу Prometheus.
По умолчанию Prometheus будет доступен через HTTP-порт 9090. Откройте свой любимый браузер, перейдите к или и выполните необходимые действия, чтобы завершить установку.http://your-domain.com:9090
http://server-ip-addreess:9090
Поздравляю! Вы успешно установили Prometheus . Благодарим за использование этого руководства для установки мониторинга с открытым исходным кодом Prometheus на Ubuntu 20.04 LTS (Focal Fossa). Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Prometheus .