Now that Kadira is gone what do you use for performance tracking for Meteor apps?
I use… Kadira
We have figured out how to run it on vps, see here please: Running a own Kadira instance Update: now with a guide!
Actually, Michael Lazarski was the one figured this out, can’t steal his credit
My aim is to get a small number of people to login into my version of Kadira. Its exactly how it was before. The SaaS version. The first 5 people will get 1 month for free. This allows me to check if everything is working without restrictions. After that month or maybe earlier, other people will be able to join and use Kadira like back in the days.
@cloudspider How much do you plan on charging?
Based on the amount of resources Kadira required to run, couple with the fact that it’s open sourced now, I am not sure if there will be a price point that actually makes sense.
Its actually not that much. Anyway. I’m taking this week to calculate costs etc. But it seems do-able to a certain scale. The free tier will be limited to (I think) a month. There’s just too many resources used for non paying users.
@cloudspider I am running Kadira on digitalocean now with a two member replica set: one $20 droplet and one $5 droplet. I can give you my numbers.
For 5 days of usage, the database sotrage requirement balloons to 700-850mb for 5 days, so it will be about 5gb for one month storage for a free user. Hence the cost for each free user will be about $2 just for storage.
Please keep in mind that I am hosting the mongodb on a droplet, which means no security except port protection, no backup, no alerts. I am doing this because I don’t see the kadiraData db as some sensitive secrets. Of course, you can roll these on your own after some time.
For the longest time I don’t know why I need to look at the backup data, I think the real time data is the most useful thing. Perhaps you can consider to give out the free tier with one day backup like arunoda did.
Thank you, I’ll spend today trying to sort that out.
I’ve spent all day and gotten nowhere with deploying Kadira on DigitalOcean. Does anyone offer a hosted version or a heroku 1-click deploy for a hosted version of Kadira?
On the link I posted above, someone has come up with a docker image for a one command deploy. However, it seems that with the docker image you can also encounter some weird error.
It took me about 20 hours to iron out all the errors while following the tutorial from Michael.
I’m at part 2 of the tutorial: https://medium.com/@foodfitnesscode/setting-up-kadira-on-a-ubuntu-16-04-server-part-2-4d35556eb018
Specifically Setting up Kadira Engine.
I’m getting the same error as the person in the Medium article. Do you have any suggestions?
I can’t get the kadira-engine to run as a service. systemctl status reports (code=exited, status=217/USER). I am using the kadira user to run it, and I’ve set the ownership of all files inside the kadira-server folder to kadira:kadira
Fixed my issue, I’ll definitely write a comprehensive guide on how to get this working on Ubuntu 16.04 x64.
Now I’m getting this when running kadira-ui’s run.sh
in my terminal:
“This node was not started with the replSet option”
Hey, sorry for the slow rely. You need the mongodb running on replica set, at least a two member replica. The tutorial isn’t doing a good job to explain this. What hosting service are you using?
Also, do not use the pick-mongo-primary package as the article suggests. I tried using it and the mongodb primary keeps flip flopping between the replica set members. Set the priorities of the members manually inside the mongo shell.
Hey no worries man, appreciate the help. I’m using DigitalOcean. I’m thinking about using a hosted version of mongo to not even bother with this replica BS.
What command do I run to run mongodb
with the replset turned on?
The hosted version of mongo will be very expensive because mlab gives you 1gd for $15 and Kadira business plan requires about 15gb to host 3 months of data. So far I haven’t figured out how to reduce the backup period yet.
I highly recommend you to spin up two more $5 droplets on digitalocean and create a minimal of two member replica set. You won’t get all the fancy scaling, backup, alerts, etc. of a hosted mongodb service. However, you probably won’t need hose since the self hosted Kadira isn’t a production app.
From what I can recall, in the mongod.conf file you there’s an explicit option to give the replicaset a name. Bind ip to not only 127.0.0.1:27017 but also to the ip.of.second.member:27017. Then in the mongo shell of the primary machine, you need to create an admin for all the databases. Then use rs.add() in the mongo shell to add more members to the replica set.
Then following this: https://docs.mongodb.com/manual/tutorial/adjust-replica-set-member-priority/ to adjust the priorities of the members.
I use Galaxy APM.
20 characters
Happy to report that Kadira is now running on a $20 droplet on DigitalOcean. What a ride.
I’m at the last step where it’s giving me the keys to configure my Meteor app. My question is, how will my app know to send the data to my droplet’s IP as opposed to the no-longer-available Kadira’s endpoints?
Appreciate the info. Once I’m done I’ll spend today writing a top to bottom guide, so literally anyone can run Kadira themselves.
Add this to the meteor.startup():
Kadira.connect({put the appid and appsecret here}, {endpoint:‘http://yourkadirasite.com:11011’});
Assuming that you didn’t change the 11011 port for the kadira-engine.
Oh I need to point it to the kadira engine port, not the kadira-ui port? That was my mistake. Trying now.