This great article helped me to add a Videobridge on a separate EC2 instance in a very easy, simple manner.
I have a follow-up question - what attribute of Videobridge can we monitor in order to check how heavily used it is right now and if we need to add a new instance ? Need this to know how to define auto-scaling up.
But when I try the same call from browser (http://SERVER_IP:8080/colibri/stats/), it says site not reachable. I have opened port 8080 on security group. Does the external call use a different port ? What am I doing wrong ?
For example you can have a periodic check at localhost that pushes the metric to CloudWatch, like a simple script that does only two things - get the value as a number (curl …:8080/colibri/stats | jq .stress_level ) and then push it to a custom CloudWatch metric.
Then in the ASG settings set it to scale depending on that metric - things will vary depending on your setup, but for example if you have “stress_level” metrics that are per-JVB, you can use a combined metric (maybe a mean value, an average) of all the "stress_level"s and scale if that number exceeds some threshold.
P.S.: of course, you can do this without cloudwatch - then you’ll need to gather all the values somewhere (for example on the Meet server, as it won’t get scaled in) - get them with curl calls there and in a script decide whether to call the aws api to scale in or out. If you are on a cloud without custom metrics, this may be the only way to go (Although in the case of AWS this is a an overhead and more complex than cloudwatch way)