{ "Affinities": null, "AllAtOnce": false, "Constraints": [ { "LTarget": "${attr.kernel.name}", "Operand": "=", "RTarget": "linux" }, { "LTarget": "${attr.unique.hostname}", "Operand": "regexp", "RTarget": "odroid.*" } ], "ConsulNamespace": "", "CreateIndex": 13995677, "Datacenters": [ "dc1" ], "DispatchIdempotencyToken": "", "Dispatched": false, "ID": "prometheus", "JobModifyIndex": 13995677, "Meta": null, "ModifyIndex": 13995698, "Multiregion": null, "Name": "prometheus", "Namespace": "default", "NodePool": "default", "NomadTokenID": "", "ParameterizedJob": null, "ParentID": "", "Payload": null, "Periodic": null, "Priority": 50, "Region": "global", "Spreads": null, "Stable": true, "Status": "running", "StatusDescription": "", "Stop": false, "SubmitTime": 1757952031065143001, "TaskGroups": [ { "Affinities": null, "Constraints": [ { "LTarget": "${attr.os.signals}", "Operand": "set_contains", "RTarget": "SIGHUP" } ], "Consul": null, "Count": 2, "Disconnect": null, "EphemeralDisk": { "Migrate": false, "SizeMB": 300, "Sticky": false }, "MaxClientDisconnect": null, "Meta": null, "Migrate": { "HealthCheck": "checks", "HealthyDeadline": 300000000000, "MaxParallel": 1, "MinHealthyTime": 10000000000 }, "Name": "prometheus", "Networks": [ { "ReservedPorts": [ { "HostNetwork": "default", "Label": "http", "To": 9090, "Value": 9090 }, { "HostNetwork": "default", "Label": "alerthttp", "To": 9093, "Value": 9093 }, { "HostNetwork": "default", "Label": "gotifybridge", "To": 8080, "Value": 9094 } ] } ], "PreventRescheduleOnLost": false, "ReschedulePolicy": { "Attempts": 0, "Delay": 30000000000, "DelayFunction": "exponential", "Interval": 0, "MaxDelay": 3600000000000, "Unlimited": true }, "RestartPolicy": { "Attempts": 2, "Delay": 10000000000, "Interval": 60000000000, "Mode": "delay", "RenderTemplates": false }, "Scaling": null, "Services": null, "ShutdownDelay": null, "Spreads": null, "StopAfterClientDisconnect": null, "Tasks": [ { "Actions": null, "Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": { "memory_hard_limit": "512", "ports": [ "http" ], "volumes": [ "local/prometheus.yml:/etc/prometheus/prometheus.yml", "local/alerts.yml:/etc/prometheus/alerts.yml" ], "args": [ "--web.enable-admin-api", "--config.file=/etc/prometheus/prometheus.yml" ], "image": "prom/prometheus", "logging": [ { "type": "json-file" } ] }, "Constraints": [ { "LTarget": "${attr.consul.version}", "Operand": "semver", "RTarget": ">= 1.8.0" } ], "Consul": null, "DispatchPayload": null, "Driver": "docker", "Env": null, "Identities": null, "Identity": { "Audience": [ "nomadproject.io" ], "ChangeMode": "", "ChangeSignal": "", "Env": false, "File": false, "Filepath": "", "Name": "default", "ServiceName": "", "TTL": 0 }, "KillSignal": "", "KillTimeout": 10000000000, "Kind": "", "Leader": false, "Lifecycle": null, "LogConfig": { "Disabled": false, "MaxFileSizeMB": 15, "MaxFiles": 10 }, "Meta": null, "Name": "prometheus", "Resources": { "CPU": 500, "Cores": 0, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 48, "MemoryMaxMB": 0, "NUMA": null, "Networks": null, "SecretsMB": 0 }, "RestartPolicy": { "Attempts": 2, "Delay": 10000000000, "Interval": 60000000000, "Mode": "delay", "RenderTemplates": false }, "ScalingPolicies": null, "Schedule": null, "Services": [ { "Address": "", "AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": [ { "AddressMode": "", "Args": null, "Body": "", "CheckRestart": null, "Command": "", "Expose": false, "FailuresBeforeCritical": 0, "FailuresBeforeWarning": 0, "GRPCService": "", "GRPCUseTLS": false, "Header": null, "InitialStatus": "", "Interval": 10000000000, "Method": "", "Name": "alive", "Notes": "", "OnUpdate": "require_healthy", "Path": "/status", "PortLabel": "http", "Protocol": "", "SuccessBeforePassing": 0, "TLSServerName": "", "TLSSkipVerify": false, "TaskName": "prometheus", "Timeout": 120000000000, "Type": "http" } ], "Cluster": "default", "Connect": null, "EnableTagOverride": false, "Identity": null, "Meta": null, "Name": "prometheus", "Namespace": "default", "OnUpdate": "require_healthy", "PortLabel": "http", "Provider": "consul", "TaggedAddresses": null, "Tags": [ "global", "prometheus" ], "TaskName": "prometheus", "Weights": null } ], "ShutdownDelay": 0, "Templates": [ { "ChangeMode": "signal", "ChangeScript": null, "ChangeSignal": "SIGHUP", "DestPath": "local/prometheus.yml", "EmbeddedTmpl": "{{ key \"prometheus_yml\" }}", "Envvars": false, "ErrMissingKey": false, "Gid": null, "LeftDelim": "{{", "Once": false, "Perms": "0644", "RightDelim": "}}", "SourcePath": "", "Splay": 5000000000, "Uid": null, "VaultGrace": 0, "Wait": null }, { "ChangeMode": "restart", "ChangeScript": null, "ChangeSignal": "", "DestPath": "local/alerts.yml", "EmbeddedTmpl": "{{ key \"alerts\" }}", "Envvars": false, "ErrMissingKey": false, "Gid": null, "LeftDelim": "{{", "Once": false, "Perms": "0644", "RightDelim": "}}", "SourcePath": "", "Splay": 5000000000, "Uid": null, "VaultGrace": 0, "Wait": null } ], "User": "", "Vault": null, "VolumeMounts": null }, { "Actions": null, "Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": { "args": [ "--config.file=/local/alertmanager.yml" ], "image": "prom/alertmanager", "logging": [ { "type": "json-file" } ], "ports": [ "alerthttp" ] }, "Constraints": [ { "LTarget": "${attr.consul.version}", "Operand": "semver", "RTarget": ">= 1.8.0" } ], "Consul": null, "DispatchPayload": null, "Driver": "docker", "Env": null, "Identities": null, "Identity": { "Audience": [ "nomadproject.io" ], "ChangeMode": "", "ChangeSignal": "", "Env": false, "File": false, "Filepath": "", "Name": "default", "ServiceName": "", "TTL": 0 }, "KillSignal": "", "KillTimeout": 10000000000, "Kind": "", "Leader": false, "Lifecycle": null, "LogConfig": { "Disabled": false, "MaxFileSizeMB": 15, "MaxFiles": 10 }, "Meta": null, "Name": "alertmanager", "Resources": { "CPU": 128, "Cores": 0, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 48, "MemoryMaxMB": 0, "NUMA": null, "Networks": null, "SecretsMB": 0 }, "RestartPolicy": { "Attempts": 2, "Delay": 10000000000, "Interval": 60000000000, "Mode": "delay", "RenderTemplates": false }, "ScalingPolicies": null, "Schedule": null, "Services": [ { "Address": "", "AddressMode": "auto", "CanaryMeta": null, "CanaryTags": null, "Checks": [ { "AddressMode": "", "Args": null, "Body": "", "CheckRestart": null, "Command": "", "Expose": false, "FailuresBeforeCritical": 0, "FailuresBeforeWarning": 0, "GRPCService": "", "GRPCUseTLS": false, "Header": null, "InitialStatus": "", "Interval": 60000000000, "Method": "", "Name": "alive", "Notes": "", "OnUpdate": "require_healthy", "Path": "/status", "PortLabel": "http", "Protocol": "", "SuccessBeforePassing": 0, "TLSServerName": "", "TLSSkipVerify": false, "TaskName": "alertmanager", "Timeout": 120000000000, "Type": "http" } ], "Cluster": "default", "Connect": null, "EnableTagOverride": false, "Identity": null, "Meta": null, "Name": "alertmanager", "Namespace": "default", "OnUpdate": "require_healthy", "PortLabel": "alerthttp", "Provider": "consul", "TaggedAddresses": null, "Tags": [ "global", "prometheus" ], "TaskName": "alertmanager", "Weights": null } ], "ShutdownDelay": 0, "Templates": [ { "ChangeMode": "restart", "ChangeScript": null, "ChangeSignal": "", "DestPath": "local/alertmanager.yml", "EmbeddedTmpl": "global:\nreceivers:\n - name: default-receiver\n - name: gotify-webhook\n webhook_configs:\n - url: \"http://prometheus.service.dc1.consul:9094/gotify_webhook\"\nroute:\n group_wait: 10s\n group_interval: 5m\n receiver: gotify-webhook\n repeat_interval: 3h\n\n", "Envvars": false, "ErrMissingKey": false, "Gid": null, "LeftDelim": "{{", "Once": false, "Perms": "0644", "RightDelim": "}}", "SourcePath": "", "Splay": 5000000000, "Uid": null, "VaultGrace": 0, "Wait": null } ], "User": "", "Vault": null, "VolumeMounts": null }, { "Actions": null, "Affinities": null, "Artifacts": null, "CSIPluginConfig": null, "Config": { "ports": [ "gotifybridge" ], "args": [ "--debug" ], "image": "ghcr.io/druggeri/alertmanager_gotify_bridge" }, "Constraints": null, "Consul": null, "DispatchPayload": null, "Driver": "docker", "Env": { "GOTIFY_ENDPOINT": "http://gotify.service.dc1.consul/message", "GOTIFY_TOKEN": "AQ7l7NVgtylam86" }, "Identities": null, "Identity": { "Audience": [ "nomadproject.io" ], "ChangeMode": "", "ChangeSignal": "", "Env": false, "File": false, "Filepath": "", "Name": "default", "ServiceName": "", "TTL": 0 }, "KillSignal": "", "KillTimeout": 5000000000, "Kind": "", "Leader": false, "Lifecycle": null, "LogConfig": { "Disabled": false, "MaxFileSizeMB": 10, "MaxFiles": 10 }, "Meta": null, "Name": "gotifybridge", "Resources": { "CPU": 100, "Cores": 0, "Devices": null, "DiskMB": 0, "IOPS": 0, "MemoryMB": 300, "MemoryMaxMB": 0, "NUMA": null, "Networks": null, "SecretsMB": 0 }, "RestartPolicy": { "Attempts": 2, "Delay": 10000000000, "Interval": 60000000000, "Mode": "delay", "RenderTemplates": false }, "ScalingPolicies": null, "Schedule": null, "Services": null, "ShutdownDelay": 0, "Templates": null, "User": "", "Vault": null, "VolumeMounts": null } ], "Update": { "AutoPromote": false, "AutoRevert": false, "Canary": 0, "HealthCheck": "checks", "HealthyDeadline": 300000000000, "MaxParallel": 1, "MinHealthyTime": 10000000000, "ProgressDeadline": 600000000000, "Stagger": 60000000000 }, "Volumes": null } ], "Type": "service", "UI": null, "Update": { "AutoPromote": false, "AutoRevert": false, "Canary": 0, "HealthCheck": "", "HealthyDeadline": 0, "MaxParallel": 1, "MinHealthyTime": 0, "ProgressDeadline": 0, "Stagger": 60000000000 }, "VaultNamespace": "", "Version": 0, "VersionTag": null }