On Mon, 03 Mar 2014 14:44:16 +0100 "Joachim Tingvold" joachim@tingvold.com wrote:
Enterprise. I don't have any 'ongoing' experience with NAV, but when I get the time to set up NAV (around summer), I'll be sure to share my updated experience regarding NAV (-:
(I'll probably have shitloads of questions as well (-: ).
Great :)
Throw lots of RAM at PostgreSQL, so that the most important bits can be kept cached at all times.
What is 'lots of RAM'? Are we talking ~32GB or ~128GB? :-P
In the aforementioned case study, the NAV server and the PostgreSQL server are equipped with 12GB each.
The PostgreSQL server is currently using about 10GB for buffers and cache, the rest is used by the running processes. The NAV server is currently using 7GB for buffers and cache, and still has ~1GB memory free.
This installation currently monitors 988 devices/52543 ports. I understand they have quite a few HP switches that are still waiting to be monitored, but they have been kept out because they have problems keeping up with NAV's SNMP requests.
Use reasonably modern hardware, fast disks (or even SSDs) and opt for RAID striping if you can (we use RAID 10 in production).
We'll probably use our VMware-environment. At least I think we'll start with that, to see how it copes with a virtualised environment. They just set up some new SAN solution that's supposedly pretty fast, so hopefully that'll do.
I would not normally recommend running a big PostgreSQL production installation in a virtual environment, but your mileage may vary.
Do you have any indication as to what amount of storage is required? Both at the server running NAV, and the one running PostgreSQL? Probably depends on how long one wants to store things, but, yeah? At least some kind of indication of what sizes we're talking about? (I.e. 500GB vs. 2TB or whatnot?).
The aforementioned PostgreSQL installation currently uses 17G. It contains more than a year worth of data. It has approximately doubled in size in the past 6 months. You may want to clean out CAM and ARP logs regularly, though.
RRD data on the NAV server is 6.8GB - this usage does not increase with time, only with the number of things monitored.
Is there some kind of API in NAV, that could help manage the device database? I.e. some way that we could automate the list of servers NAV should ping by making a script or whatnot? Or maybe one can just interact directly with the PostgreSQL-database?
Not really, though we are looking into it, as we added some API functionality last year. We are looking to synchronize our own NAV installation from our authoritative inventory database, and our currently working solution uses NAV's Django ORM models as its "API".
Thanks for your feedback so far (-:
No problem :)