既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
docker-compose -f docker-compose.yaml up
这时,基本的安装就完成了,但是有时候需要更改配置文件,如后续nginx反向代理访问,这时这个配置文件满足不了需求,所以需要自己改动grafana。还有就是docker-compose down掉,数据也是没了,需要重新添加。
2、升级配置启动
更改也很简单,无非就是启动后,把docker的配置文件夹拷贝出来本地,然后挂载上去即可。
以下就是我自己改的docker-compose文件
,可以参考:
本人机器3000端口被占用,所以改用3030端口映射,按需设置。还有本人数据文件夹/var/lib/grafana/
挂载后,账号进不去,所以先注释掉了,后续在慢慢测试。
version: "3"
networks:
loki:
services:
loki:
image: grafana/loki:2.5.0
restart: unless-stopped
ports:
- "3100:3100"
volumes:
- ./config/loki/:/etc/loki/
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:2.5.0
volumes:
- /var/log:/var/log
- ./config/promtail/:/etc/promtail/
command: -config.file=/etc/promtail/config.yml
networks:
- loki
grafana:
image: grafana/grafana-enterprise:8.5.2-ubuntu
restart: unless-stopped
ports:
- "3030:3000"
volumes:
- ./config/grafana/:/etc/grafana/
# - ./grafana-data:/var/lib/grafana/
#这行是数据挂载在本地,需要将数据拷贝出来
networks:
- loki
最后文件结构如下:除了grafana配置文件夹比较多文件,其他都只有一个。grafana我整个文件夹复制出来就行了。
├── config
│ ├── grafana
│ │ ├── grafana.ini
│ │ ├── ldap.toml
│ │ └── provisioning
│ │ ├── access-control
│ │ ├── dashboards
│ │ ├── datasources
│ │ ├── notifiers
│ │ └── plugins
│ ├── loki
│ │ └── local-config.yaml
│ └── promtail
│ └── config.yml
├── docker-compose.yaml
└── grafana-data
├── alerting [error opening dir]
├── csv [error opening dir]
├── grafana.db
├── plugins
└── png [error opening dir]
loki的local-config.yaml
参考配置文件:
auth\_enabled: false
server:
http\_listen\_port: 3100
common:
path\_prefix: /loki
storage:
filesystem:
chunks\_directory: /loki/chunks
rules\_directory: /loki/rules
replication\_factor: 1
ring:
kvstore:
store: inmemory
schema\_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object\_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
ruler:
alertmanager\_url: http://localhost:9093
# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration
# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/
#
# Statistics help us better understand how Loki is used, and they show us performance
# levels for most users. This helps us prioritize features and documentation.
# For more information on what's sent, look at
# https://github.com/grafana/loki/blob/main/pkg/usagestats/stats.go
# Refer to the buildReport method to see what goes into a report.
#
# If you would like to disable reporting, uncomment the following lines:
#analytics:
# reporting\_enabled: false
promtail的config.yml
配置文件:
server:
http\_listen\_port: 9080
grpc\_listen\_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
scrape\_configs:
- job\_name: system
static\_configs:
- targets:
- localhost
labels:
job: varlogs
\_\_path\_\_: /var/log/\*log
grafana的配置文件太长,就不复制了,自己拷贝出来即可。
拷贝完配置文件夹后,更改完后,直接启动即可。
sudo docker-compose up -d
浏览器输入ip端口即可访问,我这里配置为ip:3030端口访问。
3.grafana的反向代理nginx配置,域名访问
grafana配置完后,默认是IP:端口的方式访问,如果需要域名访问,则需要用到nginx方向代理。
官方文档配置参考:官网地址
需要更改的配置文件为grafana.ini
,去掉下面三个前面的注释。
- domain:你的域名,我这里为grafana.ywbj.cc
- root_url:访问连接,官方文档是后面加了grafana/,默认是没有的,也可以不加,区别是,不加直接访问网址即可,加了就需要访问域名/grafana才能访问,如:grafana.ywbj.cc/grafana/ 才能访问。我这里配置就没有加。
- serve_from_sub_path:去掉注释,将false改成true即可。
[server]
domain = grafana.ywbj.cc
root_url = %(protocol)s://%(domain)s:%(http_port)s/
serve_from_sub_path = true
grafana配置完成,下面就是配置nginx了。官方nginx配置文件:
注:如果上面root_url 后面加了grafana/,则location / 改为location /grafana/
。
# this is required to proxy Grafana Live WebSocket connections.
map $http\_upgrade $connection\_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name grafana.initcapp.com;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
proxy_set_header Host $http\_host;
proxy_pass http://localhost:3000/;
}
# Proxy Grafana Live WebSocket connections.
location /api/live {
rewrite ^/(.*) /$1 break;
proxy_http_version 1.1;
proxy_set_header Upgrade $http\_upgrade;
proxy_set_header Connection $connection\_upgrade;
proxy_set_header Host $http\_host;
proxy_pass http://localhost:3000/;
}
}
上面配置好了,然后启动,虽然可以访问,也可以添加资源,但是在实时查看日志流,会出现错误。
Query error Live tailing was stopped due to following error: undefined,
如下图:
原因是websocket出错,即配置文件中location /api/live 这个区域。
根据另一篇官方文档:https://grafana.com/docs/grafana/latest/live/configure-grafana-live/
修改nginx配置文件,最后nginx配置文件为:
map $http\_upgrade $connection\_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name grafana.ywbj.cc;
#root /usr/share/nginx/html;
#index index.html index.htm;
error_log /var/log/nginx/nginx.localhost.error.log warn;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http\_upgrade;
proxy_set_header Connection $connection\_upgrade;
proxy_set_header Host $http\_host;
proxy_pass http://localhost:3030/;
#默认为3000端口,我配置为3030,所以是3030.
}
这样启动后,功能一切正常了。
三、客户端安装及配置
loki客户端
,及需要收集日志的另一台机器,只需要安装promtail
,也可以docker启动安装,也可以二进制安装。
由于本人收集日志有其他目录,如果用docker,需要配置挂载很多路径到docker,所以我在客户端直接用二进制启动即可,配置文件比较容易。
二进制官方下载地址:https://github.com/grafana/loki/releases
找到自己合适的版本promtail,我这里是这个。
下载后,解压即可,得到一个可执行文件promtail-linux-amd64。
root@web:/loki# ls
config.yaml promtail-linux-amd64
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
cdjqA1-1715887266669)]
[外链图片转存中…(img-f00fdA96-1715887266669)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)