Update GLPI-Knowledge
release-tag / release-image (push) Successful in 1m35s

This commit is contained in:
2026-07-28 14:35:03 +02:00
parent 8ac1f97174
commit 4cfdac042d
18 changed files with 992 additions and 29 deletions
+20
View File
@@ -25,6 +25,10 @@ type Metrics struct {
glpiOK bool
ollamaOK bool
knowledgeDocs int
glpiKBOK bool
glpiKBDocs int
glpiKBLastSync time.Time
glpiKBLastError string
}
func New() *Metrics { return &Metrics{Started: time.Now()} }
@@ -43,6 +47,19 @@ func (m *Metrics) Health() (bool, bool) {
}
func (m *Metrics) SetKnowledgeDocs(n int) { m.mu.Lock(); m.knowledgeDocs = n; m.mu.Unlock() }
func (m *Metrics) KnowledgeDocs() int { m.mu.RLock(); defer m.mu.RUnlock(); return m.knowledgeDocs }
func (m *Metrics) SetGLPIKBStatus(ok bool, docs int, lastSync time.Time, lastErr string) {
m.mu.Lock()
m.glpiKBOK = ok
m.glpiKBDocs = docs
m.glpiKBLastSync = lastSync
m.glpiKBLastError = lastErr
m.mu.Unlock()
}
func (m *Metrics) GLPIKBStatus() (bool, int, time.Time, string) {
m.mu.RLock()
defer m.mu.RUnlock()
return m.glpiKBOK, m.glpiKBDocs, m.glpiKBLastSync, m.glpiKBLastError
}
func (m *Metrics) WritePrometheus(w io.Writer) {
g, o := m.Health()
@@ -63,4 +80,7 @@ func (m *Metrics) WritePrometheus(w io.Writer) {
fmt.Fprintf(w, "# TYPE glpi_agent_glpi_up gauge\nglpi_agent_glpi_up %d\n", boolf(g))
fmt.Fprintf(w, "# TYPE glpi_agent_ollama_up gauge\nglpi_agent_ollama_up %d\n", boolf(o))
fmt.Fprintf(w, "# TYPE glpi_agent_knowledge_documents gauge\nglpi_agent_knowledge_documents %d\n", m.KnowledgeDocs())
kbOK, kbDocs, _, _ := m.GLPIKBStatus()
fmt.Fprintf(w, "# TYPE glpi_agent_glpi_kb_up gauge\nglpi_agent_glpi_kb_up %d\n", boolf(kbOK))
fmt.Fprintf(w, "# TYPE glpi_agent_glpi_kb_documents gauge\nglpi_agent_glpi_kb_documents %d\n", kbDocs)
}