add datasource config + nginx RP + corrections

main
Grégory Lebreton 5 months ago
parent 7fc2c6b1e9
commit 0541c7df50

@ -30,11 +30,9 @@ Promtail est l'agent qui va pusher les logs vers Loki:
- /var/run/docker.sock:/var/run/docker.sock
- /var/log:/var/log
command: -config.file=/etc/promtail/config.yml
depends_on:
- loki
```
Pour que LOKI récupère les logs des conteneurs il faut ajouter les labels aux conteneurs dont on veux monitorer les logs:
Pour que LOKI récupère les logs des conteneurs il faut ajouter les labels aux conteneurs dont on veux monitorer les logs (optionnel):
```yml
labels:
logging: "promtail"
@ -43,7 +41,7 @@ Pour que LOKI récupère les logs des conteneurs il faut ajouter les labels aux
### GRAFANA
C'est sur le serveur de Grafana que l'on déploie Loki:
C'est sur le serveur de Grafana que l'on déploie Loki (de préférence):
```yml
version: "3"
@ -60,13 +58,11 @@ services:
command: -config.file=/etc/loki/config.yml
```
Ajouter une datasource en entrant l'URI du serveur Loki ainsi que le certificat (/etc/loki/cert/ca.crt)
![AJOUT DATASOURCE](docs/datasource.png)
### TLS
#### TLS
Les metrics des agents promtail transitent par le WAN et nécessitent d'être encryptées.
- Create certs:
- Creation des certificats:
> Renseigner les nom du serveur LOKI ainsi que son DNS, idem pour l'agent Promtail et lançer le script:
@ -74,7 +70,7 @@ Ajouter une datasource en entrant l'URI du serveur Loki ainsi que le certificat
sudo ./certificates.sh
```
- TLS config:
#### LOKI
Décommenter les lignes concernant le TLS dans promtail/config/yml comme suit:
@ -93,6 +89,8 @@ clients:
insecure_skip_verify: false
```
#### PROMTAIL
Idem pour loki/config/config.yml:
```yaml
@ -108,18 +106,65 @@ server:
client_ca_file: /etc/loki/cert/ca.crt
```
#### NGINX
Nginx reverse proxy configuration:
```
upstream loki {
server 127.0.0.1:3100;
}
server {
listen 80;
listen [::]:80;
server_name loki.mon-domaine.tld;
rewrite ^(.*) https://loki.mon-domaine.tld$1 permanent;
}
server {
listen [::]:443 ssl;
listen 443 ssl;
server_name loki.mon-domaine.tld;
client_max_body_size 200M;
location / {
proxy_buffering off;
proxy_pass http://loki;
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
error_log /var/log/nginx/loki.mon-domaine.tld-proxy-error.log;
access_log /var/log/nginx/loki.mon-domaine.tld-proxy-access.log;
ssl_certificate /etc/letsencrypt/live/loki.mon-domaine.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/loki.mon-domaine.tld/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
```
> Modifier loki-dns-serveur avec le vrai dns du serveur
#### GRAFANA
Ajouter une datasource en entrant l'URI du serveur Loki ainsi que le certificat (/etc/loki/cert/ca.crt)
![AJOUT DATASOURCE](docs/datasource.png)
## DASHBOARD
> import dashboard ID: 17514
> Faire la dashboard standard
## TO DO
- [X] schema type
- [X] provisionner dashboard
- [X] Promtail config
- [ ] TLS config (https)
- [X] TLS config (https)
- [X] SSH logs
> le scraping des metrics du serveur distant se font désormais via TLS

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Loading…
Cancel
Save