aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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" ];
+ };
+ };
+ };
+ };
+ };
+}