SlideShare a Scribd company logo
1 of 6
Download to read offline
Event–Driven Self–Healing Infrastructure
with​ SALTSTACK
SaltStack is a complete systems management software platform for scalable
orchestration and automation of any infrastructure or application stack. Salt is built
around an event infrastructure that can be leveraged and extended to drive reactive
provisioning, configuration, and management across all devices in your infrastructure.
Salt’s internal components communicate with each other by sending and listening to
events. In Salt, events are sent for about everything you could imagine.
Benefits of event-driven architecture:
An event-driven architecture can help to achieve a flexible system that can adapt to
changes and make decisions in real time. Real-time situational awareness means that
business decisions, whether manual or automated, can be made using all of the
available data that reflects the current state of your systems.
SALTSTACK Components:
Salt Master:​ ​Central management system. This system is used to send commands and
configurations to the Salt minion that is running on managed systems.
Salt Minions:​Managed system. This system runs the Salt minion which receives commands
and configuration from the Salt master.
Formulas (States):​A declarative or imperative representation of a system configuration.
Grains:​System variables. Grains are static information about the underlying managed system
and include operating system, memory, and many other system properties. You can also define
custom grains for any system.
Pillar:​User-defined variables. These secure variables are defined and stored on the Salt
Master and then ‘assigned’ to one or more minions using targets. Salt pillar data stores values
such as ports, file paths, configuration parameters, and passwords.
Beacons:​Beacons let you use the Salt event system to monitor non-Salt processes.When
monitored activity occurs in a system process, an event is sent on the Salt event bus that can
be used to trigger a reactor.
1> Beacons are deployed on Salt Minions.
2> It uses modules to monitor systems.
3> publish messages to Salt event bus
Salt beacons can currently monitor and send Salt events for many system activities, including:
● file system changes - ​INOTIFY
● system load - ​MEMUSAGE
● service status - ​SERVICE
● disk usage - ​DISKUSAGE
Reactor:​Salt's Reactor system gives Salt the ability to trigger actions in response to an event.
It is a simple interface to watching Salt's event bus for event tags that match a given pattern and
then running one or more commands in response.
1> Reactors are defined on Salt Master
2> Reads messages from Salt event bis
3> Maps events to reactor SLS file based on configuration file
Lets configure with existing Salt setup, In this practical
will demonstrate beacons SERVICE module.
Master node ip​ - 192.168.0.10 ​- hostname - ​master-node-0-10
Minion node ip ​- 192.168.0.20 ​- hostname - ​minion-node-0-20
Minion configurations:
Install prerequisites:
yum install -y python2-psutil python-inotify python-pip
create config file for beacons:
vim /etc/salt/minion.d/beacons.conf
beacons:
service:
- services:
nginx:
onchangeonly: True
restart Salt minion service to reload the configuration
systemctl restart salt-minion
Master configurations:
install prerequisites:
yum install -y python2-psutil python-inotify python-pip
verify the beacons config on minions from Master:
CMD -- salt * beacons.list
output:
minion-node-0-20:
beacons:
service:
- services:
nginx:
onchangeonly: true
create reactor.conf file
vim /etc/salt/master.d/reactor.conf
reactor:
- 'salt/beacon/*/service/*':
- /home/salt/automation/salt/reactor/service.sls
create service.sls file
vim /home/salt/automation/salt/reactor/service.sls
{%- if data[data['service_name']]['running'] == False %}
start {{data['service_name']}}:
local.service.start:
- tgt: {{data['id']}}
- args:
- name: {{data['service_name']}}
{%- endif %}
restart Salt master service to reload the configuration
systemctl restart salt-master
NOW let's stop the Nginx service on minion and see the logs in
Master with below command. Here will break the log in 4 stages and
explain each of them.
run on master node - salt-run state.event pretty=true
STAGE 1-​ ​Beacons sends event to salt master event bus for Nginx service not
running
salt/beacon/​minion-node-0-20​/service/nginx {
"_stamp": "2020-05-25T18:50:32.654503",
"id": "​minion-node-0-20​",
"nginx": {
"running": false
},
"service_name": "nginx"
}
20200525185032777481 {
"_stamp": "2020-05-25T18:50:32.777877",
"minions": [
"​minion-node-0-20​"
]
}
STAGE 2 -​ ​Now runner will check the condition when Nginx service status is
down on minion
salt/job/20200525185032777481/new {
"_stamp": "2020-05-25T18:50:32.778353",
"arg": [
{
"__kwarg__": true,
"name": "nginx"
}
],
"fun": "service.start",
"jid": "20200525185032777481",
"minions": [
"​minion-node-0-20​"
],
"missing": [],
"tgt": "​minion-node-0-20​",
"tgt_type": "glob",
"user": "root"
}
STAGE 3 -​ ​Runner with trigger the command and start the Nginx service on
minion
salt/job/20200525185032777481/ret/​minion-node-0-20 {
"_stamp": "2020-05-25T18:50:32.972192",
"cmd": "_return",
"fun": "service.start",
"fun_args": [
{
"name": "nginx"
}
],
"id": "​minion-node-0-20​",
"jid": "20200525185032777481",
"retcode": 0,
"return": true,
"success": true
}
STAGE 4 -​ ​Once the service is started again beacons will push the event in
master event bus with Nginx status running
salt/beacon/​minion-node-0-20​/service/nginx {
"_stamp": "2020-05-25T18:50:33.658475",
"id": "​minion-node-0-20​",
"nginx": {
"running": true
},
"service_name": "nginx"
}

More Related Content

Similar to Event driven architecture with SaltStack

Configuration management and orchestration with Salt
Configuration management and orchestration with SaltConfiguration management and orchestration with Salt
Configuration management and orchestration with SaltAnirban Saha
 
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorGetting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorMark Leith
 
Systemd for administrators
Systemd for administratorsSystemd for administrators
Systemd for administratorsSusant Sahani
 
Systemd for administrators
Systemd for administratorsSystemd for administrators
Systemd for administratorsSusant Sahani
 
Saltcheck: a tool in the salt toolbox
Saltcheck: a tool in the salt toolboxSaltcheck: a tool in the salt toolbox
Saltcheck: a tool in the salt toolboxChristian McHugh
 
Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackLove Nyberg
 
Saltstack for Ansible users
Saltstack for Ansible usersSaltstack for Ansible users
Saltstack for Ansible usersPaul Traylor
 
Windows logging cheat sheet
Windows logging cheat sheetWindows logging cheat sheet
Windows logging cheat sheetMichael Gough
 
VMware App Volumes Troubleshooting
VMware App Volumes TroubleshootingVMware App Volumes Troubleshooting
VMware App Volumes TroubleshootingDenis Gundarev
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudOnkar Kadam
 
Monit - Introduction, Configuration & Usage
Monit - Introduction, Configuration & UsageMonit - Introduction, Configuration & Usage
Monit - Introduction, Configuration & UsageAmit Solanki
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuVCP Muthukrishna
 
SaltStack Configuration Management
SaltStack Configuration ManagementSaltStack Configuration Management
SaltStack Configuration ManagementNathan Sickler
 

Similar to Event driven architecture with SaltStack (20)

Configuration management and orchestration with Salt
Configuration management and orchestration with SaltConfiguration management and orchestration with Salt
Configuration management and orchestration with Salt
 
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorGetting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise Monitor
 
Systemd for administrators
Systemd for administratorsSystemd for administrators
Systemd for administrators
 
Systemd for administrators
Systemd for administratorsSystemd for administrators
Systemd for administrators
 
systemd
systemdsystemd
systemd
 
Saltcheck: a tool in the salt toolbox
Saltcheck: a tool in the salt toolboxSaltcheck: a tool in the salt toolbox
Saltcheck: a tool in the salt toolbox
 
Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStack
 
SaltStack
SaltStackSaltStack
SaltStack
 
Saltstack for Ansible users
Saltstack for Ansible usersSaltstack for Ansible users
Saltstack for Ansible users
 
Windows logging cheat sheet
Windows logging cheat sheetWindows logging cheat sheet
Windows logging cheat sheet
 
SenSocial
SenSocialSenSocial
SenSocial
 
SenSocial
SenSocialSenSocial
SenSocial
 
VMware App Volumes Troubleshooting
VMware App Volumes TroubleshootingVMware App Volumes Troubleshooting
VMware App Volumes Troubleshooting
 
File access auditing
File access auditingFile access auditing
File access auditing
 
Monit
MonitMonit
Monit
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in Cloud
 
Monit - Introduction, Configuration & Usage
Monit - Introduction, Configuration & UsageMonit - Introduction, Configuration & Usage
Monit - Introduction, Configuration & Usage
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on Ubuntu
 
SaltStack Configuration Management
SaltStack Configuration ManagementSaltStack Configuration Management
SaltStack Configuration Management
 
Greske na sapu
Greske na sapuGreske na sapu
Greske na sapu
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Event driven architecture with SaltStack

  • 1. Event–Driven Self–Healing Infrastructure with​ SALTSTACK SaltStack is a complete systems management software platform for scalable orchestration and automation of any infrastructure or application stack. Salt is built around an event infrastructure that can be leveraged and extended to drive reactive provisioning, configuration, and management across all devices in your infrastructure. Salt’s internal components communicate with each other by sending and listening to events. In Salt, events are sent for about everything you could imagine. Benefits of event-driven architecture: An event-driven architecture can help to achieve a flexible system that can adapt to changes and make decisions in real time. Real-time situational awareness means that business decisions, whether manual or automated, can be made using all of the available data that reflects the current state of your systems. SALTSTACK Components: Salt Master:​ ​Central management system. This system is used to send commands and configurations to the Salt minion that is running on managed systems. Salt Minions:​Managed system. This system runs the Salt minion which receives commands and configuration from the Salt master. Formulas (States):​A declarative or imperative representation of a system configuration. Grains:​System variables. Grains are static information about the underlying managed system and include operating system, memory, and many other system properties. You can also define custom grains for any system.
  • 2. Pillar:​User-defined variables. These secure variables are defined and stored on the Salt Master and then ‘assigned’ to one or more minions using targets. Salt pillar data stores values such as ports, file paths, configuration parameters, and passwords. Beacons:​Beacons let you use the Salt event system to monitor non-Salt processes.When monitored activity occurs in a system process, an event is sent on the Salt event bus that can be used to trigger a reactor. 1> Beacons are deployed on Salt Minions. 2> It uses modules to monitor systems. 3> publish messages to Salt event bus Salt beacons can currently monitor and send Salt events for many system activities, including: ● file system changes - ​INOTIFY ● system load - ​MEMUSAGE ● service status - ​SERVICE ● disk usage - ​DISKUSAGE Reactor:​Salt's Reactor system gives Salt the ability to trigger actions in response to an event. It is a simple interface to watching Salt's event bus for event tags that match a given pattern and then running one or more commands in response. 1> Reactors are defined on Salt Master 2> Reads messages from Salt event bis 3> Maps events to reactor SLS file based on configuration file
  • 3. Lets configure with existing Salt setup, In this practical will demonstrate beacons SERVICE module. Master node ip​ - 192.168.0.10 ​- hostname - ​master-node-0-10 Minion node ip ​- 192.168.0.20 ​- hostname - ​minion-node-0-20 Minion configurations: Install prerequisites: yum install -y python2-psutil python-inotify python-pip create config file for beacons: vim /etc/salt/minion.d/beacons.conf beacons: service: - services: nginx: onchangeonly: True restart Salt minion service to reload the configuration systemctl restart salt-minion Master configurations: install prerequisites: yum install -y python2-psutil python-inotify python-pip verify the beacons config on minions from Master: CMD -- salt * beacons.list output: minion-node-0-20: beacons: service:
  • 4. - services: nginx: onchangeonly: true create reactor.conf file vim /etc/salt/master.d/reactor.conf reactor: - 'salt/beacon/*/service/*': - /home/salt/automation/salt/reactor/service.sls create service.sls file vim /home/salt/automation/salt/reactor/service.sls {%- if data[data['service_name']]['running'] == False %} start {{data['service_name']}}: local.service.start: - tgt: {{data['id']}} - args: - name: {{data['service_name']}} {%- endif %} restart Salt master service to reload the configuration systemctl restart salt-master NOW let's stop the Nginx service on minion and see the logs in Master with below command. Here will break the log in 4 stages and explain each of them. run on master node - salt-run state.event pretty=true STAGE 1-​ ​Beacons sends event to salt master event bus for Nginx service not running salt/beacon/​minion-node-0-20​/service/nginx { "_stamp": "2020-05-25T18:50:32.654503", "id": "​minion-node-0-20​", "nginx": { "running": false },
  • 5. "service_name": "nginx" } 20200525185032777481 { "_stamp": "2020-05-25T18:50:32.777877", "minions": [ "​minion-node-0-20​" ] } STAGE 2 -​ ​Now runner will check the condition when Nginx service status is down on minion salt/job/20200525185032777481/new { "_stamp": "2020-05-25T18:50:32.778353", "arg": [ { "__kwarg__": true, "name": "nginx" } ], "fun": "service.start", "jid": "20200525185032777481", "minions": [ "​minion-node-0-20​" ], "missing": [], "tgt": "​minion-node-0-20​", "tgt_type": "glob", "user": "root" } STAGE 3 -​ ​Runner with trigger the command and start the Nginx service on minion salt/job/20200525185032777481/ret/​minion-node-0-20 { "_stamp": "2020-05-25T18:50:32.972192", "cmd": "_return", "fun": "service.start", "fun_args": [
  • 6. { "name": "nginx" } ], "id": "​minion-node-0-20​", "jid": "20200525185032777481", "retcode": 0, "return": true, "success": true } STAGE 4 -​ ​Once the service is started again beacons will push the event in master event bus with Nginx status running salt/beacon/​minion-node-0-20​/service/nginx { "_stamp": "2020-05-25T18:50:33.658475", "id": "​minion-node-0-20​", "nginx": { "running": true }, "service_name": "nginx" }