wiki/Web-app-general.md
2025-02-11 15:19:22 +01:00

70 lines
2.8 KiB
Markdown

## Setup of web server
Two instances of the **photodiag-web** server are hosted on the **sf-phmon-01.psi.ch** virtual machine, both accessible only from the beamline networks/control rooms:
- **Production server**: [https://sf-photodiag.psi.ch](https://sf-photodiag.psi.ch)
- **Test server**: [https://sf-photodiag-test.psi.ch](https://sf-photodiag-test.psi.ch)
### Server updates
- The service repository is hosted at: [https://gitlab.psi.ch/photon-diagnostics/photodiag_web](https://gitlab.psi.ch/photon-diagnostics/photodiag_web)
- **Pushing a commit** on the `main` branch updates the **test server**.
- **Pushing a tagged commit** on the `main` branch updates **both** the test and production servers.
To push a **release** to the main server:
1. Pull the latest tested and operational version:
git pull
2. Create a new release (choose one of `patch`, `minor`, or `major`):
python make_release.py patch
3. Push the new tag(s):
git push origin main --tags
You can check the release status via **GitLab CI/CD pipelines**.
### Server logs
When logged into either **sf-phmon-01** or **sf-phmon-02**, you can view logs with:
sudo journalctl -u photodiag-<test|prod> -e
Replace `<test|prod>` with the desired instance.
For example, to see the last 100 lines of logs on **sf-phmon-02**:
ssh sf-phmon-02
sudo -i
journalctl -u photodiag-test.service -n 100
### Restarting the VM or the service
1. **Restart the entire VM**:
sudo reboot
2. **Restart a single service** (for example, photodiag test or prod):
sudo systemctl restart <service_name>.service
Replace `<service_name>` with `photodiag-test` or `photodiag-prod`.
## Server Monitoring
To monitor the status and performance of the **photodiag-web** servers, you can access real-time server statistics via Grafana. These dashboards show CPU usage, memory consumption, network traffic, and disk I/O, which can help diagnose performance issues.
### **Server Status Links**
- **sf-phmon-01**: [Grafana Metrics - sf-phmon-01](https://metrics.psi.ch/d/1SL13Nxmz/gfa-linux-tabular?orgId=1&from=now-6h&to=now&timezone=browser&var-env=PEE0939DC8375D041&var-host=sf-phmon-01.psi.ch)
- **sf-phmon-02**: [Grafana Metrics - sf-phmon-02](https://metrics.psi.ch/d/1SL13Nxmz/gfa-linux-tabular?orgId=1&from=now-6h&to=now&timezone=browser&var-env=PEE0939DC8375D041&var-host=sf-phmon-02.psi.ch)
### **Available Metrics**
The Grafana dashboards provide the following system performance data:
- **CPU Usage**: Tracks system, user, idle, and I/O wait time.
- **Memory Usage**: Displays total and used memory statistics.
- **Network Traffic**: Monitors inbound and outbound data transfer rates.
- **Disk I/O**: Reports read/write operations per second.