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