Mutli App, Single Org Metrics not displaying in Grafana

Hello.

I am running two apps within a single organization. The good news is metrics for one app worked right out of the box based on the docs :smile:. I can tell because Grafana displays the metrics as expected. Unfortunately the second app does not. They are both configured to run a separate server on the same port (9091).

The logs do not show any errors starting the debug server on port 9091 for either application. The only difference is the failing application has the following values set in the fly.toml file:

[experimental]
  private_network=true

The app which is not reporting metrics has two servers running: 9091 (/metrics is a path here; exactly like the working application) and a tcp port 50050 (for a gRPC server). The working app listens on 8080 and 9091. Only the service running on port 8080 is externally accessed over the web.

Can multiple apps within an organization be scraped by the org prometheus?

Here is the configuration for the app which is not working (below).

app = "$APP_NAME"

kill_signal = "SIGINT"
kill_timeout = 30

[metrics]
  port = 9091
  path = "/metrics"

[env]

[experimental]
  private_network=true

[[services]]
  internal_port = 50500
  protocol = "tcp"

  [services.concurrency]
    hard_limit = 25
    soft_limit = 20

  [[services.tcp_checks]]
    grace_period = "1s"
    interval = "15s"
    port = "50500"
    restart_limit = 6
    timeout = "2s"

Hey Denis!

This should definitely work. Is the metrics server listening on ANYADDR (0.0.0.0)?

Unfortunately when trying to connecting to the VM I get the following (unrelated) message: Connecting to other-app-api.internal...ā£· Error connect to SSH server: got error reply from agent: err err handling connect: connection failed: connect tcp [...]:22: operation timed out.

The working configuration, which connects to the public internet is configured as follows. It does not seem to do anything different compared to the other app to listen on all interfaces.

app = "$OTHER_APP"

kill_signal = "SIGINT"
kill_timeout = 30

[metrics]
  port = 9091
  path = "/metrics"

[env]

[[statics]]
  guest_path = "/dist/assets"
  url_prefix = "/assets"

[[services]]
  internal_port = 8080
  protocol = "tcp"

  [services.concurrency]
    hard_limit = 25
    soft_limit = 20

  [[services.ports]]
    handlers = ["http"]
    port = "80"

  [[services.ports]]
    handlers = ["tls", "http"]
    port = "443"

  [[services.http_checks]]
    interval = 10000
    grace_period = "5s"
    method = "get"
    path = "/ready"
    protocol = "http"
    timeout = 1000
    tls_skip_verify = false
    [services.http_checks.headers]

Steve,

Metrics route is available at both port 9091 when I am on the WireGuard VPN for both services, so I suspect configuration works as intended. Are there other ways to triage this you can think of?

Can you give me a query that is missing one of your apps?

I just manually tried curl against your ports and itā€™s working fine on the *web and *api apps.

Hi Kurt,

Thank you for taking an interest!

I am honestly not sure what you mean. Within Grafana Cloud I am unable to see the metrics for the ā€˜apiā€™ app. For instance Iā€™ve got a metric, sendcoffee_palmira_startup, which is a guage I am unable to see from that interface.

I hope this helps, I am here to sort through anything else as you have time and interest!

Ah that is helpful! It does look like those metrics arenā€™t being collected, weā€™re trying to debug why right now.

I kicked off a deploy after your message; I will review my grafana instance for changes - ty!

It was silly of me not to check this, but it looks like thereā€™s not [metrics] block on the API app. At least, itā€™s not in our database. Will you copy the fly.toml for that app here so we can have a look?

That is indeed unexpected. Below is what I deployed most recently. Thanks Kurt!

app = "api"

kill_signal = "SIGINT"
kill_timeout = 30

[metrics]
  port = 9091
  path = "/metrics"

Ok so I just deployed your app with that exact config and it worked like itā€™s supposed to.

Are you running the latest flyctl? I donā€™t think it should matter but itā€™s worth checking.

Also, what args are you using for the deploy command?

Hi Kurt - thank you. I can see the metrics now in Grafana

I am running the following version:

flyctl v0.0.229 darwin/amd64 Commit: 7800371 BuildDate: 2021-07-13T20:31:06Z

Using this command:

flyctl deploy . --app api --dockerfile ./Dockerfile

The most interesting thing (to me) is that the other app uses identical commands and metrics do appear in Grafana.

UPDATE: Iā€™ve kicked off a deploy to determine if the configuration remains. I am using the remote docker builder instead of local.

It seems like the config got overwritten with your latest deploy. I have a feeling that deploy command isnā€™t picking up the config file.

Will you try rerunning the deploy command like this?

LOG_LEVEL=debug flyctl deploy . --app api --dockerfile ./Dockerfile

Releases prior to this are now run in a GH action :champagne:. I ran what you asked for locally and the output is here (name changes)

āÆ LOG_LEVEL=debug flyctl deploy . --app myapi --dockerfile ./Dockerfile --remote-only
DEBUG Loaded flyctl config from$HOME/.fly/config.yml
DEBUG Working Directory: $APP_WORKSPACE/api
DEBUG App Config File: $APP_WORKSPACE/api/fly.toml
Deploying myapi
==> Validating app configuration
DEBUG --> POST https://api.fly.io/graphql {{"query":"query($appName: String!, $definition: JSON!) { app(name: $appName) { parseConfig(definition: $definition) { definition valid errors services { description } } } }","variables":{"appName":"myapi","definition":{}}}
}
DEBUG <-- 200 https://api.fly.io/graphql (370.7ms) {"data":{"app":{"parseConfig":{"definition":{"kill_timeout":5,"kill_signal":"SIGINT","experimental":{"allowed_public_ports":[]},"services":[],"env":{}},"valid":true,"errors":[],"services":[]}}}}
--> Validating app configuration done
DEBUG trying remote docker daemon
DEBUG Trying 'Buildpacks' strategy
DEBUG no buildpack builder configured, skipping
DEBUG result image:<nil> error:<nil>
DEBUG Trying 'Dockerfile' strategy
DEBUG --> POST https://api.fly.io/graphql {{"query":"mutation($input: EnsureRemoteBuilderInput!) { ensureRemoteBuilder(input: $input) { url, app { name } } }","variables":{"input":{"appName":"myapi","organizationId":null}}}
}
DEBUG <-- 200 https://api.fly.io/graphql (327.57ms) {"data":{"ensureRemoteBuilder":{"url":"https://fly-builder-summer-smoke-9742.fly.dev","app":{"name":"fly-builder-summer-smoke-9742"}}}}
DEBUG Remote Docker builder host: tcp://fly-builder-summer-smoke-9742.internal:2375
Waiting for remote builder fly-builder-summer-smoke-9742... starting ā£¾ DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!) { app(name: $appName) { id name hostname deployed status version appUrl organization { id slug } services { description protocol internalPort ports { port handlers } } ipAddresses { nodes { id address type createdAt } } } }","variables":{"appName":"myapi"}}
}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query($appName: String!, $showCompleted: Boolean!) { appstatus:app(name: $appName) { id name deployed status hostname version appUrl organization { slug } deploymentStatus { id status version description placedCount promoted desiredCount healthyCount unhealthyCount } allocations(showCompleted: $showCompleted) { id idShort version latestVersion status desiredStatus totalCheckCount passingCheckCount warningCheckCount criticalCheckCount createdAt updatedAt canary region restarts healthy privateIP checks { status output name } } } }","variables":{"appName":"fly-builder-summer-smoke-9742","showCompleted":false}}
}
Waiting for remote builder fly-builder-summer-smoke-9742... starting ā£½ DEBUG <-- 200 https://api.fly.io/graphql (299.25ms) {"data":{"appstatus":{"id":"fly-builder-summer-smoke-9742","name":"fly-builder-summer-smoke-9742","deployed":true,"status":"running","hostname":"fly-builder-summer-smoke-9742.fly.dev","version":3,"appUrl":"https://213.188.210.219","organization":{"slug":"myorg"},"deploymentStatus":null,"allocations":[{"id":"12b134a7-ecdc-b2df-3c16-2b9ec45aa9cc","idShort":"12b134a7","version":3,"latestVersion":true,"status":"running","desiredStatus":"run","totalCheckCount":0,"passingCheckCount":0,"warningCheckCount":0,"criticalCheckCount":0,"createdAt":"2021-07-21T15:35:48Z","updatedAt":"2021-07-21T15:35:48Z","canary":false,"region":"iad","restarts":0,"healthy":true,"privateIP":"fdaa:0:2071:a7b:ab8:0:2b63:2","checks":[]}]}}}
DEBUG <-- 200 https://api.fly.io/graphql (392.2ms) {"data":{"app":{"id":"myapi","name":"myapi","hostname":"myapi.fly.dev","deployed":true,"status":"running","version":33,"appUrl":"https://213.188.198.173","organization":{"id":"60L7BO3NPGLMXHvjvN6nmoY6nAFLmP","slug":"myorg"},"services":[],"ipAddresses":{"nodes":[{"id":"ZRx6K9YKB7Gk3HK1k4J3jkABVNH9MA","address":"213.188.198.173","type":"v4","createdAt":"2021-04-10T05:44:59Z"},{"id":"zQV9q4nqAb5G7U6zZBLv8ZqKjos82j","address":"2a09:8280:1:47f4:f3db:7aba:93df:2756","type":"v6","createdAt":"2021-04-10T05:44:59Z"}]}}}}
DEBUG creating wireguard config for org myorg
DEBUG Found WireGuard state in local configuration
DEBUG Establishing WireGuard connection (interactive-parkchester-denis-myorg-club-266)
Waiting for remote builder fly-builder-summer-smoke-9742... connecting ā¢æ DEBUG Remote builder unavailable, retrying in 200ms (err: error during connect: Get "http://fly-builder-summer-smoke-9742.internal:2375/_ping": connect tcp [fdaa:0:2071:a7b:ab8:0:2b63:2]:2375: connection was refused)
Waiting for remote builder fly-builder-summer-smoke-9742... connecting ā£½ DEBUG Remote builder available, but pinging again in 200ms to be sure
Waiting for remote builder fly-builder-summer-smoke-9742... connecting ā£» DEBUG Remote builder available, but pinging again in 203.849108ms to be sure
Waiting for remote builder fly-builder-summer-smoke-9742... connecting ā”æ DEBUG Remote builder available, but pinging again in 248.672204ms to be sure
Waiting for remote builder fly-builder-summer-smoke-9742... connecting ā£Ÿ DEBUG Remote builder is ready to build!
Remote builder fly-builder-summer-smoke-9742 ready
==> Creating build context
--> Creating build context done
==> Building image with Docker
Sending build context to Docker daemon  40.24MBlse)Sending build context to Docker daemon  524.4kB
Step 1/12 : FROM cosmtrek/air AS dev
 ---> 56be9bb48820
Step 2/12 : RUN go install github.com/go-delve/delve/cmd/dlv@latest
 ---> Using cache
 ---> e62bed342aa5
Step 3/12 : WORKDIR /src/api
 ---> Using cache
 ---> c89072d1771b
Step 4/12 : FROM golang:1.16.5 AS artifact
 ---> ee23292e2826
Step 5/12 : WORKDIR /src/api
 ---> Using cache
 ---> dd188c9a1b02
Step 6/12 : COPY . .
 ---> 82e0ae85bddb
Step 7/12 : RUN CGO_ENABLED=0 go build     -a     -tags netgo     -trimpath     -mod=vendor     -o=/go/bin/palmira     -ldflags="-s -w -extldflags '-static'"     -installsuffix static     ./cmd/palmira
 ---> Running in fb3a41962dcf
 ---> f24c123e8f9d
Step 8/12 : FROM gcr.io/distroless/base
 ---> ea12ac67bef0
Step 9/12 : USER nonroot
 ---> Using cache
 ---> d75895b06aac
Step 10/12 : COPY --from=artifact /go/bin/palmira /usr/local/api/app
 ---> Using cache
 ---> 1c096dd97d1b
Step 11/12 : WORKDIR /usr/local/api
 ---> Using cache
 ---> 9af7347c70a8
Step 12/12 : ENTRYPOINT [ "/usr/local/api/app" ]
 ---> Running in 9da634756194
 ---> 1febcb7f9c40
Successfully built 1febcb7f9c40
Successfully tagged registry.fly.io/myapi:deployment-1626881762
--> Building image done
==> Pushing image to fly
The push refers to repository [registry.fly.io/myapi]
c2613f0d4193: Layer already exists
5d09c2db1d76: Layer already exists
16679402dc20: Layer already exists
deployment-1626881762: digest: sha256:3918d37b2e96f3036a85eeaef24eac72ae0c8b06486402a79884cb2ef7b4d0a2 size: 949
--> Pushing image done
DEBUG result image:&{ID:sha256:1febcb7f9c408910ae9ac66334caa73aa8b80c2c9b9351fc843d93f471f62c75 Tag:registry.fly.io/myapi:deployment-1626881762 Size:40859547} error:<nil>
Image: registry.fly.io/myapi:deployment-1626881762
Image size: 41 MB
==> Creating release
DEBUG --> POST https://api.fly.io/graphql {{"query":"mutation($input: DeployImageInput!) { deployImage(input: $input) { release { id version reason description deploymentStrategy user { id email name } createdAt } releaseCommand { id command } } }","variables":{"input":{"appId":"myapi","image":"registry.fly.io/myapi:deployment-1626881762","services":null,"definition":{"env":{},"experimental":{"allowed_public_ports":[]},"kill_signal":"SIGINT","kill_timeout":5,"services":[]},"strategy":null}}}
}
DEBUG <-- 200 https://api.fly.io/graphql (1.48s) {"data":{"deployImage":{"release":{"id":"8z4AyglQQDp4BTZvBXBP26Mwq2fVAeB50m9Ya","version":34,"reason":"release","description":"Deploy image","deploymentStrategy":"CANARY","user":{"id":"ZjzneGAPoJA1aCNM5","email":"denis@myorg.club","name":"Denis Rhoden"},"createdAt":"2021-07-21T15:36:43Z"},"releaseCommand":null}}}
Release v34 created

You can detach the terminal anytime without stopping the deployment
Monitoring Deployment
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":""}}
}
DEBUG <-- 200 https://api.fly.io/graphql (136.34ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[]}}}}

v34 is being deployed
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (318.7ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (166.79ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (429.08ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"pending","region":"dfw","desiredStatus":"run","ve
1 desired, 1 placed, 0 healthy, 0 unhealthy
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (331.71ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"pending","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (213.53ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","ve
1 desired, 1 placed, 0 healthy, 0 unhealthy
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (177.67ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (309.31ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (274.64ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (169.33ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (127.26ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (151.95ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (141.93ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (107.51ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":true,"status":"running","successful":false,"description":"Deployment is running pending automatic promotion","version":34,"desiredCount":1,"placedCount":1,"healthyCount":0,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":"684369ee-6b2c-ca76-3448-b84e98ed6af9"}}
}
DEBUG <-- 200 https://api.fly.io/graphql (141.47ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":false,"status":"successful","successful":true,"description":"Deployment completed successfully","version":34,"desiredCount":1,"placedCount":1,"healthyCount":1,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"he
1 desired, 1 placed, 1 healthy, 0 unhealthy
--> v34 deployed successfully
DEBUG --> POST https://api.fly.io/graphql {{"query":"query ($appName: String!, $deploymentId: ID!) { app(name: $appName) { deploymentStatus(id: $deploymentId) { id inProgress status successful description version desiredCount placedCount healthyCount unhealthyCount allocations { id idShort status region desiredStatus version healthy failed canary restarts checks { status serviceName } } } } }","variables":{"appName":"myapi","deploymentId":""}}
}
DEBUG <-- 200 https://api.fly.io/graphql (151.57ms) {"data":{"app":{"deploymentStatus":{"id":"684369ee-6b2c-ca76-3448-b84e98ed6af9","inProgress":false,"status":"successful","successful":true,"description":"Deployment completed successfully","version":34,"desiredCount":1,"placedCount":1,"healthyCount":1,"unhealthyCount":0,"allocations":[{"id":"7d7d2737-1734-90fc-9f03-6f7431e988e4","idShort":"7d7d2737","status":"running","region":"dfw","desiredStatus":"run","version":34,"healthy":true,"failed":false,"canary":false,"restarts":0,"checks":[]}]}}}}