Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 8 additions & 48 deletions apps/fluentbit/.env
Original file line number Diff line number Diff line change
@@ -1,53 +1,13 @@
W9_REPO="wordpress"
W9_DIST=community
W9_VERSION="latest"

W9_POWER_PASSWORD="1PrMxExC45LsCT"

# Environments which for user settings when create application
# Named expression: W9_xxx_xxx_SET, xxx refer to file fields
W9_HTTP_PORT_SET=9001
# W9_HTTPS_PORT_SET=9002
# W9_DB_PORT_SET=3306
# W9_SSH_PORT_SET=23
W9_KEY_SET="dfsjdkjf77xjxcjcj"
W9_REPO="fluent/fluent-bit"
W9_DIST='community'
W9_VERSION='4.2'
W9_HTTP_PORT_SET='9001'

#### -- Not allowed to edit below environments when recreate app based on existing data -- ####
W9_ID='fluentbit'
W9_HTTP_PORT=24224

W9_ID=fluentbit

# W9_HTTP_PORT or W9_HTTPS_PORT is need at leaset and used for proxy for web application
# Some container (e.g teleport) need HTTPS access, then need to set this pra
W9_HTTP_PORT=80
W9_HTTPS_PORT=81

W9_LOGIN_USER=admin
# use https://1password.com/zh-cn/password-generator/ to genarate 14 bit password
# this password can also use password file
W9_LOGIN_PASSWORD=$W9_POWER_PASSWORD
W9_ADMIN_PATH="/wp-login"

# Container name's suffix must use one of the value
W9_DB_EXPOSE="mysql,postgresql,mariadb,mongodb,redis"

# It is used when the application APP needs to set an external URL, which can be IP(or domain), IP:PORT
# If have protocols, should be set it in the APP's ENV
W9_URL=internet_ip:$W9_HTTP_PORT_SET
# modifies W9_URL on init when it is true
W9_URL_REPLACE=true
#W9_URL=app.example.com

W9_NETWORK=websoft9

#### ----------------------------------------------------------------------------------------- ####


# Below environment is created by this app

WORDPRESS_DB_HOST=$W9_ID-mariadb
WORDPRESS_DB_USER=wordpress #if use postgresql, it need set to postgres
WORDPRESS_DB_PASSWORD=$W9_POWER_PASSWORD
WORDPRESS_DB_NAME=wordpress


#W9_NAME=""
#W9_RCODE=""
W9_URL='internet_ip:$W9_HTTP_PORT_SET'
40 changes: 38 additions & 2 deletions apps/fluentbit/Notes.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,38 @@
# Appname
## FAQ
# Fluent-Bit

## 日志收集

### 示例:收集wordpress的日志
1. 在wordpress容器编排文件中修改日志引擎为fluentd
```
logging:
driver: fluentd
options:
fluentd-address: 47.83.26.60:9001 # url+暴露的端口 (由于Portainer Stack模式只能通过overlay网络相互解析服务名,默认的websoft9是桥接网络,所以不能用服务名加端口查找)
tag: "wordpress.app" # 标签,用于区分不同的日志
```
2. 编辑fluent-bit.conf
```
[SERVICE]
Flush 1
Log_Level info

[INPUT]
Name forward
Port 24224
Listen 0.0.0.0

[OUTPUT]
Name file
Match wordpress.app # 匹配标签
Path /var/log/fluentbit # 日志输出路径(已在编排文件中将该目录映射到外部)
File wordpress.log # 日志文件名(如果不加这一项,则默认按照标签名创建文件)
Mkdir On # 如果目录不存在,则创建
Format plain

[OUTPUT]
Name stdout
Match *
```

官方文档:https://docs.fluentbit.io/manual/
51 changes: 12 additions & 39 deletions apps/fluentbit/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,22 @@
# image,docs: https://hub.docker.com/_/wordpress/
# image: https://hub.docker.com/r/fluent/fluent-bit
# docs: https://docs.fluentbit.io/manual

services:

wordpress:
image: $W9_REPO:$W9_VERSION
container_name: $W9_ID
restart: unless-stopped
#This is for access host from container
# extra_hosts: ["host.docker.internal:host-gateway"]
# command: |
# /bin/bash -c "ping -c 3 host.docker.internal"
logging:
driver: "json-file"
options:
max-file: "5"
max-size: 10m
deploy:
resources:
limits:
memory: 5g
cpus: '0.7'
ports:
- $W9_HTTP_PORT_SET:80
services:
fluent-bit:
image: ${W9_REPO}:${W9_VERSION}
container_name: ${W9_ID}
env_file: .env
ports:
- ${W9_HTTP_PORT_SET}:24224
volumes:
- wordpress:/var/www/html
- ./src/php_exra.ini:/usr/local/etc/php/conf.d/php_exra.ini

mariadb:
image: mariadb:10.4
container_name: $W9_ID-mariadb
- ./src/fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf:ro
- logs:/var/log/fluentbit
restart: unless-stopped
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb_log_buffer_size=30M
volumes:
- mysql_data:/var/lib/mysql
environment:
MYSQL_DATABASE: $WORDPRESS_DB_NAME
MYSQL_USER: $WORDPRESS_DB_USER
MYSQL_PASSWORD: $W9_POWER_PASSWORD
MYSQL_ROOT_PASSWORD: $W9_POWER_PASSWORD

volumes:
wordpress:
mysql_data:

logs:

networks:
default:
name: $W9_NETWORK
Expand Down
20 changes: 20 additions & 0 deletions apps/fluentbit/src/fluent-bit.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[SERVICE]
Flush 1
Log_Level info

[INPUT]
Name forward
Port 24224
Listen 0.0.0.0

[OUTPUT]
Name file
Match wordpress.app
Path /var/log/fluentbit
File wordpress.log
Mkdir On
Format plain

[OUTPUT]
Name stdout
Match *
57 changes: 0 additions & 57 deletions apps/fluentbit/src/nginx-proxy.conf.template

This file was deleted.

8 changes: 0 additions & 8 deletions apps/fluentbit/src/php_exra.ini

This file was deleted.