일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- libvirt
- kolla-ansible
- ubuntu
- archlinux
- cloud-init
- yum
- cephadm
- Docker
- Arch
- nfs-provisioner
- ceph-ansible
- HTML
- Kubeflow
- k8s
- awx
- golang
- port open
- Linux
- pacman
- OpenStack
- terraform
- KVM
- repository
- Kubernetes
- Ansible
- grafana-loki
- kolla
- i3
- Octavia
- ceph
Archives
- Today
- Total
YJWANG
[Grafana-loki] Grafana-loki로 Logging system 구축하기 본문
EFK보다 구축도 편하고 가벼워서 Grafana-loki를 사용해보고자 했습니다.
우선 Openstack / Legacy / kubernetes 환경 모든 부분에서 prometheus 로 metric을 체크 가능하기 때문에 때문에 동일한 Grafana 내에서 Logging까지 관리하고자 Grafana-loki 수요가 괜찮을 듯합니다.
Architecture
promtail client가 log를 수집해서 loki에 전달하는 단순한 구조로 이해하고 넘어가시면 됩니다.
log는 지정할 수 있으며 syslog , journal , filesystem에 있는 다른 log 파일 , docker log 등 지정하기에 따라 수집할 수 있습니다.
Configuration
https://grafana.com/docs/loki/latest/installation/helm/
Helm Chart를 이용하면 쉽게 구축할 수 있으므로 promtail
config file sample만 기록하겠습니다.
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://10.99.99.10:32642/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/*log
- job_name: syslog
syslog:
listen_address: 0.0.0.0:1514
idle_timeout: 60s
label_structured_data: yes
labels:
job: "syslog"
relabel_configs:
- source_labels: ['__syslog_message_hostname']
target_label: 'master01'
- job_name: journal
journal:
json: false
max_age: 12h
path: /var/log/journal
labels:
job: systemd-journal
relabel_configs:
- source_labels: ['__journal__systemd_unit']
target_label: 'unit'
이후 Docker container를 실행합니다.
docker run --name promtail -d -v $(pwd):/mnt/config -v /var/log:/var/log -v /run/log/journal/:/run/log/journal/ -v /etc/machine-id:/etc/machine-id -v /var/log/journal/:/var/log/journal/ grafana/promtail:2.2.1 -config.file=/mnt/config/promtail-config.yaml
Grafana에 들어가서 Explore
> Loki
> {job="varlogs"}
query를 이용해서 확인해보시기 바랍니다.
반응형