Description: Ansible role for collecting system metrics (CPU, memory, disk, OS, and network). Designed for diagnostics, compliance reporting, monitoring integration, or automated system audits. Test url link url to..
Field | Value |
---|---|
Readme update | 08/05/2025 |
🧩 Argument Specifications in meta/argument_specs
Description: Collect system metrics (CPU, memory, disk, OS, network) and generate a structured JSON report with optional webhook integration.
-
sysinspect_debug_mode
- Required: False
- Type: bool
- Default: True
- Description: If true, enables debug output including the final JSON report printed to the terminal.
-
sysinspect_report_output_path
- Required: False
- Type: str
- Default: /tmp/system_report.json
- Description: Path where the final JSON report will be written on the target host.
-
sysinspect_report_webhook_url
- Required: False
- Type: str
- Default:
- Description: Optional URL of a webhook endpoint to which the report will be POSTed.
-
sysinspect_collect_hardware
- Required: False
- Type: bool
- Default: True
- Description: Whether to collect CPU, memory, and disk metrics.
-
sysinspect_collect_os
- Required: False
- Type: bool
- Default: True
- Description: Whether to collect OS version, kernel, and system uptime.
-
sysinspect_collect_network
- Required: False
- Type: bool
- Default: True
- Description: Whether to collect IP address and basic network diagnostics.
-
sysinspect_cpu_alert_threshold
- Required: False
- Type: int
- Default: 90
- Description: CPU usage percentage above which a warning alert is triggered.
-
sysinspect_memory_alert_threshold
- Required: False
- Type: int
- Default: 90
- Description: Memory usage percentage above which a warning alert is triggered.
-
myapp_int
- Required: False
- Type: int
- Default: 42
- Description: ['The integer value, defaulting to 42.', 'This is a second paragraph.']
-
myapp_str
- Required: True
- Type: str
- Default: none
- Description: The string value
-
myapp_list
- Required: True
- Type: list
- Default: none
- Description: A list of string values.
-
myapp_list_with_dicts
-
Required: False
-
Type: list
-
Default: [{'myapp_food_kind': 'meat', 'myapp_food_boiling_required': True, 'myapp_food_preparation_time': 60}, {'myapp_food_kind': 'fruits', 'myapp_food_preparation_time': 5}]
-
Description: A list of dicts with a defined structure and with default a value.
-
myapp_food_kind
- Required: false
- Type:
- Default: none
- Description: No description provided
-
myapp_food_boiling_required
- Required: false
- Type:
- Default: none
- Description: No description provided
-
myapp_food_preparation_time
- Required: false
- Type:
- Default: none
- Description: No description provided
-
myapp_food_kind
- Required: false
- Type:
- Default: none
- Description: No description provided
-
myapp_food_preparation_time
- Required: false
- Type:
- Default: none
- Description: No description provided
-
-
myapp_dict_with_suboptions
-
Required: False
-
Type: dict
-
Default: {'myapp_host': 'bar.foo', 'myapp_exclude_host': True, 'myapp_path': '/etc/myapp'}
-
Description: A dict with a defined structure and default values.
-
myapp_host
-
Required: True
-
Type: str
-
Default: none
-
Description: A string value with a limited list of allowed choices.
-
Choices:
-
foo.bar
-
bar.foo
-
ansible.foo.bar
-
-
-
-
myapp_exclude_host
- Required: True
- Type: bool
- Default: none
- Description: A boolean value.
-
myapp_path
- Required: True
- Type: path
- Default: none
- Description: A path value.
-
original_name
- Required: False
- Type: list
- Default: none
- Description: An optional list of string values.
-
Description: ['This is the alternate entrypoint for the C(myapp) role.']
- myapp_int
- Required: False
- Type: int
- Default: 1024
- Description: The integer value, defaulting to 1024.
These are static variables with lower priority
Var | Type | Value | Required | Title |
---|---|---|---|---|
my-var1-key1-reference | dict | {} |
false | Test issue 100 key1 |
my-var1-key1-reference.sub-key11 | str | sub-key11-value |
None | None |
my-var1-key1-reference.sub-key12 | str | sub-key12-value |
None | None |
my-var1-key2-reference | dict | {} |
false | Test issue 100 key2 |
my-var1-key2-reference.sub-key21 | str | sub-key11-value |
None | None |
my-var1-key2-reference.sub-key22 | str | sub-key12-value |
None | None |
my-var1-key3-reference | dict | {} |
None | None |
my-var1-key3-reference.sub-key31 | str | sub-key31-value |
None | None |
my-var1-key3-reference.sub-key32 | str | sub-key32-value |
None | None |
my-var1 | dict | {} |
None | None |
my-var1.key1 | str | <multiline value: folded_strip> |
None | None |
my-var1.key2 | str | <multiline value: folded_strip> |
None | None |
my-var1.key3 | str | <multiline value: folded_strip> |
None | None |
sysinspect_debug_mode | bool | True |
false | Enable debug mode for detailed output |
sysinspect_common_resolv_conf_literal | str | <multiline value: literal> |
false | Test issue 83 |
sysinspect_common_resolv_conf_folded | str | <multiline value: folded> |
false | Test issue 83 |
sysinspect_common_resolv_conf_literal_indent | str | <multiline value: literal_indent_2> |
false | Test issue 83 |
sysinspect_common_resolv_conf_folded_indent | str | <multiline value: folded_indent_2> |
false | Test issue 83 |
sysinspect_common_resolv_conf_list | list | [] |
false | Test issue 83 |
sysinspect_common_resolv_conf_list.0 | str | search domain.local |
None | None |
sysinspect_common_resolv_conf_list.1 | str | nameserver 8.8.8.8 |
None | None |
sysinspect_common_resolv_conf_list.2 | str | nameserver 8.8.4.4 |
None | None |
sysinspect_b | str | <multiline value: literal_keep> |
false | Literal with chomping "keep" |
sysinspect_c | str | <multiline value: literal_strip> |
false | Literal with chomping "strip" |
sysinspect_myval | str | <multiline value: literal_indent_4> |
false | Literal with indent=4 |
sysinspect_val1 | str | <multiline value: literal_keep_indent_2> |
false | Literal with chomping "keep" and indent=2 |
sysinspect_val2 | str | <multiline value: literal_strip_indent_4> |
false | Literal with chomping "strip" and indent=4 |
sysinspect_val3 | str | <multiline value: literal_keep_indent_2> |
false | Literal with indent=2 and chomping "keep" |
sysinspect_report_output_path | str | /tmp/system_report.json |
true | Output path for system report |
sysinspect_report_webhook_url | str | false | Send report to webhook | |
sysinspect_collect_hardware | bool | True |
true | Collect CPU, memory, and disk usage |
sysinspect_collect_os | bool | True |
true | Collect OS, kernel, and uptime info |
sysinspect_collect_network | bool | True |
true | Collect network information (IP addresses) |
sysinspect_cpu_alert_threshold | int | 90 |
false | CPU usage alert threshold |
sysinspect_memory_alert_threshold | int | 90 |
false | Memory usage alert threshold |
Var | Type | Value | Required | Title |
---|---|---|---|---|
sysinspect_debug_mode | bool | True |
false | Enable debug mode for detailed output |
Var | Type | Value | Required | Title |
---|---|---|---|---|
sysinspect_debug_mode | bool | True |
false | Enable debug mode for detailed output |
my-var1-key1-reference | dict | {} |
false | Test issue 100 key1 |
my-var1-key1-reference.sub-key11 | str | sub-key11-value |
None | None |
my-var1-key1-reference.sub-key12 | str | sub-key12-value |
None | None |
my-var1-key2-reference | dict | {} |
false | Test issue 100 key2 |
my-var1-key2-reference.sub-key21 | str | sub-key11-value |
None | None |
my-var1-key2-reference.sub-key22 | str | sub-key12-value |
None | None |
my-var1-key3-reference | dict | {} |
None | None |
my-var1-key3-reference.sub-key31 | str | sub-key31-value |
None | None |
my-var1-key3-reference.sub-key32 | str | sub-key32-value |
None | None |
my-var1 | dict | {} |
None | None |
my-var1.key1 | str | <multiline value: folded_strip> |
None | None |
my-var1.key2 | str | <multiline value: folded_strip> |
None | None |
my-var1.key3 | str | <multiline value: folded_strip> |
None | None |
🖇️ Full descriptions for vars in defaults/main.yml
Var | Description |
---|---|
my-var1-key1-reference | test description key2. |
my-var1-key2-reference | test description key2. |
sysinspect_debug_mode | If true, the role will display additional debug information at runtime, including the final assembled JSON report before writing or sending it. |
sysinspect_common_resolv_conf_literal | Literal style, preserves newlines and indentation exactly |
sysinspect_common_resolv_conf_folded | Folded style, converts newlines to spaces |
sysinspect_common_resolv_conf_literal_indent | Literal style with indent indicator, preserves newlines; forces 2-space indentation ( |
sysinspect_common_resolv_conf_folded_indent | Folded style with indent indicator, newlines become spaces; forces 2-space indentation ( |
sysinspect_common_resolv_conf_list | List of lines, one item per DNS line (best for iteration in templates) |
sysinspect_b | Literal style, preserves all trailing newlines |
sysinspect_c | Literal style, strips all trailing newlines |
sysinspect_myval | Literal style with forced 4-space indentation ( |
sysinspect_val1 | Keeps newlines and enforces 2-space indent ( |
sysinspect_val2 | Strips trailing newlines and forces 4-space indent ( |
sysinspect_val3 | Same as above; order of indicators doesn't matter ( |
sysinspect_report_output_path | Path where the final JSON report will be written. |
sysinspect_report_webhook_url | URL of the HTTP endpoint that will receive the report. |
sysinspect_collect_hardware | Enable or disable hardware metric collection. |
sysinspect_collect_os | Enable or disable operating system info collection. |
sysinspect_collect_network | Enable or disable network diagnostics. |
sysinspect_cpu_alert_threshold | If CPU usage exceeds this percentage, it will trigger an alert. |
sysinspect_memory_alert_threshold | If memory usage exceeds this percentage, it will trigger an alert. |
🖇️ Full descriptions for vars in defaults/main/another_default_test.yml
Var | Description |
---|---|
sysinspect_debug_mode | If true, the role will display additional debug information at runtime, including the final assembled JSON report before writing or sending it. |
🖇️ Full descriptions for vars in defaults/main/main.yml
Var | Description |
---|---|
sysinspect_debug_mode | If true, the role will display additional debug information at runtime, including the final assembled JSON report before writing or sending it. |
my-var1-key1-reference | test description key2. |
my-var1-key2-reference | test description key2. |
These are variables with higher priority
Var | Type | Value | Required | Title |
---|---|---|---|---|
sysinspect_suite_name | str | System Inspector v2.0 |
true | Name of the diagnostic suite |
sysinspect_phases | list | [] |
true | Phases of system inspection |
sysinspect_phases.0 | dict | {} |
None | None |
sysinspect_phases.0.id | str | hardware_check |
None | None |
sysinspect_phases.0.label | str | Hardware Metrics Collection |
true | Phase ID |
sysinspect_phases.0.description | str | Collects hardware statistics including nested device checks. |
true | Phase label |
sysinspect_phases.0.subphases | list | [] |
false | Subphases |
sysinspect_phases.0.subphases.0 | dict | {} |
None | None |
sysinspect_phases.0.subphases.0.id | str | cpu_inspect |
None | None |
sysinspect_phases.0.subphases.0.label | str | CPU Details |
true | Subphase ID |
sysinspect_phases.0.subphases.0.description | str | Gathers model, core count, and usage per core. |
true | Subphase label |
sysinspect_phases.0.subphases.1 | dict | {} |
None | None |
sysinspect_phases.0.subphases.1.id | str | mem_inspect |
None | None |
sysinspect_phases.0.subphases.1.label | str | Memory Details |
None | None |
sysinspect_phases.0.subphases.1.description | str | Retrieves total, used, and free memory. |
None | None |
sysinspect_phases.0.subphases.2 | dict | {} |
None | None |
sysinspect_phases.0.subphases.2.id | str | disk_inspect |
None | None |
sysinspect_phases.0.subphases.2.label | str | Disk Inspection |
None | None |
sysinspect_phases.0.subphases.2.description | str | Inspects mounted filesystems, usage, and I/O metrics. |
None | None |
sysinspect_phases.0.subphases.2.conditions | dict | {} |
None | None |
sysinspect_phases.0.subphases.2.conditions.min_disk_free_percent | int | 10 |
false | Minimum disk free percent |
sysinspect_phases.1 | dict | {} |
None | None |
sysinspect_phases.1.id | str | os_info_check |
None | None |
sysinspect_phases.1.label | str | Operating System Inspection |
None | None |
sysinspect_phases.1.description | str | Retrieves OS, kernel version, uptime. |
None | None |
sysinspect_phases.1.metadata | dict | {} |
None | None |
sysinspect_phases.1.metadata.os_release_files | list | [] |
false | OS release files |
sysinspect_phases.1.metadata.os_release_files.0 | str | /etc/os-release |
None | None |
sysinspect_phases.1.metadata.os_release_files.1 | str | /etc/lsb-release |
None | None |
sysinspect_phases.1.metadata.include_hostname | bool | True |
false | Include hostname |
sysinspect_phases.2 | dict | {} |
None | None |
sysinspect_phases.2.id | str | network_check |
None | None |
sysinspect_phases.2.label | str | Network Interfaces |
None | None |
sysinspect_phases.2.description | str | Collects interface configs and ping tests. |
None | None |
sysinspect_phases.2.interfaces | list | [] |
None | None |
sysinspect_phases.2.interfaces.0 | dict | {} |
None | None |
sysinspect_phases.2.interfaces.0.name | str | eth0 |
None | None |
sysinspect_phases.2.interfaces.0.expected_state | str | up |
true | Expected interface state |
sysinspect_phases.2.interfaces.0.test_ping | str | 8.8.8.8 |
false | Ping test target |
sysinspect_phases.2.interfaces.1 | dict | {} |
None | None |
sysinspect_phases.2.interfaces.1.name | str | wlan0 |
None | None |
sysinspect_phases.2.interfaces.1.expected_state | str | down |
None | None |
sysinspect_phases.2.interfaces.1.test_ping | NoneType | None |
None | None |
sysinspect_phases.3 | dict | {} |
None | None |
sysinspect_phases.3.id | str | alerting |
None | None |
sysinspect_phases.3.label | str | Threshold & Alert Logic |
None | None |
sysinspect_phases.3.description | str | Evaluates CPU and memory thresholds to trigger warnings. |
None | None |
sysinspect_phases.3.thresholds | dict | {} |
None | None |
sysinspect_phases.3.thresholds.cpu | dict | {} |
None | None |
sysinspect_phases.3.thresholds.cpu.warn | int | 75 |
true | CPU warning threshold |
sysinspect_phases.3.thresholds.cpu.crit | int | 90 |
true | CPU critical threshold |
sysinspect_phases.3.thresholds.memory | dict | {} |
None | None |
sysinspect_phases.3.thresholds.memory.warn | int | 80 |
None | None |
sysinspect_phases.3.thresholds.memory.crit | int | 95 |
None | None |
sysinspect_phases.4 | dict | {} |
None | None |
sysinspect_phases.4.id | str | json_output |
None | None |
sysinspect_phases.4.label | str | JSON Report Structuring |
None | None |
sysinspect_phases.4.description | str | Formats inspection output in JSON. |
None | None |
sysinspect_phases.4.include_metadata | bool | True |
false | Include metadata |
sysinspect_phases.4.sanitize_keys | bool | True |
false | Sanitize keys |
sysinspect_phases.5 | dict | {} |
None | None |
sysinspect_phases.5.id | str | webhook_post |
None | None |
sysinspect_phases.5.label | str | Webhook Result Push |
None | None |
sysinspect_phases.5.description | str | Sends report to external endpoint if configured. |
None | None |
sysinspect_phases.5.config | dict | {} |
None | None |
sysinspect_phases.5.config.enabled | bool | True |
true | Enable webhook |
sysinspect_phases.5.config.retry_count | int | 3 |
false | Retry count |
sysinspect_phases.5.config.timeout_seconds | int | 5 |
false | Timeout seconds |
sysinspect_phases.5.config.endpoint | str | {{ sysinspect_webhook_url ¦ default('') }} |
true | Webhook endpoint |
sysinspect_tool_info | dict | {} |
true | Internal tool metadata |
sysinspect_tool_info.name | str | InspectorCoreShell |
None | None |
sysinspect_tool_info.version | str | 2.0.1 |
None | None |
sysinspect_tool_info.license | str | MIT-0 |
None | None |
🖇️ Full Descriptions for vars in vars/main.yml
Var | Description |
---|---|
sysinspect_suite_name | Human-readable name of the system inspection suite. Used in logging and reporting. |
sysinspect_phases | - Nested list of inspection phases. - Each phase can contain one or more subphases with their own labels, descriptions, and conditions. |
sysinspect_phases.0.label | Unique identifier for the phase. |
sysinspect_phases.0.description | Human-friendly name of the phase. |
sysinspect_phases.0.subphases | List of substeps to run within this phase. |
sysinspect_phases.0.subphases.0.label | Identifier for this subphase. |
sysinspect_phases.0.subphases.0.description | Human-friendly name for the subphase. |
sysinspect_phases.0.subphases.2.conditions.min_disk_free_percent | Triggers an alert if free disk percentage drops below this value. |
sysinspect_phases.1.metadata.os_release_files | List of files to parse for OS release info. |
sysinspect_phases.1.metadata.include_hostname | Whether to include system hostname in output. |
sysinspect_phases.2.interfaces.0.expected_state | Desired operational state ("up" or "down"). |
sysinspect_phases.2.interfaces.0.test_ping | Optional IP or hostname to ping for connectivity test. |
sysinspect_phases.3.thresholds.cpu.warn | Percent usage that triggers a warning. |
sysinspect_phases.3.thresholds.cpu.crit | Percent usage that triggers a critical alert. |
sysinspect_phases.4.include_metadata | Whether to embed metadata in the JSON output. |
sysinspect_phases.4.sanitize_keys | Convert keys to safe formats (e.g., snake_case, remove invalid chars). |
sysinspect_phases.5.config.enabled | Whether to send results to a webhook. |
sysinspect_phases.5.config.retry_count | Number of times to retry on failure. |
sysinspect_phases.5.config.timeout_seconds | Timeout for the webhook POST request. |
sysinspect_phases.5.config.endpoint | URL to send results to (may be templated). |
sysinspect_tool_info | - Information used for versioning and tool identity. |
Name | Module | Has Conditions |
---|---|---|
Run metric shell command for {{ metric_name }} | ansible.builtin.shell | True |
Transfer result to dynamic register var | ansible.builtin.set_fact | True |
Name | Module | Has Conditions | Comments |
---|---|---|---|
Begin system diagnostics | ansible.builtin.debug | False | |
Initialize data dictionary | ansible.builtin.set_fact | False | |
Collect hardware metrics | block | False | --- Hardware Block --- |
Collect CPU usage | ansible.builtin.include_tasks | False | Collect CPU usage |
Collect memory usage | ansible.builtin.include_tasks | False | Collect memory usage |
Collect disk usage | ansible.builtin.import_tasks | False | Collect disk usage |
Set hardware facts | ansible.builtin.set_fact | True | |
Collect OS metrics | block | False | --- OS Block --- |
Get OS version | ansible.builtin.import_tasks | False | |
Get kernel version | ansible.builtin.include_tasks | False | |
Get uptime | ansible.builtin.include_tasks | False | |
Set OS facts | ansible.builtin.set_fact | True | |
Collect network info | block | False | --- Network Block --- |
Get main IP address | ansible.builtin.include_tasks | False | |
Set network fact | ansible.builtin.set_fact | True | |
Check threshold alerts | block | False | --- Resource Threshold Alerts --- |
Alert on high CPU | ansible.builtin.debug | True | |
Alert on high memory | ansible.builtin.debug | True | |
Append role configuration to report data | ansible.builtin.set_fact | False | --- Include Configuration Parameters into Report --- |
Show final system report JSON (debug mode) | ansible.builtin.debug | True | --- Debug Final Report --- |
Write system report to JSON file | ansible.builtin.copy | False | --- Output JSON --- |
Send report to webhook | ansible.builtin.uri | True | --- Send to webhook if URL is defined --- |
flowchart TD
Start
classDef block stroke:#3498db,stroke-width:2px;
classDef task stroke:#4b76bb,stroke-width:2px;
classDef includeTasks stroke:#16a085,stroke-width:2px;
classDef importTasks stroke:#34495e,stroke-width:2px;
classDef includeRole stroke:#2980b9,stroke-width:2px;
classDef importRole stroke:#699ba7,stroke-width:2px;
classDef includeVars stroke:#8e44ad,stroke-width:2px;
classDef rescue stroke:#665352,stroke-width:2px;
Start-->|Task| Begin_system_diagnostics0[begin system diagnostics]:::task
Begin_system_diagnostics0-->|Task| Initialize_data_dictionary1[initialize data dictionary]:::task
Initialize_data_dictionary1-->|Block Start| Collect_hardware_metrics2_block_start_0[[collect hardware metrics]]:::block
Collect_hardware_metrics2_block_start_0-->|Include task| Collect_CPU_usage_collect_metric_yml_0[collect cpu usage<br>include_task: collect metric yml]:::includeTasks
Collect_CPU_usage_collect_metric_yml_0-->|Include task| Collect_memory_usage_collect_metric_yml_1[collect memory usage<br>include_task: collect metric yml]:::includeTasks
Collect_memory_usage_collect_metric_yml_1-->|Import task| Collect_disk_usage_collect_metric_yml_2[/collect disk usage<br>import_task: collect metric yml/]:::importTasks
Collect_disk_usage_collect_metric_yml_2-->|Task| Set_hardware_facts3[set hardware facts<br>When: **sysinspect collect hardware**]:::task
Set_hardware_facts3-.->|End of Block| Collect_hardware_metrics2_block_start_0
Set_hardware_facts3-->|Rescue Start| Collect_hardware_metrics2_rescue_start_0[collect hardware metrics]:::rescue
Collect_hardware_metrics2_rescue_start_0-->|Task| Log_hardware_collection_failure0[log hardware collection failure]:::task
Log_hardware_collection_failure0-.->|End of Rescue Block| Collect_hardware_metrics2_block_start_0
Log_hardware_collection_failure0-->|Block Start| Collect_OS_metrics3_block_start_0[[collect os metrics]]:::block
Collect_OS_metrics3_block_start_0-->|Import task| Get_OS_version_collect_metric_yml_0[/get os version<br>import_task: collect metric yml/]:::importTasks
Get_OS_version_collect_metric_yml_0-->|Include task| Get_kernel_version_collect_metric_yml_1[get kernel version<br>include_task: collect metric yml]:::includeTasks
Get_kernel_version_collect_metric_yml_1-->|Include task| Get_uptime_collect_metric_yml_2[get uptime<br>include_task: collect metric yml]:::includeTasks
Get_uptime_collect_metric_yml_2-->|Task| Set_OS_facts3[set os facts<br>When: **sysinspect collect os**]:::task
Set_OS_facts3-.->|End of Block| Collect_OS_metrics3_block_start_0
Set_OS_facts3-->|Rescue Start| Collect_OS_metrics3_rescue_start_0[collect os metrics]:::rescue
Collect_OS_metrics3_rescue_start_0-->|Task| Log_OS_info_collection_failure0[log os info collection failure]:::task
Log_OS_info_collection_failure0-.->|End of Rescue Block| Collect_OS_metrics3_block_start_0
Log_OS_info_collection_failure0-->|Block Start| Collect_network_info4_block_start_0[[collect network info]]:::block
Collect_network_info4_block_start_0-->|Include task| Get_main_IP_address_collect_metric_yml_0[get main ip address<br>include_task: collect metric yml]:::includeTasks
Get_main_IP_address_collect_metric_yml_0-->|Task| Set_network_fact1[set network fact<br>When: **sysinspect collect network**]:::task
Set_network_fact1-.->|End of Block| Collect_network_info4_block_start_0
Set_network_fact1-->|Rescue Start| Collect_network_info4_rescue_start_0[collect network info]:::rescue
Collect_network_info4_rescue_start_0-->|Task| Log_network_info_collection_failure0[log network info collection failure]:::task
Log_network_info_collection_failure0-.->|End of Rescue Block| Collect_network_info4_block_start_0
Log_network_info_collection_failure0-->|Block Start| Check_threshold_alerts5_block_start_0[[check threshold alerts]]:::block
Check_threshold_alerts5_block_start_0-->|Task| Alert_on_high_CPU0[alert on high cpu<br>When: **system data cpu usage default 0 sysinspect<br>cpu alert threshold**]:::task
Alert_on_high_CPU0-->|Task| Alert_on_high_memory1[alert on high memory<br>When: **system data memory usage default 0 sysinspect<br>memory alert threshold**]:::task
Alert_on_high_memory1-.->|End of Block| Check_threshold_alerts5_block_start_0
Alert_on_high_memory1-->|Rescue Start| Check_threshold_alerts5_rescue_start_0[check threshold alerts]:::rescue
Check_threshold_alerts5_rescue_start_0-->|Task| Threshold_alert_processing_failed0[threshold alert processing failed]:::task
Threshold_alert_processing_failed0-.->|End of Rescue Block| Check_threshold_alerts5_block_start_0
Threshold_alert_processing_failed0-->|Task| Append_role_configuration_to_report_data6[append role configuration to report data]:::task
Append_role_configuration_to_report_data6-->|Task| Show_final_system_report_JSON__debug_mode_7[show final system report json debug mode <br>When: **sysinspect debug mode**]:::task
Show_final_system_report_JSON__debug_mode_7-->|Task| Write_system_report_to_JSON_file8[write system report to json file]:::task
Write_system_report_to_JSON_file8-->|Task| Send_report_to_webhook9[send report to webhook<br>When: **sysinspect report webhook url**]:::task
Send_report_to_webhook9-->End
flowchart TD
Start
classDef block stroke:#3498db,stroke-width:2px;
classDef task stroke:#4b76bb,stroke-width:2px;
classDef includeTasks stroke:#16a085,stroke-width:2px;
classDef importTasks stroke:#34495e,stroke-width:2px;
classDef includeRole stroke:#2980b9,stroke-width:2px;
classDef importRole stroke:#699ba7,stroke-width:2px;
classDef includeVars stroke:#8e44ad,stroke-width:2px;
classDef rescue stroke:#665352,stroke-width:2px;
Start-->|Task| Run_metric_shell_command_for_metric_name0[run metric shell command for metric name<br>When: **metric collect**]:::task
Run_metric_shell_command_for_metric_name0-->|Task| Transfer_result_to_dynamic_register_var1[transfer result to dynamic register var<br>When: **metric collect**]:::task
Transfer_result_to_dynamic_register_var1-->End
#SPDX-License-Identifier: MIT-0
---
- name: Sysinspect playbook
hosts:
- localhost
- devhost
- prodhost
remote_user: root
roles:
- ../sysinspect
flowchart TD
hosts[localhost, devhost, prodhost]-->|Role| ___sysinspect[ sysinspect]
Lucian BLETAN
MIT
2.1
No platforms specified.
No dependencies specified.