# Plumelog单机
# 关键字说明
- 绿色字体代表已完成
- 红色字体代表待完成
# 实验明细
- 配置
- 运行
- 集成
# docker-compose.yaml
version: "3"
services:
elasticsearch:
image: registry.cn-shanghai.aliyuncs.com/odboy/ops:elasticsearch-7.17.23
container_name: plumelog_elasticsearch
restart: unless-stopped
ports:
- "9200:9200"
- "9300:9300"
environment:
discovery.type: single-node
TZ: Asia/Shanghai
LANG: en_US.UTF-8
TAKE_FILE_OWNERSHIP: "true"
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
ELASTIC_PASSWORD: "elastic123456"
volumes:
- ./plumelog-elasticsearch/data:/usr/share/elasticsearch/data
redis:
image: registry.cn-shanghai.aliyuncs.com/odboy/ops:redis-7.4.0-alpine3.20
container_name: plumelog_redis
restart: unless-stopped
command: redis-server --requirepass 123456 --appendonly no
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
volumes:
- "./plumelog-redis/data:/data"
ports:
- "6379:6379"
plumelog:
image: registry.cn-shanghai.aliyuncs.com/odboy/ops:plumelog-3.5.3
container_name: plumelog_server
restart: unless-stopped
volumes:
- ./plumelog-server/application.properties:/home/application.properties
environment: # 设置环境变量,相当于docker run命令中的-e
TZ: Asia/Shanghai
LANG: en_US.UTF-8
JAVA_OPTS: "-XX:+UseG1GC -Dspring.config.location=/home/application.properties,classpath:application.properties,"
plumelog.queue.redis.redisHost: redis:6379
plumelog.queue.redis.redisPassWord: 123456
plumelog.queue.redis.redisDb: 10
plumelog.es.esHosts: elasticsearch:9200
plumelog.es.userName: elastic
plumelog.es.passWord: elastic123456
login.username: admin
login.password: admin
ports:
- "8891:8891"
depends_on:
- elasticsearch
- redis
links:
- elasticsearch
- redis
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 启动前准备
mkdir ./plumelog-server
cat > ./plumelog-server/application.properties << EOF
spring.application.name=plumelog_server
server.port=8891
spring.thymeleaf.mode=LEGACYHTML5
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/plumelog/**
spring.boot.admin.context-path=admin
management.health.elasticsearch.enabled=false
plumelog.model=redis
plumelog.queue.redis.redisHost=redis:6379
plumelog.queue.redis.redisPassWord=123456
plumelog.queue.redis.redisDb=10
plumelog.es.esHosts=elasticsearch:9200
plumelog.es.userName=elastic
plumelog.es.passWord=elastic123456
plumelog.maxSendSize=100
plumelog.interval=100
plumelog.ui.url=http://plumelog
admin.password=123456
admin.log.keepDays=30
admin.log.trace.keepDays=30
login.username=admin
login.password=admin
EOF
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
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
# 完整配置参考
spring.application.name=plumelog_server
server.port=8891
spring.thymeleaf.mode=LEGACYHTML5
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/plumelog/**
spring.boot.admin.context-path=admin
management.health.elasticsearch.enabled=false
#\u503C\u4E3A4\u79CD redis,kafka,rest,restServer
#redis \u8868\u793A\u7528redis\u5F53\u961F\u5217
#kafka \u8868\u793A\u7528kafka\u5F53\u961F\u5217
#rest \u8868\u793A\u4ECErest\u63A5\u53E3\u53D6\u65E5\u5FD7
#restServer \u8868\u793A\u4F5C\u4E3Arest\u63A5\u53E3\u670D\u52A1\u5668\u542F\u52A8
#ui \u8868\u793A\u5355\u72EC\u4F5C\u4E3Aui\u542F\u52A8
#lite \u7B80\u6613\u6A21\u5F0F\u542F\u52A8\u4E0D\u9700\u8981\u914D\u7F6Eredis\u7B49
plumelog.model=redis
#plumelog.lite.log.path=/Users/chenlongfei/lucene
#\u5982\u679C\u4F7F\u7528kafka,\u542F\u7528\u4E0B\u9762\u914D\u7F6E
#plumelog.kafka.kafkaHosts=172.16.247.143:9092,172.16.247.60:9092,172.16.247.64:9092
#plumelog.kafka.kafkaGroupName=logConsumer
#\u5982\u679C\u542F\u7528\u5185\u7F6Eredis\uFF0C\u4F7F\u7528\u4E0B\u9762\u914D\u7F6E\uFF0C\u8FD9\u8FB9\u586B\u4E0A\u672C\u673A\u7684ip\uFF0C\u548C\u9700\u8981\u542F\u52A8\u7684\u7AEF\u53E3\u53F7,\u5982\u679C\u4F60\u53EA\u542F\u7528\u5185\u7F6E\u7684redis,\u4E0B\u9762\u5173\u4E8Eredis\u7684\u914D\u7F6E\u53EF\u4EE5\u4E0D\u7528\u914D\u7F6E\u5168\u90E8\u6CE8\u91CA\u6389
# plumelog.inside.redis.host=127.0.0.1:7979
#\u961F\u5217redis\u5730\u5740\uFF0Cmodel\u914D\u7F6Eredis\u96C6\u7FA4\u6A21\u5F0F\uFF0C\u54E8\u5175\u6A21\u5F0F\u7528\u9017\u53F7\u9694\u5F00\uFF0C\u961F\u5217redis\u4E0D\u652F\u6301\u96C6\u7FA4\u6A21\u5F0F
plumelog.queue.redis.redisHost=127.0.0.1:6379
#\u5982\u679C\u4F7F\u7528redis\u6709\u5BC6\u7801,\u542F\u7528\u4E0B\u9762\u914D\u7F6E
plumelog.queue.redis.redisPassWord=123456
plumelog.queue.redis.redisDb=10
#\u54E8\u5175\u6A21\u5F0F\u9700\u8981\u914D\u7F6E\u7684
#plumelog.queue.redis.sentinel.masterName=myMaster
#\u7BA1\u7406\u7AEFredis\u5730\u5740 \uFF0C\u96C6\u7FA4\u7528\u9017\u53F7\u9694\u5F00\uFF0C\u4E0D\u914D\u7F6E\u5C06\u548C\u961F\u5217\u516C\u7528
#plumelog.redis.redisHost=127.0.0.1:6379
#\u5982\u679C\u4F7F\u7528redis\u6709\u5BC6\u7801,\u542F\u7528\u4E0B\u9762\u914D\u7F6E
#plumelog.redis.redisPassWord=123456
#plumelog.redis.redisDb=11
#\u54E8\u5175\u6A21\u5F0F\u9700\u8981\u914D\u7F6E\u7684
#plumelog.redis.sentinel.masterName=myMaster
#\u5982\u679C\u4F7F\u7528rest,\u542F\u7528\u4E0B\u9762\u914D\u7F6E
#plumelog.rest.restUrl=http://127.0.0.1:8891/getlog
#plumelog.rest.restUserName=plumelog
#plumelog.rest.restPassWord=123456
#redis\u89E3\u538B\u7F29\u6A21\u5F0F\uFF0C\u5F00\u542F\u540E\u4E0D\u6D88\u8D39\u975E\u538B\u7F29\u7684\u961F\u5217
#plumelog.redis.compressor=true
#elasticsearch\u76F8\u5173\u914D\u7F6E\uFF0CHosts\u652F\u6301\u643A\u5E26\u534F\u8BAE\uFF0C\u5982\uFF1Ahttp\u3001https
plumelog.es.esHosts=127.0.0.1:9200
#plumelog.es.shards=5
#plumelog.es.replicas=0
#plumelog.es.refresh.interval=30s
#\u65E5\u5FD7\u7D22\u5F15\u5EFA\u7ACB\u65B9\u5F0Fday\u8868\u793A\u6309\u5929\u3001hour\u8868\u793A\u6309\u7167\u5C0F\u65F6
#plumelog.es.indexType.model=day
#plumelog.es.maxShards=100000
#ES\u8BBE\u7F6E\u5BC6\u7801,\u542F\u7528\u4E0B\u9762\u914D\u7F6E
plumelog.es.userName=elastic
plumelog.es.passWord=123456
#\u662F\u5426\u4FE1\u4EFB\u81EA\u7B7E\u8BC1\u4E66
#plumelog.es.trustSelfSigned=true
#\u662F\u5426hostname\u9A8C\u8BC1
#plumelog.es.hostnameVerification=false
#\u5355\u6B21\u62C9\u53D6\u65E5\u5FD7\u6761\u6570
plumelog.maxSendSize=100
#\u62C9\u53D6\u65F6\u95F4\u95F4\u9694\uFF0Ckafka\u4E0D\u751F\u6548
plumelog.interval=100
#plumelog-ui\u7684\u5730\u5740 \u5982\u679C\u4E0D\u914D\u7F6E\uFF0C\u62A5\u8B66\u4FE1\u606F\u91CC\u4E0D\u53EF\u4EE5\u70B9\u8FDE\u63A5
plumelog.ui.url=http://demo.plumelog.com
#\u7BA1\u7406\u5BC6\u7801\uFF0C\u624B\u52A8\u5220\u9664\u65E5\u5FD7\u7684\u65F6\u5019\u9700\u8981\u8F93\u5165\u7684\u5BC6\u7801
admin.password=123456
#\u65E5\u5FD7\u4FDD\u7559\u5929\u6570,\u914D\u7F6E0\u6216\u8005\u4E0D\u914D\u7F6E\u9ED8\u8BA4\u6C38\u4E45\u4FDD\u7559
admin.log.keepDays=30
#\u94FE\u8DEF\u4FDD\u7559\u5929\u6570,\u914D\u7F6E0\u6216\u8005\u4E0D\u914D\u7F6E\u9ED8\u8BA4\u6C38\u4E45\u4FDD\u7559
admin.log.trace.keepDays=30
#\u767B\u5F55\u914D\u7F6E\uFF0C\u914D\u7F6E\u540E\u4F1A\u6709\u767B\u5F55\u754C\u9762
login.username=admin
login.password=admin
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 访问地址
http://127.0.0.1:8891
账号:admin
密码:admin
1
2
3
4
2
3
4