详细教程可以看 在 Ubuntu 上搭建 ELK,Django 接入 ELK,ELK 的基本使用
对应的 B 站视频教学可以看 Ubuntu 环境下通过 Docker 快速搭建 ELK 日志系统环境_哔哩哔哩_bilibili
后续我也会做关于 Prometheus 相关的内容,所以在这 Prometheus+Grafana 一并进行了安装。
目录结构如下:
xiaobaiyang@ubuntu2004server:~/projects/prometheus_grafana$ tree -L 2
.
├── docker-compose.yml
├── grafana_data
├── grafana.ini
├── prometheus_data
│ └── prometheus.yml
└── prometheus.yml
docker-compose.yml 文件如下:
version: '3.4'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
hostname: prometheus
ports:
- 9090:9090
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
prometheus-exporter:
image: prom/node-exporter
container_name: prometheus-exporter
hostname: prometheus-exporter
ports:
- 9100:9100
grafana:
image: grafana/grafana
container_name: grafana
hostname: grafana
ports:
- 3000:3000
volumes:
- ./grafana.ini:/etc/grafana/grafana.ini
grafana.ini 是空文件,对应的 prometheus.yml 文件如下,暂时不会用到 prometheus,所以没有对下面的参数进行了解。
global:
scrape_interval: 10s
scrape_configs:
- job_name: node
static_configs:
- targets: ['service:9100'] # NOT localhost since we named the host of service in docker-compose file
在上一个视频集合里讲的是在 Ubuntu 上搭建 ELK,Django 接入 ELK,ELK 的基本使用 ,先搭建好 Grafana,发现 Grafana 也可以以 elasticsearch 的数据库作为数据源,所以打算先体验下通过 Grafana 查日志,并与在 Kibana 上搜日志作为对比。因为我在本地通过 Docker 起的 elasticsearch 和 Grafana,Grafana 设置数据源的时候,对应的 HTTP-> URL 设置应该通过 elasticsearch 网关+暴露的端口来设置。
确保设置好了 Grafana 数据源,并通过 Expole 界面进行日志搜索,操作步骤见下图。
- 总体看,Kibana 操作起来更简单方便
version: "3"
networks:
loki:
services:
loki:
image: grafana/loki:2.6.0
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:2.6.0
volumes:
- /Users/hfy/work/loki/:/var/log/
command: -config.file=/etc/promtail/docker-config.yaml
networks:
- loki