Deployments support

Last updated:

|Edit this page

If you're the week's support hero or you are providing support for a customer and they have questions about their self-hosted deployment, follow this guide to provide initial support before looping in someone from the Infrastructure team.

Gather basic information

Here's a sample message that should help gather the relevant information up-front (appropriate for #community-support, but if working in a private channel with a paid customer, remove some of the obvious questions).

👋 Are you self-hosting or on PostHog Cloud? (if self-hosting please answer below)

  1. What have you tried to solve the issue so far? How did that go?
  2. Which cloud provider are you using? How many nodes are you running?
  3. Are you using our Helm chart to deploy PostHog? Have you make any customisations? Can you please share your values.yaml file?
  4. If you have any pod(s) erroring/restarting, can you please share the logs?
  5. Do you have any kind of monitoring configured? (if not, can you please enable at least Grafana and Prometheus in the values.yaml of the Helm chart?)
  6. How many events are in ClickHouse, and how many were ingested last month?

Kickstart the debugging process

  1. What's the output of kubectl get pods -n posthog?

    This should look something like this:

    Terminal
    NAME READY STATUS RESTARTS AGE
    chi-posthog-posthog-0-0-0 1/1 Running 0 11d
    clickhouse-operator-6b5438eh5fb-bt5fk 2/2 Running 0 11d
    posthog-beat-7782927b778-wxvhl 1/1 Running 0 11d
    posthog-cert-manager-69fahs7b57-c48dn 1/1 Running 0 11d
    posthog-cert-manager-cainjector-6d95d93mn8-6tz6k 1/1 Running 0 11d
    posthog-cert-manager-webhook-6469930mdfc-6l958 1/1 Running 0 11d
    posthog-events-55283995cc-rpjdm 1/1 Running 0 11d
    posthog-ingress-nginx-controller-648bdn892f-w7qhp 1/1 Running 0 11d
    posthog-pgbouncer-77fb4djs85c-2d24t 1/1 Running 0 11d
    posthog-plugins-54fjd8292649-66gsm 1/1 Running 0 18m
    posthog-posthog-kafka-0 1/1 Running 0 11d
    posthog-posthog-postgresql-0 1/1 Running 0 11d
    posthog-posthog-redis-master-0 1/1 Running 0 11d
    posthog-posthog-zookeeper-0 1/1 Running 0 11d
    posthog-posthog-zookeeper-1 1/1 Running 0 11d
    posthog-posthog-zookeeper-2 1/1 Running 0 11d
    posthog-web-78dns2f5d7-6zdkc 1/1 Running 0 11d
    posthog-worker-7857nd8268-j8c4f 1/1 Running 0 11d
  2. When they send you the output from the command in step 1, if any of the pods has a status other than Running, ask them for the output of kubectl logs pod-name -n posthog

  3. The output from the previous step may or may not be familiar to you. Sometimes the logs will be something you've seen before. If that's the case, try to reproduce the issue locally and come up with a fix. If things are cryptic to you, loop in someone from the Infrastructure team.

  4. If a pod is listed as Failed, suggest that they try an upgrade with helm upgrade -f values.yaml -n posthog

Common issues

Some common issues you might encounter are:

PostHog is stuck migrating/the migrate job has an issue

Tell them to run the following:

Terminal
kubectl -n posthog delete job $(kubectl -n posthog get jobs --no-headers -o custom-columns=NAME:.metadata.name)
helm upgrade -f values.yaml -n posthog

The app/plugin server has an issue

The first thing that you can safely try here is to tell them to restart the apps pod:

Terminal
# terminate the running plugins pod
kubectl scale deployment posthog-plugins --replicas=0 -n posthog
# start a new plugins pod
kubectl scale deployment posthog-plugins --replicas=1 -n posthog

How can I connect to Postgres?

Send them a link to this doc.

Kafka crashed / out of storage

Send them a link to this doc.

Connection is not secure / DNS problems

Before looping in someone, ask them to check that DNS records are correctly set and have propagated with this command:

Terminal
nslookup <your-hostname> 1.1.1.1

Other issues

Check out our Troubleshooting page for other common issues and how you might be able to provide "first aid" before looping in someone.

All is lost

The idea of this doc is to cover some basic support that you can provide in order to either help the customer solve their issue or gather basic info before someone from the Infrastructure team shows up.

However, never hesitate to call us! We're more than happy to help.

Also, if things seem very serious and/or relate to a paying customer, do reach out to us right away.

Questions?

Was this page useful?

Next article

Working with cloud providers

AWS How do I get access? Ask in the #team-infrastructure Slack channel for someone to add you. To give someone access Go to this link while logged in Use their email address as their username Add them to the "developers" group on the next step Tell them to use http://go/aws to log in Permissions errors using AWS CLI If you see something like: Note the "with an explicit deny" in the end which likely is due to the fact that we force Multi-Factor Authentication (MFA). Follow this guide to use…

Read next article