Устанавливаем Promtail в CentOS / Debian
Promtail - агент, отвечающий за централизацию логов, то есть собирает логи, обрабатывает их и отправляет в Loki. В свою очередь Loki их хранит, а Grafana запрашивает данные из Loki и визуализирует их.
Добавляем системного пользователя, от которого будет работать Promtail
1
$ sudo useradd -r -M -s /bin/false promtail
Скачиваем promtail
1
2
$ cd /usr/local/bin
$ sudo curl -O -L https://github.com/grafana/loki/releases/download/v2.0.0/promtail-linux-amd64.zip
Распаковываем
1
$ sudo unzip promtail-linux-amd64.zip
Удаляем архив
1
$ sudo rm promtail-linux-amd64.zip
Делам файл исполняемым
1
$ sudo chmod a+x "promtail-linux-amd64"
Меняем владельца
1
$ sudo chown promtail:promtail promtail-linux-amd64
Создаем конфигурационный файл, либо скачиваем готовый
1
$ wget https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ 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'
Меняем владельца конфига
1
$ sudo chown promtail:promtail config-promtail.yml
Создаем Systemd Unit
1
2
3
4
5
6
7
8
9
10
11
12
$ 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
Добавляем сервис в автозагрузку и стартуем
1
2
3
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now promtail
$ systemctl status promtail
Проверяем порт 9080
1
$ ss -nltup | grep 9080
Открываем его наружу
1
2
$ sudo firewall-cmd --add-port=9080/tcp --permanent
$ sudo firewall-cmd --reload
Чтобы дать возможность Promtail читать системный журналы, добавляем пользователя promtail в группу systemd-journal
1
$ sudo usermod -aG systemd-journal promtail
Перезапускаем службу
1
$ sudo systemctl restart promtail
Авторский пост защищен лицензией CC BY 4.0 .