Ad blocker detected: Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker on our website.
I was wondering if this is possible at all and how would you approach it:
I have a few servers handling phone calls. Each server has 1000-2000 phone numbers assigned to them (all together more than 15000 numbers to monitor). I need to monitor the numbers being called, the thold plugin baseline feature would be great for that. (It could set off an alarm if the number of calls to a certain number drops by x% compared to last week's data). I only need to keep 2 weeks data, but the number of data input is scary
Can all this data stored in one rra file (one rra file per server would be the best)? Is there a way to script the addition of data outputs fields for this?
How much storage would it take?
So how would you approach this? Or what is not a good idea? The whole concept or storing them in one rra? If you guys could point me to the right direction, that would be great..
I would have to have more information. In addition, what is bad is one large RRDfile with all those data sources. It's not flexible. If you delete one, or add one, you start all over. Plus, cacti is designed for smaller poller output results, although you can make it pretty big.
It's just bad.
TheWitness
True understanding begins only when we realize how little we truly understand...
Hmm.. I see, good point. Okay, so then probably I'll need to have an RRD file for each phone number, since these are getting added/removed all the time. The main goal is to be able to alert based on a comparison to last week's data. Ie: I've received 200 calls to one of the numbers last week same day same hour, if this week it is 20% less, then I have to trigger an alert. (well I can get the system to make a test call, and if that fails, then comes the alert)
I can poll the call volume information from a web service, how many calls were received by which number, so I can script that.
I would personally write a plugin to poll the information, store it in a database, and keep things like averages, dropped calls, voice quality, whatever for each phone number in that table and then graph whatever you want from the database rather than polling the switch using spine or anything else. Just poll the database. This will prove to be light years faster.
Then, 100k would not be a problem either, or even 200k... However, you have to be careful with the database design.
TheWitness
True understanding begins only when we realize how little we truly understand...
Thanks Witness, it's pretty much how you've described it. I have all call information going to a SQL database already, the developer said he would dump the result of my query on a webpage hourly. So I have to grab the info from there and graph it and set up the testing/alarming function. Maybe I wouldn't even need rrd files since he can dump last week's data too, but I'm not sure if&how cacti can handle the data that way.
Your script would use wget or curl, and store the results for THOLD for example. I would do it with the script_server though, just to speed it up. Going to the database would be faster, but your developer may be afraid of 15k * Data Sources queries every 5 minutes.
TheWitness
True understanding begins only when we realize how little we truly understand...