• Product
  • Pricing
  • Docs
  • Using PostHog
  • Community
  • Company
  • Login
  • Table of contents

  • Handbook
    • Start here
    • Meetings
    • Story
    • Team
    • Investors
    • Strategy overview
    • Business model
    • Objectives
    • Roadmap
    • Brand
    • Culture
    • Values
    • Small teams
    • Goal setting
    • Diversity and inclusion
    • Communication
    • Management
    • Offsites
    • Security
    • Brand assets
    • Team structure
    • Customer Success
    • Exec
    • Experimentation
    • Growth
    • Infrastructure
    • Marketing
    • People & Ops
    • Pipeline
    • Product Analytics
    • Session Recording
    • Website & Docs
    • Compensation
    • Share options
    • Benefits
    • Time off
    • Spending money
    • Progression
    • Training
    • Side gigs
    • Feedback
    • Onboarding
    • Offboarding
      • Product Manager ramp up
    • Merch store
      • Overview
      • How to interview
      • Engineering hiring
      • Marketing hiring
      • Operations hiring
      • Design hiring
      • Exec hiring
      • Developing locally
      • Tech stack
      • Project structure
      • How we review PRs
      • Frontend coding
      • Backend coding
      • Support hero
      • Feature ownership
      • Working with product design
      • Releasing a new version
      • Handling incidents
      • Bug prioritization
      • Event ingestion explained
      • Making schema changes safely
      • How to optimize queries
      • How to write an async migration
      • How to run migrations on PostHog Cloud
      • Working with ClickHouse materialized columns
      • Deployments support
      • Working with cloud providers
      • How-to access PostHog Cloud infra
      • Developing the website
      • MDX setup
      • Markdown
      • Jobs
      • Overview
      • Data storage or what is a MergeTree
      • Data replication
      • Data ingestion
      • Working with JSON
      • Query performance
      • Operations
        • Overview
        • sharded_events
        • app_metrics
        • person_distinct_id
    • Shipping things, step by step
    • Feature flags specification
    • Setting up SSL locally
    • Tech talks
    • Overview
    • Product metrics
    • User feedback
    • Paid features
    • Releasing as beta
    • Our philosophy
    • Product design process
    • Designing posthog.com
    • Overview
    • Personas
    • Testimonials
    • Value propositions
      • Content & SEO
      • Sponsorship
      • Paid ads
      • Email
      • Press
    • Growth strategy
    • Customer support
    • Inbound sales model
    • Sales operations
      • Managing our CRM
      • YC onboarding
      • Demos
      • Billing
      • Who we do business with
    • Growth reviews
  • Table of contents

  • Handbook
    • Start here
    • Meetings
    • Story
    • Team
    • Investors
    • Strategy overview
    • Business model
    • Objectives
    • Roadmap
    • Brand
    • Culture
    • Values
    • Small teams
    • Goal setting
    • Diversity and inclusion
    • Communication
    • Management
    • Offsites
    • Security
    • Brand assets
    • Team structure
    • Customer Success
    • Exec
    • Experimentation
    • Growth
    • Infrastructure
    • Marketing
    • People & Ops
    • Pipeline
    • Product Analytics
    • Session Recording
    • Website & Docs
    • Compensation
    • Share options
    • Benefits
    • Time off
    • Spending money
    • Progression
    • Training
    • Side gigs
    • Feedback
    • Onboarding
    • Offboarding
      • Product Manager ramp up
    • Merch store
      • Overview
      • How to interview
      • Engineering hiring
      • Marketing hiring
      • Operations hiring
      • Design hiring
      • Exec hiring
      • Developing locally
      • Tech stack
      • Project structure
      • How we review PRs
      • Frontend coding
      • Backend coding
      • Support hero
      • Feature ownership
      • Working with product design
      • Releasing a new version
      • Handling incidents
      • Bug prioritization
      • Event ingestion explained
      • Making schema changes safely
      • How to optimize queries
      • How to write an async migration
      • How to run migrations on PostHog Cloud
      • Working with ClickHouse materialized columns
      • Deployments support
      • Working with cloud providers
      • How-to access PostHog Cloud infra
      • Developing the website
      • MDX setup
      • Markdown
      • Jobs
      • Overview
      • Data storage or what is a MergeTree
      • Data replication
      • Data ingestion
      • Working with JSON
      • Query performance
      • Operations
        • Overview
        • sharded_events
        • app_metrics
        • person_distinct_id
    • Shipping things, step by step
    • Feature flags specification
    • Setting up SSL locally
    • Tech talks
    • Overview
    • Product metrics
    • User feedback
    • Paid features
    • Releasing as beta
    • Our philosophy
    • Product design process
    • Designing posthog.com
    • Overview
    • Personas
    • Testimonials
    • Value propositions
      • Content & SEO
      • Sponsorship
      • Paid ads
      • Email
      • Press
    • Growth strategy
    • Customer support
    • Inbound sales model
    • Sales operations
      • Managing our CRM
      • YC onboarding
      • Demos
      • Billing
      • Who we do business with
    • Growth reviews
  • Handbook
  • Engineering
  • Deployments
  • Deployments support

Deployments support

Last updated: Oct 02, 2022

On this page

  • Gather basic information
  • Kickstart the debugging process
  • Common issues
  • PostHog is stuck migrating/the migrate job has an issue
  • The app/plugin server has an issue
  • How can I connect to Postgres?
  • Kafka crashed / out of storage
  • Connection is not secure / DNS problems
  • Other issues
  • All is lost

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 to show 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

Authors

  • lharries
    lharries
  • camerondeleone
    camerondeleone
  • James Hawkins
    James Hawkins

Share

Jump to:

  • Gather basic information
  • Kickstart the debugging process
  • Common issues
  • PostHog is stuck migrating/the migrate job has an issue
  • The app/plugin server has an issue
  • How can I connect to Postgres?
  • Kafka crashed / out of storage
  • Connection is not secure / DNS problems
  • Other issues
  • All is lost
  • Questions?
  • Edit this page
  • Raise an issue
  • Toggle content width
  • Toggle dark mode
  • Product

  • Overview
  • Pricing
  • Product analytics
  • Session recording
  • A/B testing
  • Feature flags
  • Apps
  • Customer stories
  • PostHog vs...
  • Docs

  • Quickstart guide
  • Self-hosting
  • Installing PostHog
  • Building an app
  • API
  • Webhooks
  • How PostHog works
  • Data privacy
  • Using PostHog

  • Product manual
  • Apps manuals
  • Tutorials
  • Community

  • Questions?
  • Product roadmap
  • Contributors
  • Partners
  • Newsletter
  • Merch
  • PostHog FM
  • PostHog on GitHub
  • Handbook

  • Getting started
  • Company
  • Strategy
  • How we work
  • Small teams
  • People & Ops
  • Engineering
  • Product
  • Design
  • Marketing
  • Customer success
  • Company

  • About
  • Team
  • Investors
  • Press
  • Blog
  • FAQ
  • Support
  • Careers
© 2022 PostHog, Inc.
  • Code of conduct
  • Privacy policy
  • Terms