mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-26 07:45:38 +08:00
feaT: Add Loki egg (#1606)
Co-authored-by: softwarenoob <admin@softwarenoob.com>
This commit is contained in:
parent
7e883d1e0b
commit
76df21e79f
@ -255,6 +255,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* [TShock](game_eggs/terraria/tshock)
|
* [TShock](game_eggs/terraria/tshock)
|
||||||
|
|
||||||
[Tycoon Games](game_eggs/tycoon_games)
|
[Tycoon Games](game_eggs/tycoon_games)
|
||||||
|
|
||||||
* [OpenRCT2](game_eggs/tycoon_games/openrct2)
|
* [OpenRCT2](game_eggs/tycoon_games/openrct2)
|
||||||
* [OpenTTD](game_eggs/tycoon_games/openttd)
|
* [OpenTTD](game_eggs/tycoon_games/openttd)
|
||||||
|
|
||||||
@ -270,6 +271,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
|
|
||||||
## [Monitoring](/monitoring/)
|
## [Monitoring](/monitoring/)
|
||||||
|
|
||||||
|
### Loki
|
||||||
|
|
||||||
|
* [Loki](/monitoring/loki)
|
||||||
|
|
||||||
### Prometheus
|
### Prometheus
|
||||||
|
|
||||||
* [Prometheus](/monitoring/prometheus)
|
* [Prometheus](/monitoring/prometheus)
|
||||||
|
25
monitoring/loki/README.md
Normal file
25
monitoring/loki/README.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Loki
|
||||||
|
|
||||||
|
## From the [Loki](https://github.com/grafana/loki) GitHub repository
|
||||||
|
|
||||||
|
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate.
|
||||||
|
|
||||||
|
## Working with Loki
|
||||||
|
|
||||||
|
To get logs "into" Loki you need a scrape agent, such as official [Promtail](https://grafana.com/docs/loki/latest/clients/promtail/installation/) or a library for your app that can push logs through HTTP endpoint (gRPC endpoint is disabled in Docker enviroment by default)
|
||||||
|
|
||||||
|
## Resource consumption
|
||||||
|
|
||||||
|
As this egg sets up Loki in single node mode, it can consume a lot of disk space really fast. It is possible to setup different kind of storages for different parts of Loki files. For further information refer to official [Loki documentation](https://grafana.com/docs/loki/latest/operations/storage/).
|
||||||
|
|
||||||
|
To get started, you can go with a minimum of 3GB RAM and >=2.5GB disk space.
|
||||||
|
|
||||||
|
Keep in mind that those numbers can grow pretty quick!
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
|
||||||
|
Ports required to run the server in a table format.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|-------------|---------|
|
||||||
|
| Loki server | 3100 |
|
42
monitoring/loki/egg-loki.json
Normal file
42
monitoring/loki/egg-loki.json
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-07-03T17:40:29-04:00",
|
||||||
|
"name": "Loki",
|
||||||
|
"author": "unknown@unknown.com",
|
||||||
|
"description": "Prometheus but for logs. This egg is for Loki instance only! You usually need pushing agents like Promtail to put logs in this",
|
||||||
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:debian": "ghcr.io\/pterodactyl\/yolks:debian"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/loki-linux-amd64 -config.file=loki-docker-config.yaml",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"loki-docker-config.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server.http_listen_port\": \"{{server.build.default.port}}\",\r\n \"common.ring.instance_addr\": \"0.0.0.0\",\r\n \"common.path_prefix\": \"\/home\/container\/loki\",\r\n \"common.storage.filesystem.chunks_directory\": \"\/home\/container\/loki\/chunks\",\r\n \"common.storage.filesystem.rules_directory\": \"\/home\/container\/loki\/rules\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Loki started\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Switch to mounted working install directory\r\ncd \/mnt\/server\r\n\r\n# Download and extract Loki\r\n\r\nif [ \"$LOKI_VERSION\" = \"latest\" ]; then LOKI_VERSION=$(curl --silent \"https:\/\/api.github.com\/repos\/grafana\/loki\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | cut -c2-); fi\r\necho -e \"running curl -L https:\/\/github.com\/grafana\/loki\/releases\/download\/v${LOKI_VERSION}\/loki-linux-amd64.zip --output loki-linux-amd64.zip\"\r\ncurl -L https:\/\/github.com\/grafana\/loki\/releases\/download\/v${LOKI_VERSION}\/loki-linux-amd64.zip --output loki-linux-amd64.zip\r\nunzip loki-linux-amd64.zip\r\nrm -rf loki-linux-amd64.zip\r\ncurl -L https:\/\/raw.githubusercontent.com\/grafana\/loki\/v${LOKI_VERSION}\/cmd\/loki\/loki-docker-config.yaml --output loki-docker-config.yaml\r\necho -e \"installation completed\"",
|
||||||
|
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Loki Version",
|
||||||
|
"description": "The version of Loki to use.\r\n\r\nFind all versions from https:\/\/github.com\/grafana\/loki",
|
||||||
|
"env_variable": "LOKI_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user