it-novum / openitcockpit-agent-go Goto Github PK
View Code? Open in Web Editor NEWCross-Platform Monitoring Agent for openITCOCKPIT written in Go
Home Page: https://openitcockpit.io/download_agent/
License: Apache License 2.0
Cross-Platform Monitoring Agent for openITCOCKPIT written in Go
Home Page: https://openitcockpit.io/download_agent/
License: Apache License 2.0
Test Agent on M1 Macs (ARM)
Error:
UNKNOWN: cURL error 58: could not load PEM client certificate, OpenSSL error error:0200100D:system library:fopen:Permission denied, (no key found, wrong pass phrase, or wrong file format?) (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
Current permissions:
root@agent-test2:/opt/openitc/frontend# ls -la /opt/openitc/agent/
total 16
drwxr-xr-x 2 www-data www-data 4096 Mär 18 13:25 .
drwxr-xr-x 12 root root 4096 Mär 18 12:01 ..
-rw-r----- 1 www-data www-data 3272 Mär 18 13:25 server_ca.key
-rw-r----- 1 www-data www-data 2086 Mär 18 13:25 server_ca.pem
Fix:
chown www-data:nagios /opt/openitc/agent/*
Der GO Agent muss noch die Win32 Service API implementiert bekommen, damit er wieder als Windows Services gestartet werden kann
Der Threadpool für die Customchecks muss noch eingebaut werden.
Das reine Ausführen von Plugins/Kommandos ist bereits implementiert
Die openITCOCKPIT Webseite liegt auf einem neuen Webserver. hier müssen dann die Build Skripte noch angepasst werden:
Vom Jenkins aus (srvdrone01)
[email protected]:/var/www/openitcockpit.io/files/
Die API Entpunkte aus dem Python-Agenten müssen noch in den Webserver eingebaut werden. Genau wie das ausgeben vom json
Einstellung für Webserver mit Push Modus:
[oitc]
enable-webserver = true
Die verarbeitung der customchecks.ini
felht noch
Die example config ist anscheinend noch die von Agent 1.x und muss durch die aktuelle Version ersetzt werden. Hier sollte die gleiche Config genutzt werden, wie die die oITC im Configgenerator erstellt.
customchecks kann einfach leer bleiben, dann braucht man kein string replace pro OS
Die Alfresco Checks müssen noch eingebaut werden
Wenn auf Port 3333 schon etwas läuft, gibt der Agent beim starten keinen Fehler aus.
Die DiskIO Checks fehlen. Die Berechnungen können aus dem Python Agenten übernommen werden.
Die Windows Event Log checks müssen noch eingebaut werden
memory = True
swap = True
userstats = True
Die Checks für Docker müssen noch eingebaut werden
Die NetIO checks fehlen. Die Berechnungen können aus dem Python Agenten übernommen werden
Build packages for M1 Macs (ARM)
Agent Mode:
Versions
Operating system
Debian 10 (buster), Kernel 5.3.18-2-pve (Proxmox 6.3-3)
Describe the bug
On one of our Proxmox Clusters (8 nodes), the disk usage check produces an runtime error (on all nodes). On our other Proxmox clusters it works fine.
To Reproduce
Steps to reproduce the behavior:
?
Expected behavior
Check working without runtime error
Additional context
Debug output from the agent:
[...]
DEBU[1080] Begin Check: agent
DEBU[1080] Finish Check: agent
DEBU[1080] Begin Check: swap
DEBU[1080] Finish Check: swap
DEBU[1080] Begin Check: users
DEBU[1080] Finish Check: users
DEBU[1080] Begin Check: disks
ERRO[1080] Check disks : !!PANIC!! runtime error: invalid memory address or nil pointer dereference
DEBU[1080] Finish Check: disks
DEBU[1080] Begin Check: disk_io
DEBU[1080] Finish Check: disk_io
DEBU[1080] Begin Check: system_load
DEBU[1080] Finish Check: system_load
[...]
DEBU[0317] Begin Check: sensors
DEBU[0317] Finish Check: sensors
DEBU[0317] Begin Check: docker
ERRO[0329] Could not finish executing integrated checks: context deadline exceeded
ERRO[0329] Consider increasing check interval or disable unnecessary checks
DEBU[0329] FIXME: Got an status-code for which error does not match any expected type!!!: -1 module=api status_code=-1
DEBU[0329] Finish Check: docker
DEBU[0329] Begin Check: systemd_services
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xab71f3]
goroutine 408 [running]:
github.com/godbus/dbus/v5.(*outputHandler).close(0x0)
/root/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:730 +0x33
github.com/godbus/dbus/v5.(*Conn).Close.func1()
/root/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:284 +0x3a
sync.(*Once).doSlow(0xc0003c01e8, 0xc0004a0f90)
/usr/lib/go-1.15/src/sync/once.go:66 +0xec
sync.(*Once).Do(...)
/usr/lib/go-1.15/src/sync/once.go:57
github.com/godbus/dbus/v5.(*Conn).Close(0xc0003c01c0, 0x0, 0x0)
/root/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:283 +0x78
github.com/godbus/dbus/v5.newConn.func1(0xc0003c01c0)
/root/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:254 +0x59
created by github.com/godbus/dbus/v5.newConn
/root/go/pkg/mod/github.com/godbus/dbus/[email protected]/conn.go:252 +0x138
On a Windows 7 32 bit, the Network IO gives wrong numbers like:
CRITICAL: Total average bytes critical! [LAN-Verbindung] Bandwidth: TX: 72.95TB/s / 597617.07Gbit/s RX: 75.95TB/s / 622188.8Gbit/s . Errors in/out per second: 0/0 Drop in/out per second: 0/0
CRITICAL: Total average bytes critical! [LAN-Verbindung] Bandwidth: TX: 61.37TB/s / 502765.87Gbit/s RX: 58.46TB/s / 478890.67Gbit/s . Errors in/out per second: 0/0 Drop in/out per second: 0/0
CRITICAL: Total average bytes critical! [LAN-Verbindung] Bandwidth: TX: 22.43TB/s / 183735.17Gbit/s RX: 17.09TB/s / 139970.21Gbit/s . Errors in/out per second: 0/0 Drop in/out per second: 0/0
It's unknown if this is a 32 bit issue or a Windows 7 issue
Implement checks for Proxmox VE via the Proxmox HTTP API.
Replaces #13
Die checks für Qemu müssen noch eingebaut werden
Die Geschwindigkeit der Netzwerkkarte fehlt noch.
10, 100 1000Mbit/s usw
Aktuell wird auth =
in der config ignoriert.
Der Wert username:password
muss in das BasicAuth
struct geladen werden
Die Build Systeme müssen noch auf golang >= 1.15.6 umgestellt werden
"windows_eventlog": {
"error": "json: cannot unmarshal object into Go value of type []*checks.JsonEventLog"
},
More information can be found in the this blog post:
https://openitcockpit.io/2021/2021/04/14/openitcockpit-monitoring-agent-3-0-public-beta/
At the moment version 3.x is in testing phase. To get best results we kindly ask you to join testing and to report any issues.
Please report all 3.x related issues to this issue.
Please see the release notes for more information about what's changed.
Latest nightly release:
This issue will be updated frequently. You can use the button (on the right side) to get notifications about future updates.
Last update: Wed Apr 14 10:00:41 CEST 2021
At the moment the openITCOCKPIT Monitoring Agent is collecting Windows Event Log data but there is not check plugin available to monitor those records.
EntryTypes: https://docs.microsoft.com/de-de/dotnet/api/system.diagnostics.eventlogentrytype?view=net-5.0
Get-EventLog -LogName Application -After (Get-Date).AddHours(-1) | ConvertTo-Json -depth 100
Get-EventLog -LogName Application -After (Get-Date).AddHours(-1) | Select-Object Message, Source, TimeGenerated, TimeWritten, Index | ConvertTo-Json -depth 100
Wäre es möglich anstatt in die Config des Agents die jeweiligen Logs eintragen zu müssen, diese dynamisch zu übergeben
mit dem Befehler
Get-EventLog -LogName *
bekommt man alle windows eventlogs angegzeigt, hier übernebe ich dann die letzte Spalte, in der config ist drauf zu achten, dass Logs mit Leerzeichen mit einem Hochkomma einzutragen sind.
Im Webserver muss noch die Crypto eingebaut werden
Aktuell wird der Wert enabled = false
aus der customchecks.ini eingach ignoriert
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.