70 lines
2.8 KiB
Markdown
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. |