I’m trying to install Sentry on Rnacher2 / k8s. I “translate” the docker-compose from OnPromise github for each components.
First: I can’t establish minimum components requirement to setup a Sentry. So this is my first question: which components are required? Not best practice but only required.
Here is the liste of services in the docker-compose.yml and my interpretation:
smtp: required but to send emails you can configure an external SMTP.
memcached: not required
redis: required
postgres: required sentry need a database
zookeeper: ???
kafka: ???
clickhouse: ???
snuba-api: ???
snuba-consumer: ???
snuba-outcomes-consumer: ???
snuba-sessions-consumer: ???
snuba-transactions-consumer: ???
snuba-replacer: ???
snuba-subscription-consumer-events: ???
snuba-cleanup: ???
symbolicator: ???
symbolicator-cleanup: ???
web: required
cron: required I get it on previous so I guess it is required
worker: required I get it on previous so I guess it is required
ingest-consumer: ???
post-process-forwarder: ???
subscription-consumer-events: ???
subscription-consumer-transactions: ???
sentry-cleanup: I guess not required but can be really good to clean sentry
nginx: required I use k8s / rancher2 so I already have a ingress,
Greetings, @Louis14! Sounds like an interesting experiment, the results of which could be good to have documented. I know we have an architecture diagram … have you consulted that yet?
Of course, the simple answer to your question is that everything is required for something, otherwise it wouldn’t be there (one hopes!). So what’s your definition of “required”? Required for what?
Looking down the list you posted, my hunch is that most things are required for the basic workflow of POSTing an event from an SDK, and having Sentry process the event so that it shows up in the issue stream. One corner you might be able to cut is symbolicator if you aren’t processing events from mobile SDKs.
What parts of the product experience are you willing to live without? Or conversely: what parts are must-haves for you?
Hi @chadwhitacre, thanks for the diagram it will help.
I will take the example of Memcached. Of course I know that it is really good to have memcached for performance. But it is not required. With my experience now I think it is the only one component that is not required.
Sentry 9 is simple to install. Sentry web, cron, worker that’s it. The last version is quite complicated. But I guess I will success and I will try to share the experience with the community.
Okay, so your definition of required is “all product features are functional, but not necessarily scalable,” something like that? Then yeah I think you’re going to find that pretty much all components are required.
That said, for single-node setups, current Sentry should be simpler to install than Sentry 9, with the install script in the onpremise repo. It’s true that installing modern Sentry is more complicated for multi-node setups, but of course that’s to be expected given the additional features added since Sentry 9 (Discover, Performance), and the complexity inherent in scaling any app.
Can I ask, what’s your reason for self-hosting rather than using SaaS? Moving to SaaS is generally our recommendation when the burden of self-hosting becomes too much.