ans2dev.general sar_filter role
sar_filter
is a role designed to independently filter the data exported by the ans2dev.general.sar_facts
module.
This role is designed to create lists with standard and simple filters.
With sar_filter
, you can autonomously create lists to pass to the ans2dev.general.charts
module.
The role generate simple filters and not complex condition.
Role requirements
Role Variables
Parameter |
Type |
Required |
Default |
Description |
---|---|---|---|---|
|
|
Yes |
|
The SAR fact source to filter (e.g., |
|
|
Yes |
|
Defines if the filtering is by |
|
|
Yes |
|
Name of the fact that will store the filtered data. |
|
|
No |
|
The key of the SAR fact to extract (e.g., |
|
|
No |
|
Defines which network interface ( |
|
|
No |
|
Defines which disk device ( |
Dependencies
Before using this role, it is necessary to use the ans2dev.general.sar_facts
module.
This role is based on its data collected.
Usage
Filter data from ans2dev.general.sar_facts
and pass it to ans2dev.general.charts
:
# ========================= CPU USAGE CHART =========================
- name: Extract CPU Usage Data (Timestamp)
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_cpu"
filter_by: "timestamp"
result_fact: "cpu_usage"
- name: Extract CPU % User
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_cpu"
filter_by: "datavalue"
datavalue_key: "%user"
result_fact: "cpu_usr"
- name: Extract CPU % System
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_cpu"
filter_by: "datavalue"
datavalue_key: "%system"
result_fact: "cpu_sys"
- name: Extract CPU % IO Wait
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_cpu"
filter_by: "datavalue"
datavalue_key: "%iowait"
result_fact: "cpu_iowait"
- name: Generate CPU Usage Chart
ans2dev.general.charts:
titlechart: "CPU Usage Over Time"
type: "line"
xaxis: "{{ cpu_usage_timestamp }}"
xaxisname: "Timestamp"
yaxis:
- "{{ cpu_usr_values }}"
- "{{ cpu_sys_values }}"
- "{{ cpu_iowait_values }}"
yaxisname: ["User %", "System %", "IO Wait %"]
yaxiscolor: ["red", "blue", "orange"]
path: "/tmp"
filename: "cpu_usage"
format: "png"
# ========================= NETWORK USAGE CHART =========================
- name: Extract Network Data (eth0)
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_net"
filter_by: "timestamp"
iface_filter: "eth0"
result_fact: "net_eth0"
- name: Extract Packets Received (eth0)
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_net"
filter_by: "datavalue"
datavalue_key: "rxpck/s"
iface_filter: "eth0"
result_fact: "net_eth0_rx"
- name: Extract Packets Sent (eth0)
include_role:
name: ans2dev.general.sar_filter
vars:
source: "sar_net"
filter_by: "datavalue"
datavalue_key: "txpck/s"
iface_filter: "eth0"
result_fact: "net_eth0_tx"
- name: Generate Network Packets Chart (eth0)
ans2dev.general.charts:
titlechart: "Network Packets Received & Sent (eth0)"
type: "bar"
xaxis: "{{ net_eth0_timestamp }}"
xaxisname: "Timestamp"
yaxis:
- "{{ net_eth0_rx_values }}"
- "{{ net_eth0_tx_values }}"
yaxisname: ["RX Packets", "TX Packets"]
yaxiscolor: ["blue", "orange"]
path: "/tmp"
filename: "net_eth0"
format: "png"