Can I use Meteor Galaxy on my AWS server for debuging and monitoring purpose?


#1

As I am facing issue that my server is going down randomly.
Here is the open thread for that issue:

https://forums.meteor.com/t/meteor-server-is-going-down-randomly/47203/40

I still haven’t found any solution or fix to that, and it is effecting my business.

I am using my Meteor application in development mode on one of my AWS server.
I need the full insights of my application.

Like:

  • How much CPU/Memory load Meteor app is taking
  • How much load is being taken by node and mongodb
  • Which queries are making the server slow or taking too much time
  • What is causing my server stuck and letting the server down randomly
  • Which Sub are heavy and taking time
  • Is there any loop which is causing my server down
    etc…

I just want Galaxy to monitor my application, I don’t need the hosting or something.
Is this possible?


#2

Probably not - they want your money and don’t want to grant you access to their monitoring tools otherwise.

That being said, there are options you can host alone, or use as a paid service:



#3

I am using monti-apm, but it never showed me anything suspicious. This worries me a lot. My hands are totally tied here. Also I am not getting any official response from MDG.


#4

Are you paying for Galaxy? If so, reach out direct to their support channels. If not you probably wont get a response, they charge for developer support too. I don’t quite follow about dev mode, you’re running meteor run or similar? Thats for sure not a good way of running anything in production.

All the items you’ve mentioned are recorded by Kadira, and I assume by Monti too - the only other thing I’ve seen happen is a load spike hits the server so fast that Kadira can’t track it, e.g., you spike to 100% CPU or memory faster than Kadiras reporting cycle


#5

I am not paying for Galaxy, I will pay for it if I will be able to add Galaxy Monitoring tool only to my application.
About the app running in dev mode is because currently I upgraded Meteor to 1.8 and I am unable to backup my database since current mongorestore/mongodump is not compatible with Meteor’s mongodb version 4.
I am using Ubuntu 15, for which Mongodb version 4 is not compatible.

I have ongoing thread for that too:


#6

So your mongo deployment is running on the same server as your meteor app, in dev mode?

If so, that might explain some of your troubles - mongo expects to be running on it’s own because it essentially wants to consume all memory (it consumes about 50%, but expects the OS to consume the other 50% on it’s behalf).

If you’re unable to use mongo tools to dump the data, I’d say put all your efforts into figuring out some other way of getting your data out of mongo so you can run it on a dedicated server - if this is a production app, this should be a priority. There are two options

  1. write a custom migration script in your meteor app, either dumping the data to json files, or directly inserting it into a second database on a dedicated server.
  2. configure the running mongo instance as a replicaset member, and spinup a new mongo instance as part of the same replicaset on a dedicated server, it will then sync all the data across, then disable both mongo servers, make the new server a standalone and restart it.

#7

Are you sugesting that my meteor server and web should run on one server and mongodb should run on another? Can you provide me some good article for this? because this seems like too many things to handle


#8

Any article on production grade mongo deployments, including mongo’s own documentation states that it wants to run on a server on its own - it expects this and consumes resources accordingly (it’s performance is tied to it being able to cache your entire working data set).

If you look through these forums, you will find that most people with production meteor deployments don’t just run one huge server, they run many small ones, instead of paying $50/month for a massive server, pay $5/month for 10 small servers, this gives you redundency should one of your servers go down, you stick a load balancer in front of it and if the server goes down, users get routed to another server, you get notified that the server is down, and you can restart it.