更新时间:2025-07-07 GMT+08:00
分享

log_write.sh

本实践中需要预置业务日志脚本,完成数据采集及监控。

log_write.sh日志样例如下:

#!/bin/bash

while true; do
    random_number=$(( $RANDOM % 100 ))
    if [ $random_number -lt 70 ]; then
        log_type="INFO"
    elif [ $random_number -lt 90 ]; then
        log_type="DEBUG"
    else
        log_type="ERROR"
    fi

    log_messages=("LogRecordMessageTest01:68" "LogRecordMessageTest02:69" "LogRecordMessageTest03:70" "LogRecordMessageTest04:71" "LogRecordMessageTest05:72")
    log_message=${log_messages[$RANDOM % ${#log_messages[@]}]}


    request_services=("DemoOrgidLogin" "DemoServiceA" "DemoServiceB")
    request_service=${request_services[$RANDOM % ${#request_services[@]}]}

    request_login_urls=("http://org-app.appstageshow.com/index" "http://org-app.appstageshow.com/is/login" "http://org-app.appstageshow.com/oauth2/toLogin")
    request_demoa_urls=("http://org-demoa.appstageshow.com/user/list")
    request_demob_urls=("http://org-demob.appstageshow.com/order/list")

    if [ $request_service == "DemoOrgidLogin" ]; then
        request_url=${request_login_urls[$RANDOM % ${#request_login_urls[@]}]}
        request_type="GET"
    elif [ $request_service == "DemoServiceA" ]; then
        request_url=${request_demoa_urls[$RANDOM % ${#request_demoa_urls[@]}]}
        request_type="POST"
    else
        request_url=${request_demob_urls[$RANDOM % ${#request_demob_urls[@]}]}
        request_type="GET"
    fi


    request_status_fail=("500" "302" "401" "402" "403")
    if [ $log_type == "ERROR" ]; then
        request_status=${request_status_fail[$RANDOM % ${#request_status_fail[@]}]}

    else
        request_status="200"
    fi

    logfile="/opt/wiseeye/test/appstageshow.log"

    timestamp=$(date +"%Y-%m-%d %H:%M:%S.%3N")

    echo "$timestamp|$log_type|$log_message|$request_service|$request_type|$request_url|$(( $RANDOM % 201 ))|$request_status" >> $logfile

    sleep_time=$(( $RANDOM % 3 + 3 ))
    sleep $sleep_time
done

相关文档