
Eigene Module erstellen
So erstellen Sie mit Python eigene Salt Module
Eigene Module anlegen, ein simples Beispiel
Modul auf dem Master anlegen
Salt-Module sind Python-Dateien, die auf dem Minion ausgeführt werden. Leg die Datei im Verzeichnis /srv/salt/_modules/
ab. Hier ein einfaches Beispiel:
import requests
def get_location():
"""
Holt den Standort des Minions basierend auf der öffentlichen IP.
"""
url = "http://ip-api.com/json/"
try:
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return {
"country": data.get("country"),
"region": data.get("regionName"),
"city": data.get("city"),
"latitude": data.get("lat"),
"longitude": data.get("lon"),
}
else:
return {"error": "API request failed with status code {}".format(response.status_code)}
except Exception as e:
return {"error": str(e)}
Module auf Minions kopieren
Kopieren Sie das Modul auf alle Minions. Dies müssen Sie nach jeder Änderung wiederholen.
salt '*' saltutil.sync_modules
Modul verwenden
salt '*' geoip.get_location
Modul in einem State verwenden
get_minion_location:
module.run:
- name: geoip.get_location
Das eigene Monitoring Modul, die KI hilft
Nutzen Sie die KI, z. B. ChatGPT, um sich eigene Module erstellen zu lassen. Hier ein Beispielprompt:

salt '*' saltutil.sync_modules
salt 'ruby' uptime_monitor.create api_key='**********' monitor='una'

# Create the heartbeat monitor and store the URL in the Minion's grains
create_heartbeat_monitor:
module.run:
- name: uptime_monitor.create
- api_key: ********
- monitor: {{ grains['id'] }}
- env_file: /etc/default/uptime_monitor
# Call the URL to send a heartbeat
sned_heartbeat:
cmd.run:
- name: |
cat /etc/default/uptime_monitor
. /etc/default/uptime_monitor
curl -s $MONITOR_URL
Last updated