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 uprometheus: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 inprometheus_username
enprometheus_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 desse_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 hebt:
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.
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 | 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_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 |