196 lines
7.7 KiB
Markdown
196 lines
7.7 KiB
Markdown
---
|
|
created: 2024-11-07T00:14:29.000Z
|
|
type: note
|
|
---
|
|
|
|
# Gatus
|
|
|
|
Gatus is an advanced automated status page that lets you monitor your applications and configure alerts to notify you if there's an issue
|
|
|
|
## Links
|
|
|
|
- [gatus.io](https://gatus.io/)
|
|
- [github](https://github.com/TwiN/gatus)
|
|
- [techno-tim](https://technotim.live/posts/gatus-uptime-monitoring/#gatus-config)
|
|
|
|
## Install
|
|
|
|
- [ ] CasaOS
|
|
- [x] Docker
|
|
- [ ] Home Assistant
|
|
- [ ] lxc
|
|
- [ ] Snap
|
|
- [ ] TTeck
|
|
- [ ] Umbrel
|
|
- [ ] Yu No Host
|
|
|
|
## Gatus
|
|
|
|
- Clone repo from github or local ADO
|
|
- Build using go lang
|
|
- Copy exe only to server
|
|
- Create *.yaml file for configuration
|
|
|
|
## NSSM - the Non-Sucking Service Manager
|
|
|
|
- Copy zip to server and extract to directory
|
|
- Run a cmd window with administrator access
|
|
|
|
### ecFIsysadmin-10.95.140.37-messa010ec(OI-Metrology-Viewer)
|
|
|
|
```bash 1744999536292 = 638805963362920000 = 2025-1.Spring = Fri Apr 18 2025 11:05:35 GMT-0700 (Mountain Standard Time)
|
|
mklink /J "D:\web-sites\Gatus\current" "D:\web-sites\Gatus\v5.17.0"
|
|
```
|
|
|
|
```bash 1744999568664 = 638805963686640000 = 2025-1.Spring = Fri Apr 18 2025 11:06:08 GMT-0700 (Mountain Standard Time)
|
|
# cd "C:\Users\ecfisysadmin\AppData\Local\IFXApps\nssm-2.24\win64"
|
|
C:
|
|
cd "C:\Windows\System32\config\systemprofile\AppData\Local\IFXApps\nssm-2.24\win64"
|
|
nssm install gatus
|
|
nssm edit gatus
|
|
```
|
|
|
|
```yaml NSSM-Application 1743806212388 = 638794030123880000 = 2025-1.Spring = Fri Apr 04 2025 15:36:51 GMT-0700 (Mountain Standard Time)
|
|
Path: D:\web-sites\Gatus\current\gatus.exe
|
|
Startup Directory: D:\web-sites\Gatus\current
|
|
```
|
|
|
|
```yml NSSM-Details 1743806328796 = 638794031287960000 = 2025-1.Spring = Fri Apr 04 2025 15:38:48 GMT-0700 (Mountain Standard Time)
|
|
Startup type: Automatic (Delay Start)
|
|
```
|
|
|
|
```yml NSSM-I/O 1743806328796 = 638794031287960000 = 2025-1.Spring = Fri Apr 04 2025 15:38:48 GMT-0700 (Mountain Standard Time)
|
|
Input (stdin):
|
|
Output (stdout): D:\web-sites\Gatus\current\logs\service.out.log
|
|
Error (stderr): D:\web-sites\Gatus\current\logs\service.error.log
|
|
```
|
|
|
|
```yml NSSM-Environment 1743806359765 = 638794031597650000 = 2025-1.Spring = Fri Apr 04 2025 15:39:19 GMT-0700 (Mountain Standard Time)
|
|
GATUS_CONFIG_PATH=./oi-metrology-viewer.yaml
|
|
```
|
|
|
|
```bash Administrator 1743806328796 = 638794031287960000 = 2025-1.Spring = Fri Apr 04 2025 15:38:48 GMT-0700 (Mountain Standard Time)
|
|
sc start gatus
|
|
sc query gatus
|
|
sc stop gatus
|
|
sc start gatus
|
|
# systemctl start gatus
|
|
```
|
|
|
|
```bash 1745023773786 = 638806205737860000 = 2025-1.Spring = Fri Apr 18 2025 17:49:33 GMT-0700 (Mountain Standard Time)
|
|
mklink /J "D:\web-sites\Gatus\.Gatus-to-MonA" "C:\Windows\System32\config\systemProfile\AppData\Local\IFXApps\Gatus-to-MonA"
|
|
mkdir "D:/Tmp/Gatus-to-MonA"
|
|
```
|
|
|
|
## Nginx
|
|
|
|
- Add new server to proxy pass to 8081
|
|
- Test nginx
|
|
- Restart nginx
|
|
|
|
## MonA
|
|
|
|
- Create generic resource type
|
|
- On overview page click edit then click update without making any changes
|
|
- Wait a hour
|
|
- On data page click Edit Resource Name then click update without making any changes
|
|
- Wait a day
|
|
- On overview page click use for main status (Heartbeat)
|
|
- Refresh config page and search for threshold
|
|
- Define threshold
|
|
|
|
## Sdk="Microsoft.NET.Sdk.Worker"
|
|
|
|
- Build with AOT task
|
|
- Copy publish directory to server
|
|
- Copy / edit secrets file
|
|
- Verify windows event viewer entry for company name
|
|
|
|
```bash 1743817269373 = 638794140693730000 = 2025-1.Spring = Fri Apr 04 2025 18:41:08 GMT-0700 (Mountain Standard Time)
|
|
sc.exe create "Gatus-to-MonA" binpath="C:\Windows\System32\config\systemprofile\AppData\Local\IFXApps\Gatus-to-MonA\Gatus-to-MonA.exe"
|
|
```
|
|
|
|
## MonA Instances
|
|
|
|
- [MES_APC_GATUS](https://mona.auc.infineon.com/auc/systems/563556/dependencies?config=true)
|
|
- [messa013ec.infineon.com](http://messa013ec.infineon.com:8082)
|
|
- [MES_EAF_GATUS](https://mona.auc.infineon.com/auc/systems/563493/dependencies?config=true)
|
|
- [messa08ec.infineon.com](http://messa08ec.infineon.com:8082)
|
|
- [MES_EAF_STAGE_GATUS](https://mona.auc.infineon.com/auc/systems/563516/dependencies?config=true)
|
|
- [mestsa07ec.infineon.com](http://mestsa07ec.infineon.com:8082)
|
|
- [MES_FAB_APPROVAL_SYSTEM_GATUS](https://mona.auc.infineon.com/auc/systems/563517/dependencies?config=true)
|
|
- [messa016ec.infineon.com](http://messa016ec.infineon.com:8082)
|
|
- https://messa016ec.infineon.com
|
|
- [MES_FAB_TIME_GATUS](https://mona.auc.infineon.com/auc/systems/563518/dependencies?config=true)
|
|
- [messa004.infineon.com](http://messa004.infineon.com:8082)
|
|
- [MES_INFINITY_QS_SI_GATUS](https://mona.auc.infineon.com/auc/systems/563519/dependencies?config=true)
|
|
- [messa04ec.infineon.com](http://messa04ec.infineon.com:8082)
|
|
- [MES_OPEN_INSIGHT_GATUS](https://mona.auc.infineon.com/auc/systems/563520/dependencies?config=true)
|
|
- GATUS_CONFIG_PATH=./oi.yaml
|
|
- [messa01ec.infineon.com](http://messa01ec.infineon.com:8082)
|
|
- http://messa014.infineon.com/api/heartbeat
|
|
- http://messa014.infineon.com/API/RemoteHealthCheck/Mona/MonaEngines/DB-EN1
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN10
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN11
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN12
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN2
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN3
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN4
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN5
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN6
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN7
|
|
- http://messa014.infineon.com/api/RemoteHealthCheck/Mona/MonaEngines/DB-EN9
|
|
- [MES_OPEN_INSIGHT_DEV_GATUS](https://mona.auc.infineon.com/auc/systems/563521/dependencies?config=true)
|
|
- [mestsa01ec.infineon.com](http://mestsa01ec.infineon.com:8082)
|
|
- [MES_OI_METROLOGY_VIEWER_GATUS](https://mona.auc.infineon.com/auc/systems/557090/dependencies?config=true)
|
|
- [messa010ec.infineon.com](http://messa010ec.infineon.com:8082)
|
|
- [MES_OI_WEB_SERVICES_GATUS](https://mona.auc.infineon.com/auc/systems/563522/dependencies?config=true)
|
|
- [messa020ec.infineon.com](http://messa020ec.infineon.com:8082)
|
|
- ~~messa014.infineon.com~~
|
|
- https://messa014.infineon.com/scan
|
|
- https://messa014.infineon.com:50184
|
|
- https://messa014.infineon.com:5022
|
|
- [LEO_EAF_GATUS](https://mona.auc.infineon.com/auc/systems/563522/dependencies?config=true)
|
|
- [leosaec17.infineon.com](http://leosaec17.infineon.com:8082)
|
|
|
|
## Prometheus config to consume Gatus metrics
|
|
|
|
- [prometheus](https://github.com/TwiN/gatus/blob/master/.examples/docker-compose-grafana-prometheus/README.md)
|
|
|
|
|
|
## Outline
|
|
|
|
### Goal
|
|
|
|
- Monitor TLS Cert
|
|
|
|
### Options
|
|
|
|
- Uptime Kuma
|
|
- Configuration is GUI driven
|
|
- Prometheus
|
|
- Not as easy to get started
|
|
- Grafana
|
|
- Too many features
|
|
- Open source but still have to login to use
|
|
|
|
### Benefits
|
|
|
|
- [x] Open Source
|
|
- [x] Written in GoLang
|
|
- [x] Doesn't need WAN connectivity
|
|
- [x] Keeps history with simple graph
|
|
- [x] Metrics output built for Prometheus
|
|
- [x] Sends e-mail alerts and has other alerting
|
|
- [x] Check status more often than five minute intervals
|
|
- [x] Single Config file that can be put in source control
|
|
- [x] Can wait for pushed data as well as default pull data
|
|
- [x] Simple GUI (website) that can be accessed outside server
|
|
- [x] Badge api that can be embedded in website (see oi server?)
|
|
- [x] Easy deployment [one binary, one config, runs via Non-Sucking Service Manager (nssm) and outputs sqlite files]
|
|
|
|
### Drawbacks
|
|
|
|
- [x] Another item to manage
|
|
- [x] Not part of the target solution
|
|
- [x] Haven't figured out how to push to MonIn directly with both heartbeat and performance |