I already used it, but still im getting output in this format which i
cannot filter it ...
[image: lb.PNG]
tasks:
- name: print date
set_fact: temp="{{lookup('pipe','date \"+%Y-%m-%d-%H-%M\"')}}"
- name: creates file
file:
path: "/tmp/loadbalancer_{{ temp }}.csv"
state: touch
- name: creates file
file:
path: "/tmp/loadbalancer_{{ temp }}.txt"
state: touch
- name: print date
set_fact: files="loadbalancer_{{ temp }}.csv"
- name: Run Health Checks on LoadBalancer servers
bigip_command:
commands:
- show sys version
- show sys service | grep tmm
- show ltm
- show sys memory
provider:
server: xxxx.xxxx
password: "{{ xxxxx }}"
user: "{{ xxxxx }}"
validate_certs: no
register: version
delegate_to: localhost
- name: Updating variable
copy: content="{{ version.stdout_lines | to_nice_yaml }}"
dest="/tmp/loadbalancer_{{ temp }}.txt"
- name: Parse the CSV file
shell:
cmd: |
cp -f "/tmp/loadbalancer_{{ temp }}.txt" /tmp/temp.txt
cat /tmp/temp.txt| tr -s '[:blank:]' ' ' > "/tmp/loadbalancer_{{
temp }}.csv"
On Thursday, June 13, 2019 at 11:31:46 AM UTC-5, J Hawkesworth wrote:
>
>
> Assuming you have the data from your load balancer stored in a registered
> variable you could run copy to write the file to disk on the controller,
> and then a shell task to use 'tr' command to convert the whitespace, tabs
> and : to a comma, and then you would have .csv file you could process.
> Something like the following (which I have NOT tested):
>
>
> - name: copy loadbalancer output to disk
> copy:
> content: "{{ output_from_load_balancer }}"
> dest: /tmp/load-balancer-raw
> delegate_to: localhost
>
>
> - name: make raw loadbalancer into csv
> shell: cat /tmp/load-balancer-raw | tr [:blank:] , | tr \: , > /tmp/
> load-balancer-raw
> delegate_to: localhost
>
>
>
> Also worth investigating are the lookups that ansible has. See
> https://docs.ansible.com/ansible/latest/plugins/lookup.html You might
> want to use
> https://docs.ansible.com/ansible/latest/plugins/lookup/csvfile.html to
> load the csv for further processing.
>
> Also worth exploring to see if you can get more structured data out of
> your load balancer, preferably json or yaml, both of which are much easier
> to then use within ansible.
>
> Hope this helps,
>
> Jon
>
>
> On Thursday, June 13, 2019 at 4:19:49 PM UTC+1, Kethan R wrote:
>>
>> Recently i wrote a playbook to pull the data from Loadbalancer server.
>> Output is saving in 1st row of each column.
>> output has : data separated with spaces, Tabs and :
>> I want to apply delimit option only on tabs spaces and : which i am not
>> able to. Kindly suggest if you have any solution.
>>
>>
>> EX:
>> xxx::Node: IP.ip.ip.ip (ip.ip.ip.ip)
>> ------------------------------------------
>> Status
>> Availability : available
>> State : enabled
>> Reason : Node address is available
>> Monitor : /Common/icmp (default node monitor)
>> Monitor Status : up
>> Session Status : enabled
>> Traffic ServerSide General
>> Bits In 0 -
>> Bits Out 0 -
>> Packets In 0 -
>> Packets Out 0 -
>> Current Connections 0 -
>> Maximum Connections 0 -
>> Total Connections 0 -
>> Total Requests - 0
>> Current Sessions - 0
>>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/61fe8b1d-2119-409f-b0f9-d4b5add4c446%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.