82 lines
2.6 KiB
Plaintext
82 lines
2.6 KiB
Plaintext
#Cli preset parameters
|
|
#source .venv/bin/activate
|
|
HEC_URL="https://localhost:8088/services/collector/event"
|
|
HEC_TOKEN="dev-0123456789abcdef"
|
|
INDEX="intesa_payments"
|
|
SOURCETYPE="intesa:bonifico"
|
|
|
|
#Cli script for generating logs
|
|
gen_iban(){ local d=""; for _ in $(seq 1 25); do d="${d}$((RANDOM%10))"; done; echo "IT${d}"; }
|
|
mask_iban(){ local i="$1"; local pre="${i:0:6}"; local suf="${i: -4}"; local n=$(( ${#i}-10 )); printf "%s%0.s*" "$pre" $(seq 1 $n); echo -n "$suf"; }
|
|
rand_amount(){ awk 'BEGIN{srand(); printf "%.2f", 5+rand()*14995}'; }
|
|
rand_bool_str(){ if ((RANDOM%2)); then echo "true"; else echo "false"; fi; }
|
|
pick(){ local a=("$@"); echo "${a[$RANDOM%${#a[@]}]}"; }
|
|
|
|
spese=(SHA OUR BEN)
|
|
divise=(EUR EUR EUR EUR USD GBP)
|
|
statuses=(accepted pending rejected)
|
|
|
|
for tx in {1..20}; do
|
|
txid=$(cat /proc/sys/kernel/random/uuid 2>/dev/null || uuidgen 2>/dev/null || openssl rand -hex 16)
|
|
t0=$(date -u +%s); t1=$((t0+1)); t2=$((t1+2))
|
|
iso0=$(date -u -d @$t0 +%FT%T.%6NZ)
|
|
iso1=$(date -u -d @$t1 +%FT%T.%6NZ)
|
|
iso2=$(date -u -d @$t2 +%FT%T.%6NZ)
|
|
|
|
src=$(gen_iban); dst=$(gen_iban)
|
|
srcm=$(mask_iban "$src"); dstm=$(mask_iban "$dst")
|
|
amt=$(rand_amount)
|
|
dv=$(pick "${divise[@]}")
|
|
inst=$(rand_bool_str)
|
|
sp=$(pick "${spese[@]}")
|
|
final=$(pick "${statuses[@]}")
|
|
|
|
send() {
|
|
local when="$1" iso="$2" step="$3" status="$4"
|
|
curl -sk "$HEC_URL" \
|
|
-H "Authorization: Splunk $HEC_TOKEN" -H "Content-Type: application/json" \
|
|
-d @- <<JSON
|
|
{
|
|
"time": $when,
|
|
"host": "seed.cli",
|
|
"source": "cli_for_loop",
|
|
"sourcetype": "$SOURCETYPE",
|
|
"index": "$INDEX",
|
|
"event": {
|
|
"event_type": "bonifico",
|
|
"transaction_id": "$txid",
|
|
"step": "$step",
|
|
"iban_origin_masked": "$srcm",
|
|
"iban_dest_masked": "$dstm",
|
|
"importo": "$amt",
|
|
"divisa": "$dv",
|
|
"istantaneo": "$inst",
|
|
"data_pagamento": "$iso",
|
|
"spese_commissioni": "$sp",
|
|
"causale": "TEST SEED",
|
|
"status": "$status"
|
|
}
|
|
}
|
|
JSON
|
|
}
|
|
|
|
send "$t0" "$iso0" "compila" "in_progress"
|
|
send "$t1" "$iso1" "conferma" "in_progress"
|
|
send "$t2" "$iso2" "esito" "$final"
|
|
done
|
|
|
|
|
|
###FAST
|
|
HEC_URL="https://localhost:8088/services/collector/event"
|
|
HEC_TOKEN="dev-0123456789abcdef"
|
|
INDEX="intesa_payments"
|
|
SOURCETYPE="intesa:bonifico"
|
|
|
|
for i in {1..200}; do
|
|
curl -k https://localhost:8088/services/collector/event \
|
|
-H "Authorization: Splunk dev-0123456789abcdef" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"event":{"event_type":"bonifico","step":"esito","status":"accepted","importo": '"$((RANDOM%5000+50))"',"divisa":"EUR","transaction_id":"TX-'$RANDOM'"},"sourcetype":"intesa:bonifico","index":"intesa_payments"}' >/dev/null 2>&1
|
|
done
|
|
|