Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing small issues #70

Merged
merged 1 commit into from
Jan 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 24 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,33 @@
The user setup behind [stats.c4dt.org](https://stats.c4dt.org).

At root, it contains a bunch of script to run measurement, each regularly
started by an user systemd timer, found in `.config`.
started by a user systemd timer, found in `.config`.
The timers output the results in a graphite database and shown in a grafana.
Both are handle by the root `docker-compose.yaml`.
To add or modify grafana's panels, look in `data/grafana`.

Deployment is done via Github Actions, which do:

- rsync of the repo to the home directory of the user on the stats' server
- stop all timers of the user
- start timers in the repo
Deployment is done via ansible: [stats role](https://github.com/c4dt/ansible-config/tree/main/playbooks/roles/stats)

If you need help with systemd, there is a [Systemd Cheatsheet](README.systemd.md)

## Testing

To test the new values, the easiest way is to do the following:

- ssh to the stats-server, then

```bash
sudo -iu stats
git pull
git checkout your_branch
make
```

Once you've finished testing, don't forget to

```bash
git checkout main
make
```

And then re-apply ansible.
5 changes: 4 additions & 1 deletion dashboards-to-provision/servers.dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
from grafanalib.influxdb import InfluxDBTarget


# the 'every' in the 'aggregateWindow' will always aggregate to 800 points,
# no matter the range being shown.
def target(server_name: str) -> InfluxDBTarget:
"""Generate Target for disk usage on given server"""
return InfluxDBTarget(
Expand All @@ -33,7 +35,8 @@ def target(server_name: str) -> InfluxDBTarget:
|> filter(fn: (r) => r.host == "{server_name}")
|> filter(fn: (r) => r._field == "used_percent")
|> keep(columns: ["_time", "_value", "path"])
|> last()
|> aggregateWindow(every: duration(v:(uint(v: v.timeRangeStop) -
uint(v: v.timeRangeStart))/uint(v: 800)), fn: mean)
""",
)

Expand Down
4 changes: 2 additions & 2 deletions dashboards-to-provision/services/drand.dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
"drand: CPU usage",
Target(target="drand.get-cpu-percentage"),
GridPos(h=8, w=12, x=12, y=8),
UNITS.PERCENT_FORMAT,
UNITS.NO_FORMAT,
frequency=1 * 60,
alert_at=1.5,
alert_at=10,
),
simple_graph(
"drand.c4dt.org: TTY activity",
Expand Down
Loading