Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peckadesign/monitoring
Monitoring na dostupnost webů, generování feedů, DNS, HTTPS atd.
https://github.com/peckadesign/monitoring
monitoring nextras php
Last synced: 8 days ago
JSON representation
Monitoring na dostupnost webů, generování feedů, DNS, HTTPS atd.
- Host: GitHub
- URL: https://github.com/peckadesign/monitoring
- Owner: peckadesign
- Created: 2016-11-28T06:43:40.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-13T06:30:54.000Z (over 1 year ago)
- Last Synced: 2024-03-26T13:25:52.832Z (8 months ago)
- Topics: monitoring, nextras, php
- Language: PHP
- Homepage:
- Size: 3.29 MB
- Stars: 40
- Watchers: 23
- Forks: 8
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Monitoring
Aplikace umožňuje snadné sledování funkčnosti webových projektů - jejich dostupnosti, fungování různých podsystémů a závislostí (HTTPS, DNS, RabbitMQ, aktuálnost souborů atd.). Další informace, prezentace a [video z představení aplikace na Posobotě](https://youtu.be/ClEAFA7Wpyk) jsou k dispozici na [Peckovním blogu](http://www.peckadesign.cz/blog/monitoring-open-source-nastroj-pro-sledovani-webu-z-dilny-peckadesign).
Pro přihlášení je vyžadováno mít aplikaci na GitHubu a uživatelé se přihlašují výhradně přes tuto aplikaci. Vhodné je tak mít aplikaci v rámci účtu organizace a tím externě spravovat přístupy do aplikace.
## Systémové a softwarové požadavky
Závislosti aplikace jsou zamknuty v `composer.json`, případně jsou popsány v instalačním skriptu Vagrantu (`/vagrant/server/bootstrap.sh`). Tam jsou také popsány požadavky na software na serveru.
Hardwarové požadavky se odvíjí od počtu kontrol a přístupu uživatelů. Při použití kolem cca 20 projektů, kdy každý ma do 50 kontrol je experimentálně ověřeno, že stačí server s 1 GB RAM a 1 CPU.
## Spuštění aplikace z Dockeru
Z repozitáře se překopírují soubory `docker-compose.full.yml`, `.env` a `monitoring-start.sh` do nového adresáře na počítači, na kterém má běžet Monitoring. Do souboru `.env` se doplní do klíče `MONITORING_URL` URL, na které má běžet Monitoring v prohlížeči ve tvaru https://monitoring.example.com. V tomto adresáři po spuštění budou uložená data Monitoringu.
Celý Monitoring se poté spustí příkazem:
```
bash monitoring-start.sh
```Po doběhnutí všech výstupů je k dipozici na URL http://localhost:8080 (port je možné si změnit v `docker-compose.full.yml`).
Vlastní hezkou URL je nutné vyřešit pomocí proxy serveru (např. pomocí [Apache](https://httpd.apache.org/docs/current/mod/mod_proxy.html) nebo [nginx](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/)), stejně tak zabezpečení přístupu pro/proti veřejnosti a HTTPS certifikát.
Výchozí přihlašovací e-mailová adresa a heslo administrátorského účtu je: `[email protected]` a `admin`.
## Spuštění aplikace z repozitáře
Po naklonování repozitáře je potřeba zkopírovat lokální nastavení neonu a vyplnit údaje:
```
cp config/config.local.example.neon app/config/config.local.neon
```Příklad konfigurace démona `supervisord` pro běh RabbitMQ consumerů je v `/config/supervisor.conf`.
Vzorový `crontab` pro plnění front RabbitMQ je v `/config/crontab`.
## Rabbit consumers
### Url a API
Url je přímo adresa API rabbitu nebo skriptu (viz remote/rabbitConsumer.php), který přepošle informace z API, pokud není možný vzdálený přístup.V obou případech je očekáván stejný výstup a to json s informacemi o frontách - /api/queues[/vhost]
Viz http://hg.rabbitmq.com/rabbitmq-management/raw-file/3646dee55e02/priv/www-api/help.htmlPro volání API je možné doplnit heslo a login.
### Fronty a minimálni počet
K jedné kontrole je možnost zadat víc front, které se mají kontrolovat. Počet front musí odpovídat počty kontrolovaných consumerů. Jako odělovač slouží čárka. Př. `aliveCheck,dnsCheck` a `1,2`.### Kontrola
Pokud je mezi posledními hodnotami -1, znamená to, že je problém v komunikací s api nebo fronta neexistuje.