monitoring/README.md

83 lines
2.4 KiB
Markdown

## Git Repository Logic
* Frequent updates are made to the **testing** branch, which is considered "dirty". Commits appearing here may be quickly written, untested, incomplete, etc. This is where the development happens.
* In unspecified intervals, the piled-up changes in the testing branch are reviewed, ordered and squashed to a smaller set of tidy commits. Those are then pushed to the **master** branch.
* The tidy-up is marked by an empty commit "Realign with master" in the testing branch. This is roughly equivalent to a *merge*, although for an actual merge the commits would remain unaltered.
* Development happens in the testing branch. Thus, *testing* is more up-to-date, but *master* is better to understand.
* The Monitoring web server uses the testing branch.
## Debian Dependencies
```bash
apt-get install mysql-server python3-mysqldb python python3 python3-requests python3-lxml python3-pip python3-flask python3-dateutil python3-numpy python3-scipy python3-mapnik python3-pip uwsgi-plugin-python3 nginx
pip3 install wheel pymongo pillow modestmaps simplejson werkzeug
```
## When updating
```bash
apt-get install mysql-server python3-mysqldb python3-mapnik
apt-get uninstall mongodb python-mapnik uwsgi-plugin-python tilestache
pip3 install wheel pillow modestmaps simplejson werkzeug
pip3 uninstall uuid
```
## Prerequisites
* Datenbank in MySQL anlegen
* Git vorbereiten:
```bash
git clone https://github.com/asdil12/fff-monitoring
git clone https://github.com/TileStache/TileStache
cd fff-monitoring
cp ffmap/mysqlconfig.example.py ffmap/mysqlconfig.py
```
* MySQL Zugangsdaten in mysqlconfig.py eintragen
## Installation
```bash
./install.sh
systemctl daemon-reload
systemctl enable uwsgi-ffmap
systemctl enable uwsgi-tiles
systemctl start uwsgi-ffmap
systemctl start uwsgi-tiles
cd ffmap/db/
./init_db.py
# Then apply NGINX Config
cd ../.. # go back to fff-monitoring root directory
./scripts/setupcron.sh
```
## NGINX Config
```nginx
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
...
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
client_max_body_size 30M;
}
location /tiles {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3032;
}
location /static/ {
root /usr/share/ffmap/;
expires max;
add_header Cache-Control "public";
}
...
}
```
## Admin anlegen
* User über WebUI anlegen
* Dann über z.B. phpmyadmin in der Tabelle users 'admin' auf 1 setzen