#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 @- </dev/null 2>&1 done