aboutsummaryrefslogtreecommitdiff
path: root/hosts/sagittarius
diff options
context:
space:
mode:
authorIsabella Bastaja <isabella@sorre.xyz>2025-12-26 22:32:08 +0100
committerIsabella Bastaja <isabella@sorre.xyz>2025-12-26 22:45:45 +0100
commit21c138b995098d4b63d70741ca112467d5cb61c0 (patch)
tree61c8695a31101a7fa49e5eb27c11bc86e661febc /hosts/sagittarius
parent83fa2d6e86ae847ed0f90843f8a16a803f01e036 (diff)
sagittarius: observability hello world
Diffstat (limited to 'hosts/sagittarius')
-rw-r--r--hosts/sagittarius/web/default.nix1
-rw-r--r--hosts/sagittarius/web/observability.nix59
2 files changed, 60 insertions, 0 deletions
diff --git a/hosts/sagittarius/web/default.nix b/hosts/sagittarius/web/default.nix
index 9c64249..9f8ca58 100644
--- a/hosts/sagittarius/web/default.nix
+++ b/hosts/sagittarius/web/default.nix
@@ -7,5 +7,6 @@
./git.nix
./static.nix
./navidrome.nix
+ ./observability.nix
];
}
diff --git a/hosts/sagittarius/web/observability.nix b/hosts/sagittarius/web/observability.nix
new file mode 100644
index 0000000..956245c
--- /dev/null
+++ b/hosts/sagittarius/web/observability.nix
@@ -0,0 +1,59 @@
+{ ... }:
+{
+ services.opentelemetry-collector = {
+ enable = true;
+ settings = {
+ receivers = {
+ otlp = {
+ protocols = {
+ grpc.endpoint = "localhost:4317";
+ http.endpoint = "localhost:4318";
+ };
+ };
+ hostmetrics.scrapers = {
+ cpu = { };
+ disk = { };
+ filesystem = { };
+ load = { };
+ memory = { };
+ network = { };
+ process = { };
+ processes = { };
+ paging = { };
+ };
+ };
+ processors = {
+ memory_limiter = {
+ check_interval = "5s";
+ limit_mib = 2500;
+ spike_limit_mib = 500;
+ };
+ };
+ exporters = {
+ debug = {
+ verbosity = "detailed";
+ };
+ };
+ service = {
+ extensions = [ ];
+ pipelines = {
+ traces = {
+ receivers = [ "otlp" ];
+ exporters = [ "debug" ];
+ };
+ metrics = {
+ receivers = [
+ "otlp"
+ "hostmetrics"
+ ];
+ exporters = [ "debug" ];
+ };
+ logs = {
+ receivers = [ "otlp" ];
+ exporters = [ "debug" ];
+ };
+ };
+ };
+ };
+ };
+}