Automation 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 Automation 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 Automation Config met behulp van het dashboard.
Machinaal leesbare statistieken
Automation Config exporteert systeemstatistieken in openMetrics-tekstindeling. Deze indeling kan direct worden gebruikt door Prometheus en andere bewakings- en waarschuwingstools.
Configuratie van Automation 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 Automation 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 Automation 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 Automation Config-account en kunnen niet worden gebruikt voor verificatie bij Automation Config, behalve voor toegang tot het http-eindpunt/metrics
.
De andere instellingen die hierboven worden weergegeven, hebben betrekking op het ingebouwde dashboard van Automation 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 Automation 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 Automation 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 Automation 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). - Automation 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 Automation Config
U kunt een Prometheus-server inschakelen om statistieken van Automation 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.
Beschrijvingen van statistieken
De machinaal leesbare statistieken die Automation 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 Automation Config | |
raas_master_minion_keys_pushed |
Teller | master_id |
Statusupdates voor minionsleutels gepusht naar Automation Config | |
raas_master_minion_cached_pushed |
Teller | master_id |
Updates van minioncache gepusht naar Automation Config | |
raas_master_masterfs_pushed |
Teller | master_id |
MasterFS-updates gepusht naar Automation 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 | Automation Config-opdrachten in behandeling | |
sse_jobs_complete_all_successful |
Teller | Geen | Automation Config-opdrachten voltooid met alle geslaagde retouren | |
sse_jobs_complete_missing_returns |
Teller | Geen | Automation Config-opdrachten voltooid met een of meer ontbrekende retouren | |
sse_jobs_complete_with_errors |
Teller | Geen | Automation Config-opdrachten voltooid met een of meer fouten | |
sse_masters |
Meter | Geen | Totaal aantal Salt-masters in Automation 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 Automation 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 Automation Config |