快速產生 log 的 tool - flog
Kanglin Wu
1 min read
Background
之前為了要在自己本機測試 filebeat 的功能,但是因為沒有可以測試的 log 而煩惱,後來在網路上找到這個由 mingrammer 所建立的 image,十分地強大,可以用 go / homebrew 及 docker 來安裝,我打算用這篇筆記來記錄我用這資源建立一個不斷產生假資料的 docker container。
Run by docker-compose
1. Create docker-compose.yaml
Based on command args,當我們建立這個 container 時,會不斷的寫入位於 /var/log/generated.log,一次 50 筆,每一秒寫一次。
version: '3'
services:
log-generator:
image: mingrammer/flog
container_name: log-generator
command:
- --loop
- --format=json
- --number=50 # number of log lines to generate per second
- --delay=1000ms # delay between log lines
- --output=/var/log/generated.log
- --overwrite
- --type=log
volumes:
- /var/log/flog:/var/log/
user: "1000:1000"
2. Ensure that the folder ( /var/log/flog/ ) exists also with appropriate permissions
我有嘗試給 755 但是 run 起來後 docker container 會停止並顯示 open /var/log/generated.log: permission denied
mkdir /var/log/flog
sudo chmod -R 777 /var/log/flog
3. Run it
很基本還是提醒一下,這指令要 run 在存放於 1. 的 docker-compose.yaml folder 裡。
docker-compose pull & docker-compose up -d
4. Verify it
# check the docker container exist and the status is running.
docker ps | grep log-generator
# 確認 generated.log 是不是有不斷被寫入 log
tail -f /var/log/flog/generated.log
Screenshot
結語
實際上在 command args 裡有一些可以微調的細節,這部分有需要可以直接參考作者給的 usage。而且看了一下該專案的最後編輯時間是 4 年前,但是我到現在還是用的很開心,感謝作者。
主要參考
0
Subscribe to my newsletter
Read articles from Kanglin Wu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by