I need a help with my playbook. Im currently capturing filesystem and utilization related details from Restricted Bash VM (Management Console) and would like to create Splunk Event & upload to HTTP Event Collector using URI
Using set_fact I tried to create 2 variables for filesystem and utilization, Im unable to create it as a dictionar or convert into to single event
Could you please help me with workaround. ` Ansible PLAY:
name: HMC Filesystems
raw: monhmc -r disk -n0 | sed -r 's/ ([^ ]*)$/-\1/' | sed "s/.* //g" | grep -v Mounted | sed -e "s/^/fs_utilization=/g" -e "s/-/ Filesystem=/g"
register: result2
ignore_errors: yes
- name: print fs outputs
debug:
var: "{{ result2.stdout_lines | to_json }}"
- name: HMC Filesystem related variable Assignment
set_fact:
hmc_filesytem: "{{ item | regex_search('Filesystem.*') | regex_replace('Filesystem=', '') }}"
hmc_filesystem_util: "{{ item | regex_search('fs_utilization.*') | regex_replace('fs_utilization=', '') | regex_replace('%.*', '') | regex_replace('%', '') }}"
#hmc_fs_dict: "{{ hmc_fs_dict | default([]) + [{ 'hmc_filesystem': item.hmc_filesystem, 'hmc_fs_util': item.hmc_filesystem_util }] }}"
#hmc_fs_dict: "{{ hmc_fs_dict + hmc_filesystem_util | to_dict }}"
#dict_var: "{{ dict_var | default({}) | combine({item.hmc_filesystem: item.hmc_fileystem_util}) }}"
#dict_var: "{{ dict_var | default([]) + [ {'hmc_fs': hmc_filesystem, 'hmc_utils': hmc_filesystem_util } ] }}"
#hmc_dict: "{{ hmc_dict|default({}) | combine( {item.ansible_facts.hmc_filesystem: item.ansible_facts.hmc_filesystem_util} ) }}"
with_items:
"{{ result2.stdout_lines }}"
- name: print var stuff
debug: var=hmc_filesytem
debug: var=hmc_fs_dict
Output from Filesystems task
---------------------------------
TASK [print fs outputs] ***********************************************************************
ok: [hmc1lab] => {
"[\"fs_utilization=0% Filesystem=/dev\", \"fs_utilization=1% Filesystem=/dev/shm\", \"fs_utilization=3% Filesystem=/run\", \"fs_utilization=0% Filesystem=/sys/fs/cgroup\", \"fs_utilization=44% Filesystem=/\", \"fs_utilization=5% Filesystem=/extra\", \"fs_utilization=2% Filesystem=/data\", \"fs_utilization=4% Filesystem=/home\", \"fs_utilization=1% Filesystem=/dump\", \"fs_utilization=13% Filesystem=/var\", \"fs_utilization=18% Filesystem=/var/hsc/log\", \"fs_utilization=0% Filesystem=/run/user/601\", \"fs_utilization=1% Filesystem=/run/user/604\", \"fs_utilization=0% Filesystem=/run/user/600\"]": [
"fs_utilization=0% Filesystem=/dev",
"fs_utilization=1% Filesystem=/dev/shm",
"fs_utilization=3% Filesystem=/run",
"fs_utilization=0% Filesystem=/sys/fs/cgroup",
"fs_utilization=44% Filesystem=/",
"fs_utilization=5% Filesystem=/extra",
"fs_utilization=2% Filesystem=/data",
"fs_utilization=4% Filesystem=/home",
"fs_utilization=1% Filesystem=/dump",
"fs_utilization=13% Filesystem=/var",
"fs_utilization=18% Filesystem=/var/hsc/log",
"fs_utilization=0% Filesystem=/run/user/601",
"fs_utilization=1% Filesystem=/run/user/604",
"fs_utilization=0% Filesystem=/run/user/600"
`
Would like to create a dictionary from df command with filesystem and their utilisation and feed to Splunk HTTP event collector as a single event using URI.