Deployments support

Last updated:

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 (important to follow these steps!): navigate to IAM Use the Add Users button at the top right to add their PostHog email as username and select 'password'. Important! Untick 'User must create a new password at next sign-in', as that'll cause issues with MFA. Pick AWS Management Console access and add them to the Team group Slack the username, password and console link to…

Read next article