SaltStack Config stelt verschillende systeemstatistieken beschikbaar die kunnen worden gebruikt voor bewakings- en diagnosedoeleinden. Deze statistieken zijn beschikbaar in grafische vorm op het dashboard van de gebruikersinterface van SaltStack Config en in machinaal leesbare vorm met behulp van het http-eindpunt /metrics.

Zie Dashboardrapporten voor meer informatie over het visualiseren van rapporten in de gebruikersinterface van SaltStack Config met behulp van het dashboard.

Machinaal leesbare statistieken

SaltStack Config exporteert systeemstatistieken in openMetrics-tekstindeling. Deze indeling kan direct worden gebruikt door Prometheus en andere bewakings- en waarschuwingstools.

Configuratie van SaltStack Config-statistieken

Configuratie voor de verzameling systeemstatistieken bestaat uit de volgende instellingen in het configuratiebestand /etc/raas/raas. De standaardwaarden worden weergegeven.

# System metrics settings
metrics:
  enabled: true                         # If True, enable the collection of system metrics
  prometheus: false                     # If True, enable the Prometheus endpoint at /metrics
  prometheus_username:                  # Static username for retrieving /metrics
  prometheus_password:                  # Static password for retrieving /metrics
  snapshot_interval: 60                 # How often to record snapshot metrics, in seconds
  max_query_timedelta: 86400            # Maximum timedelta for a single call to get_system_metrics, in seconds
  keep: 30                              # How long to retain metrics data, in days

De volgende instellingen bepalen de afhandeling van machinaal leesbare systeemstatistieken:

  • Als u het verzamelen van statistieken wilt uitschakelen, stelt u enabled:false in. Hierdoor wordt ook het ingebouwde dashboard van SaltStack Config uitgeschakeld.
  • Als u de export van machinaal leesbare statistieken vanaf het http-eindpunt /metrics wilt inschakelen, stelt u prometheus:true in. Deze instelling is niet van invloed op het ingebouwde dashboard van SaltStack Config.
  • Toegang tot het http-eindpunt /metrics wordt beheerd door http-basisverificatie met verificatiegegevens die zijn geconfigureerd in prometheus_username en prometheus_password. Voor deze instellingen zijn niet-lege waarden vereist om het eindpunt /metrics in te schakelen. Deze verificatiegegevens worden alleen opgeslagen in het configuratiebestand /etc/raas/raas, zijn niet gekoppeld aan een SaltStack Config-account en kunnen niet worden gebruikt voor verificatie bij SaltStack Config, behalve voor toegang tot het http-eindpunt /metrics.

De andere instellingen die hierboven worden weergegeven, hebben betrekking op het ingebouwde dashboard van SaltStack Config en hebben geen invloed op het verzamelen of rapporteren van machinaal leesbare systeemstatistieken. Met name de instelling snapshot_interval bepaalt hoe vaak, in seconden, statistieken worden geregistreerd om op het dashboard te worden weergegeven, en de instelling keep bepaalt hoe lang, in dagen, statistische gegevens in de database worden bewaard voordat ze worden gewist.

Hoewel het http-eindpunt /metrics de aanbevolen manier is om machinaal leesbare statistische gegevens te verzamelen uit SaltStack Config, kunt u de API (RaaS) gebruiken om de gegevens op te halen die worden weergegeven op het ingebouwde dashboard. Met de stats.get_system_metrics() API-aanroep kunt u query's uitvoeren op statistische gegevens op basis van statistieknaam, bron en datumbereik. Het configuratie-item max_query_timedelta beperkt hoeveel gegevens door SaltStack Config worden geretourneerd voor één API-aanroep. Als u statistische gegevens uit een langere tijdspanne wilt ophalen, kunt u meerdere API-aanroepen met verschillende start- en einddatums maken.

Configuratie van Salt-masterstatistieken

De beschikbaarheid van sommige statistieken is afhankelijk van de configuratie van de Salt-masters die zijn verbonden met SaltStack Config:

  • Statistieken over Salt-gebeurtenissen en opdrachtresultaten zullen alleen nauwkeurig zijn als de sseapi-retourneerder is geconfigureerd op de Salt-masters. Het verzamelen van statistieken werkt niet goed met de sse_pgjsonb-retourneerder (direct naar database).
  • SaltStack Config zal informatie over functieruntime op laag niveau verzamelen van Salt-masters die master_stats:true in hun configuratie hebben ingesteld. Deze optie is standaard uitgeschakeld. Zie master_stats in de documentatie voor Salt voor meer informatie.
  • Statistieken over Salt-opdrachtstatussen zullen alleen nauwkeurig zijn als de engine voor het voltooien van de opdracht is ingeschakeld in de Salt-masterplug-in:
    engines:
       -jobcompletion:{}

    Deze engine is ingeschakeld in de standaardconfiguratie van de Salt-masterplug-in.

Prometheus configureren om verbinding te maken met SaltStack Config

U kunt een Prometheus-server inschakelen om statistieken van SaltStack Config te controleren door een scrape_configs-opdracht toe te voegen aan de configuratie van Prometheus (meestal prometheus.yml) voor elke API-serverinstantie (RaaS) die u heeft:

scrape_configs:
  - job_name: 'sse'

    metrics_path: '/metrics'
    scheme: 'http'

    static_configs:
        - targets: ['localhost:8080']

    basic_auth:
      username: prometheus
      password: metrics

De verificatiegegevens in de Prometheus-configuratie moeten overeenkomen met prometheus_username en prometheus_password die zijn opgegeven in het configuratiebestand van /etc/raas/raas, zoals hierboven is aangegeven.

Zie de documentatie voor het Prometheus-project voor meer informatie over het instellen van doelen voor scrapen en andere configuratieonderwerpen voor Prometheus.

Opmerking: Als onderdeel van het VMware-initiatief om problematische terminologie te verwijderen, zal de term Salt-master worden vervangen door een betere term in SaltStack Config en gerelateerde producten en documentatie. Het bijwerken van de terminologie kan enkele releasecycli in beslag nemen voordat dit volledig is voltooid.

Beschrijvingen van statistieken

De machinaal leesbare statistieken die SaltStack Config exporteert, kunnen in verschillende categorieën worden onderverdeeld:

Categorie Naam van statistiek Type statistiek Labels Beschrijving
Statistieken op laag niveau van Salt-master salt_event_size_bytes Histogram master_id Salt-gebeurtenisgrootte, in bytes
salt_master_cmd_duration_seconds Histogram master_id, cmd Duur van Salt-master, in seconden. Alleen gerapporteerd als master_stats op de Salt-master is geconfigureerd.
         
Statistieken voor Salt-masterplug-in raas_master_commands_processed Teller master_id SSE-commando's verwerkt
raas_master_master_grains_pushed Teller master_id Updates van Salt-mastergrain gepusht naar SaltStack Config
raas_master_minion_keys_pushed Teller master_id Statusupdates voor minionsleutels gepusht naar SaltStack Config
raas_master_minion_cached_pushed Teller master_id Updates van minioncache gepusht naar SaltStack Config
raas_master_masterfs_pushed Teller master_id MasterFS-updates gepusht naar SaltStack Config
raas_master_sseapi_engine_iteration_seconds Histogram master_id Iteratieduur van API-engine (RaaS), in seconden
         
Serverstatistieken redis_commands_executed Teller redis_instance Uitgevoerde Redis-commando's (systeemcache)
redis_memory_bytes Meter redis_instance Redis-geheugengebruik (systeemcache)
celery_tasks_queued Teller raas_instance, task Celery-taken in wachtrij (achtergrondopdrachten)
celery_tasks_executed Teller raas_instance, task Uitgevoerde Celery-taken (achtergrondopdrachten)
celery_queue_length Meter raas_instance Lengte van Celery-wachtrij (achtergrondopdrachten in wacht)
raas_rpc_request_duration_seconds Histogram raas_instance Duur van SSE RPC API-aanroep, in seconden
         
PostgreSQL-statistieken postgres_connections Meter postgres_instance Postgres-verbindingen
postgres_transactions Teller postgres_instance Doorgevoerde Postgres-transacties
postgres_rows_read Teller postgres_instance Gelezen Postgres-rijen
postgres_rows_inserted Teller postgres_instance Ingevoegde Postgres-rijen
postgres_rows_updated Teller postgres_instance Bijgewerkte Postgres-rijen
postgres_rows_deleted Teller postgres_instance Verwijderde Postgres-rijen
         
Systeemstatistieken highstate_minions Meter Geen Aantal minions die een highstateopdracht hebben uitgevoerd
highstate_minions_changed Meter Geen Aantal minions die een highstateopdracht hebben uitgevoerd, wat resulteert in een of meer wijzigingen
highstate_minions_succeeded Meter Geen Aantal minions die een highstateopdracht hebben uitgevoerd zonder fouten
highstate_minion_duration_seconds Meter Geen Gemiddelde duur per minion voor een highstate-uitvoering
highstate_states Meter Geen Aantal unieke statussen toegepast in highstate-uitvoeringen
highstate_states_changed Meter Geen Aantal toegepaste statussen in highstate-uitvoeringen die resulteerden in een of meer wijzigingen
highstate_states_succeeded Meter Geen Aantal toegepaste statussen in highstate-uitvoeringen zonder fouten
sse_jobs_in_progress Teller Geen SaltStack Config-opdrachten in behandeling
sse_jobs_complete_all_successful Teller Geen SaltStack Config-opdrachten voltooid met alle geslaagde retouren
sse_jobs_complete_missing_returns Teller Geen SaltStack Config-opdrachten voltooid met een of meer ontbrekende retouren
sse_jobs_complete_with_errors Teller Geen SaltStack Config-opdrachten voltooid met een of meer fouten
sse_masters Meter Geen Totaal aantal Salt-masters in SaltStack Config
sse_minion_grains_deleted Teller master_id Aantal verwijderde miniongrains
sse_minion_grains_indexing_duration_seconds Teller raas_instance Duur van berekeningen voor indexering van miniongrains, in seconden
sse_minion_grains_saved Teller master_id Aantal opgeslagen miniongrains
sse_minion_target_match_calcs Teller raas_instace Berekeningen voor vergelijking van aantal minions versus doelgroep
sse_minion_target_match_duration_seconds Teller raas_instance Duur van berekeningen voor vergelijking van minion versus doelgroep, in seconden
sse_minions Meter Geen Totaal aantal minions in SaltStack Config
sse_minions_present Meter master_id Minions aanwezig binnen de geconfigureerde tijdslimiet raas_presence_expiration
sse_minions_lost Meter master_id Minions niet aanwezig binnen de tijdslimiet
sse_minions_unknown Meter master_id Onbekende minions (nooit aanwezig)
sse_users_authenticated Meter Geen Gebruikers geverifieerd bij SaltStack Config