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

Added links to the images of the dashboard #347

Merged
merged 4 commits into from
Jul 25, 2022
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
8 changes: 7 additions & 1 deletion docs/gameserverapi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ The GameServer API is a RESTful API service that facilitates access to Thunderne

## How to install the GameServer API

We provide a [Docker image](https://github.com/PlayFab/thundernetes/pkgs/container/thundernetes-gameserverapi) with the API, you have to deploy it into your cluster along with Thundernetes. We also have an [example YAML file](https://github.com/PlayFab/thundernetes/tree/main/samples/gameserverapi) for the deployment, all you have to do is change the name of the container image for the latest version and run ```kubectl apply -f deploy.yaml```. This example uses a LoadBalancer to expose the application, so it will be assigned an external IP (this doesn't work locally unless you have a local implementation of a LoadBalancer, you can use [port forwarding](https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) instead).
We provide a [Docker image](https://github.com/PlayFab/thundernetes/pkgs/container/thundernetes-gameserverapi) with the API, you have to deploy it into your cluster along with Thundernetes. We also have an [example YAML file](https://github.com/PlayFab/thundernetes/tree/main/samples/gameserverapi) for the deployment, all you have to do is run:

```bash
kubectl apply -f https://github.com/PlayFab/thundernetes/main/samples/gameserverapi/gameserverapi.yaml
```

This example uses a LoadBalancer to expose the application, so it will be assigned an external IP (this doesn't work locally unless you have a local implementation of a LoadBalancer, you can use [port forwarding](https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) instead).

> **_NOTE_**: The GameServer API provides direct access to your Thundernetes resources, we delegate the securing of the service to the user, for example, you can [use an Ingress](../howtos/serviceingress.md).
10 changes: 9 additions & 1 deletion docs/howtos/latencyserver.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@ If you have multiple Thundernetes clusters on different regions, it might be use
- The server only accepts UDP requests, and the data must be 32 bytes max and must also start with 0xFFFF (1111 1111 1111 1111).
- If the requests are valid, the server will respond with the same data it received, but with the first 4 bytes flipped to 0x0000 (0000 0000 0000 0000).

In [Thundernetes' main repository](https://github.com/PlayFab/thundernetes/tree/main/cmd/latencyserver) you can find the code for the server, a Dockerfile to build the image, a YAML file for deploying the server (remember to change the name of the container image), and another for deploying a ServiceMonitor to crawl the [prometheus metrics](./monitoring.md). You can also use the [sample latency server Deployment YAML files](https://github.com/PlayFab/thundernetes/tree/main/samples/latencyserver).
In [Thundernetes' main repository](https://github.com/PlayFab/thundernetes/tree/main/cmd/latencyserver) you can find the code for the server and a Dockerfile to build the image. We also provide 2 example YAML files: one for [deploying the server](https://github.com/PlayFab/thundernetes/blob/main/samples/latencyserver/latencyserver.yaml), and another for [deploying a ServiceMonitor](https://github.com/PlayFab/thundernetes/blob/main/samples/latencyserver/monitor.yaml) to crawl the [prometheus metrics](./monitoring.md). All you have to do is run:

```bash
# for the latency server
kubectl apply -f https://github.com/PlayFab/thundernetes/main/samples/latencyserver/latencyserver.yaml

# for the service monitor
kubectl apply -f https://github.com/PlayFab/thundernetes/main/samples/latencyserver/monitor.yaml
```

The UDP server runs on the port defined by the ```UDP_SERVER_PORT``` environment variable. A prometheus ```/metrics``` endpoint is also exposed, on the port defined by the ```METRICS_SERVER_PORT``` environment variable, with a counter for the number of successful requests it has received.

Expand Down
8 changes: 4 additions & 4 deletions docs/howtos/monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ nav_order: 1
Thundernetes is able to export game server related metrics to a [Prometheus](https://prometheus.io/docs/introduction/overview/) server, and these can also be imported
to a [Grafana](https://grafana.com/docs/grafana/latest/introduction/) server for easy and intuitive visualizations.

![Grafana Dasboard Example](../assets/images/grafana_dashboard_1.png)
[![Grafana Dasboard Example](../assets/images/grafana_dashboard_1.png)](../assets/images/grafana_dashboard_1.png)

Prometheus uses a pull model to retrieve data, and needs apps to implement an endpoint that responds to its HTTP requests. For this, Thundernetes exposes the following endpoints:

Expand Down Expand Up @@ -95,8 +95,8 @@ There is a custom Grafana dashboard example that visualizes some of this data in

## More pictures

![Grafana Dasboard Example 2](../assets/images/grafana_dashboard_2.png)
[![Grafana Dasboard Example 2](../assets/images/grafana_dashboard_2.png)](../assets/images/grafana_dashboard_2.png)

![Grafana Dasboard Example 3](../assets/images/grafana_dashboard_3.png)
[![Grafana Dasboard Example 3](../assets/images/grafana_dashboard_3.png)](../assets/images/grafana_dashboard_3.png)

![Grafana Dasboard Example 4](../assets/images/grafana_dashboard_4.png)
[![Grafana Dasboard Example 4](../assets/images/grafana_dashboard_4.png)](../assets/images/grafana_dashboard_4.png)
10 changes: 5 additions & 5 deletions docs/thundernetesui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ Currently we are developing [Thundernetes UI](https://github.com/PlayFab/thunder

You can see a summary of what's going on in all your clusters.

![Home page](./images/thundernetes_ui_home.png "Home page")
[![Home page](../assets/images/thundernetes_ui_home.png "Home page")](../assets/images/thundernetes_ui_home.png)

## Manage the builds on each cluster

Check the builds you have on each cluster and their current status. You can also create a new one, either from scratch, or by cloning one from any cluster!

![Cluster view](./images/thundernetes_ui_cluster.png "Cluster view")
[![Cluster view](../assets/images/thundernetes_ui_cluster.png "Cluster view")](../assets/images/thundernetes_ui_cluster.png)

![Create build view](./images/thundernetes_ui_cluster_create_build.png "Create build view")
[![Create build view](../assets/images/thundernetes_ui_cluster_create_build.png "Create build view")](../assets/images/thundernetes_ui_cluster_create_build.png)

## Manage each build

You can check each build separately and see it's status and specs, you can modify the standingBy and max values, allocate individual game servers for testing, and see a list of all the game servers running.

![Build view - Specs](./images/thundernetes_ui_build_specs.png "Build view - Specs")
[![Build view - Specs](../assets/images/thundernetes_ui_build_specs.png "Build view - Specs")](../assets/images/thundernetes_ui_build_specs.png)

![Build view - GameServers](./images/thundernetes_ui_build_gameservers.png "Build view - GameServers")
[![Build view - GameServers](../assets/images/thundernetes_ui_build_gameservers.png "Build view - GameServers")](../assets/images/thundernetes_ui_build_gameservers.png)
8 changes: 4 additions & 4 deletions samples/grafana/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
The `dashboard.json` file in this folder can be imported to grafana to provide a simple example of retrieving metrics from the Thundernetes Controller. It makes the assumption that the Prometheus data source is named `Prometheus`, so you may need to edit the json file before importing if your Grafana installation uses a different name.


![Grafana Dasboard Example](../../docs/assets/images/grafana_dashboard_1.png)
[![Grafana Dasboard Example](../../docs/assets/images/grafana_dashboard_1.png)](../../docs/assets/images/grafana_dashboard_1.png)

![Grafana Dasboard Example 2](../../docs/assets/images/grafana_dashboard_2.png)
[![Grafana Dasboard Example 2](../../docs/assets/images/grafana_dashboard_2.png)](../../docs/assets/images/grafana_dashboard_2.png)

![Grafana Dasboard Example 3](../../docs/assets/images/grafana_dashboard_3.png)
[![Grafana Dasboard Example 3](../../docs/assets/images/grafana_dashboard_3.png)](../../docs/assets/images/grafana_dashboard_3.png)

![Grafana Dasboard Example 4](../../docs/assets/images/grafana_dashboard_4.png)
[![Grafana Dasboard Example 4](../../docs/assets/images/grafana_dashboard_1.png)](../../docs/assets/images/grafana_dashboard_4.png)