Site icon IT Draft

Устанавливаем Promtail в CentOS / Debian

Устанавливаем Promtail в CentOS / Debian 1

Promtail Loki

Promtail – агент, отвечающий за централизацию логов, то есть собирает логи, обрабатывает их и отправляет в Loki. В свою очередь Loki их хранит, а Grafana запрашивает данные из Loki и визуализирует их.

Добавляем системного пользователя, от которого будет работать Promtail

$ sudo useradd -r -M -s /bin/false promtail

Скачиваем promtail

$ cd /usr/local/bin
$ sudo curl -O -L https://github.com/grafana/loki/releases/download/v2.0.0/promtail-linux-amd64.zip

Распаковываем

$ sudo unzip promtail-linux-amd64.zip

Удаляем архив

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


$ sudo rm promtail-linux-amd64.zip

Делам файл исполняемым

$ sudo chmod a+x "promtail-linux-amd64"

Меняем владельца

$ sudo chown promtail:promtail promtail-linux-amd64

Создаем конфигурационный файл, либо скачиваем готовый

$ wget https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml
$ sudo nano config-promtail.yml
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://127.0.0.1:3100/loki/api/v1/push
#    basic_auth:
#      username: user
#      password: pass

scrape_configs:
  - job_name: system
    static_configs:
    - targets:
        - localhost
      labels:
        job: varlogs
        __path__: /var/log/*log

  - job_name: journal
    journal:
      max_age: 12h
      labels:
        job: systemd-journal
    relabel_configs:
      - source_labels: ['__journal__systemd_unit']
        target_label: 'unit'

Меняем владельца конфига

$ sudo chown promtail:promtail config-promtail.yml

Создаем Systemd Unit

$ sudo nano /etc/systemd/system/promtail.service
[Unit]
Description=Promtail service
After=network.target

[Service]
Type=simple
User=promtail
ExecStart=/usr/local/bin/promtail-linux-amd64 -config.file /usr/local/bin/config-promtail.yml

[Install]
WantedBy=multi-user.target

Добавляем сервис в автозагрузку и стартуем

$ sudo systemctl daemon-reload
$ sudo systemctl enable --now promtail
$ systemctl status promtail

Проверяем порт 9080

$ ss -nltup | grep 9080

Открываем его наружу

$ sudo firewall-cmd --add-port=9080/tcp  --permanent
$ sudo firewall-cmd --reload

Чтобы дать возможность Promtail читать системнык журналы, добавляем пользователя promtail в группу systemd-journal

$ sudo usermod -aG systemd-journal promtail

Перезапускаем службу

$ sudo systemctl restart promtail
Exit mobile version