News:

We really need your input in this questionnaire

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Millenium7

#91
General Support / LDAP user groups?
August 28, 2018, 11:14:30 AM
I've finally got LDAP (Active Directory) sync working

Question I have now which I can't find an answer to, is can NetXMS also sync the user groups? or have another way to give users permissions?
Right now it syncs the users but they have no permissions, so I have to go in later and assign them. I don't mind doing this once off but if we add/remove staff i'll have to adjust permissions in NetXMS as well and this I don't want to do

I'd rather just assign them into a group in Active Directory that controls permissions, i.e. 'low clearance' or 'high clearance' user groups. And thus low clearance users can log into NetXMS, view information but not change it. High clearance become admins etc
#92
Quote from: Victor Kirhenshtein on June 18, 2018, 09:58:10 PM
But connection between switch object and node object will only appear on layer 2 map if node's MAC address is the only MAC on switch port - otherwise server will assume that there are some unknown device in between

Is it possible for you to add an option to override this? I need a way to draw L2 maps between switches and they are always going to have multiple MAC's on the ports between them, even if directly connected with a cable. And even if it was an empty switch a lot of them are connected with point-to-point wireless so will show at least 3 MAC addresses.

I can think of 2 ways to do this
A)
An extra 2 options in map
- 'Draw every MAC address on port'
- 'Hide unknown/unmanaged nodes' so then I will only see the switches I have added to NetXMS, and it won't show computers
It would still have to do some filtering because if you have switches
A->B->C
Then it would look like A and B are connected to C. But if it goes through the MAC table on B it would see that A and C are on different ports. So A must be connected to B instead

B)
A new topology option:
Select multiple nodes in NetXMS, right click and choose Topology->Build links by MAC
And it would simply do Tool->Find MAC address for each of those nodes, take the result i.e. "SwitchA is connected to SwitchB on port 47", "Switch B is connected to Switch C on port 15" and show a map with nodes and links drawn based on the result
#93
It seems I can't get NetXMS to build a topology map with nodes unless I enable LLDP on them

Is there a way to show a layer 2 map based off just the MAC table instead? I would ideally like to be able to select a bunch of nodes, right click them and choose 'Show L2 Topology', place those nodes, have it scan the MAC table finding where each interface those nodes are on then draw links automatically and show me the port numbers as labels
I do this manually when I need to discover a new network and find where a specific device is, or create a basic network map. It would help a lot if I could have NetXMS do this work for me (without having to enable LLDP because some switches/routers don't support it, but they do support SNMP)

If NetXMS can't do this, is there a good simple program for automatically building network maps like this?
#94
Ok next question

I was considering creating a table instead of lots of individual DCI's. That way I can have daily/weekly/monthly usage as well as other information like number of reconnects etc all on a single line for an interface without dozens/hundreds of DCI entries

Is it possible to do simple delta calculation in table columns yet? I can't see a drop down option for it, can I do it manually somehow?
#95
Ok I found reference that there's a bug with read access from a forum post back in 2014

https://www.netxms.org/forum/general-support/transformation-script-and-$dci-object/

It seems that bug is still present, test will show an error but $dci->id does work when actually polling the DCI. So this is what I have come up with so far

t = GetDCIValue($node,$dci->id);
if (t != null)
return t + $1;
else
return $1 - $1;


Transformation set to simple delta. The first result will always return 0, after that it counts up usage continuously

The next question is then how do I handle resetting the value back to 0 after a day/week/month?
Is there a scripting command to clear all old data? Then I can simply add some code to check the date/time and clear the values accordingly
Alternatively I could do the same but manually reset the value to 0 which would work fine I suppose. The graph would show a saw-tooth pattern over time
The ultimate solution would be to sum all previous DCI values between the last '0', delete all those entries and replace it with a single sum entry. That would drastically reduce the amount of stored data and let me see a single spike per day/week/month on a history graph separated by a single 0 entry
#96
I think that will do it. I've tested with
t = GetDCIValue($node,8347);
return t;

And it does return the previous value. But i'm having trouble with the syntax for the DCI id (since I dont want to type it in manually)
I've tried
t = GetDCIValue($node,$dci->id);
return t;

And its giving my an error. I can't find the syntax I need to return the ID number of the current DCI

While i'm at it, is there a better way for troubleshooting and finding out the correct syntax? I struggle with this all the time because its very difficult to know if i'm typing syntax correctly, or wht values are being returned. Is there a console I can open and type these sorts of commands in and get some realtime help on syntax and output, similar to a SSH terminal i.e. type GetDCI<tab> and it will me all the available commands. As well as manually type those in i.e. "echo GetDCIValue(230,123)" and see the output
#97
I'm trying to create a usage graph in netXMS and having trouble with the formulas to do so

At the moment i'm polling an interface for the traffic, then using simple delta transformation with "return max($1, 0);" (to avoid negative numbers if i.e. router restarts)
What I need now is a way to read the last dci value and add it to the current result, so that it continually increments

i.e. currently it returns
6pm - 53mb
(router restarts)
7pm - 0mb
8pm - 155mb
9pm - 110mb

I need to add each previous value together so that it shows a running total
i.e.
6pm - 53mb
7pm - (0mb + 53mb) = 53mb
8pm - (53mb + 155mb) = 208mb
9pm - (208mb + 110mb) = 318mb

#98
Is there a way to have a DCI show daily/weekly/monthly usage? And also not lose track of usage if the device reboots and interface counters get reset to 0

Ideally i'd like separate graphs that can show each usage period
I think a way to do this would be to have 3 separate DCI's, each of them copy data from the main interface DCI, then average values for an hour and then store it. But when the month starts at 500gb and ended up at 700gb it would show 700gb of usage, not 200gb. And also if the router rebooted a few times the counters are going to keep resetting to 0 so the calculations would be very wrong

Is there a built in command to assist with this?
A plugin?
Or does anyone have math formula's to make it work?
#99
Thanks for the response Victor

Seems like a lot of additional scripting is required to get close to the sort of notifications we would like
I don't mind adding scripts if they are easy to manage and change and I can write a very simple guide on how to do so for our other staff - we don't all have time to learn netXMS scripting language and how/where to change values. And we don't want to be spending a significant portion of our time monitoring the monitoring system...

Since we will have multiple types of alarms (node down, low snr, station disconnect etc etc) we don't want to have to change 100 scripts if we decide to change our notification schedule
Can we execute actions from within a script?
And therefore would something like this be the best way to manage this?
1) In Actions Configuration, edit 'Slack Notification' and change it from 'send SMS' to 'Execute NXSL Script' and type in script name "CheckScheduleTime"
2) Go to Script Library, create script 'CheckScheduleTime'. Add something like....

NotiStart = 6;
NotiEnd = 22;
now = localtime();
if (now->hour >= NotiStart && now->hour <= NotiEnd)
  DoAction("Push Slack Notification");


3) Create another action called 'Push Slack Notification' and set this up to send Slack SMS

This way everything under 'event processing policy' can be set up with just 1 action of 'Slack Notification', that calls a script which checks relevant time, that calls the action which actually makes a slack notification. Then if we change our time (i.e. go on holidays and want to disable it) we don't have to edit every single action in 'event processing policy'. We only have to change the time in the "CheckScheduleTime" script. Is that correct?
#100
We currently have Centreon in place for monitoring - it is far too difficult to automate hence we're looking at NetXMS - but it has pretty good notification support. Certainly a lot better than NetXMS at the moment https://wiki.netxms.org/wiki/Slack.com_integration

The above guide works, but is generally unusable for us primarily because we just had an outage on the router where the NetXMS server is located, and once it came back up everybody got bombarded with hundreds of 'Node Down' messages followed by hundreds of 'Node Up' messages. I presume the NetXMS monitor has a delay because the messages all came through approx 1 second apart, meaning complete spam for about 10 minutes straight
I intend to also incorporate a lot of other parameters such as temperature/voltage/SNR monitoring etc, this would only have amplified the spam by 100x

So my questions are this...
1) Is there a better slack addon than the SMS system? providing a bit more flexibility i.e. categories (centreon can mark with low/medium/high priority with colors)

2) Setting dependencies on devices so that i.e. if a main router goes down, don't send notifications for everything behind that router because obviously everything behind it will also be unreachable. We only want a message that the router is down, then suppress all notifications for devices behind it

3) Dependencies for DCI's on devices. Obviously if a client radio loses connection then I don't need notifications about 0 SNR, 0 signal strength, etc

4) Is there a way to buffer the messages for i.e. 2 minutes then sends all of them at the same time, So if we do have a few separate devices all go down at around about the same time, at least we don't have spam every second

5) Re-sending notifications for some core devices. At the moment if a node goes down we only ever get one message. I want important devices such as core routers or radio links to keep sending a notification that it is down every 10 minutes until it comes back up

6) Notification schedule? I havn't found it in NetXMS yet. We do want monitoring to continue, but we don't want any slack messages after 10pm or before 6am
#101
Can someone shed some light on this. The layer2 topology maps seem to vary wildly depending on which device I choose to create the map from
I.e. if I right click on Sw4 and choose Layer 2 Topology it will show ONLY show Sw4
If I do it with Sw5 it will show Sw5, Sw4, Sw7
If I do it with Sw7 it will show every switch
This is really strange because all switches are on the same VLAN, all have LLDP enabled. And if I look at the MAC database of any switch it shows everything correctly

I need to make detailed L2 maps but I get different results depending on which switch I choose. This is a big problem for me because it makes L2 maps very unreliable and that is one of the most important things for me at the moment. Am I doing something wrong? Have tried poll->topology and it doesn't seem to make much of a difference
Is there a way for NetXMS to make a map using lots of switches as a seed and then combine the results into 1 map?
#102
I was about to create a thread about this
LLDP does in fact work on most MikroTik devices but apparently not on CRS devices - and presumably others that utilize an onboard switch chip as opposed to software switching
If you try and poll the MAC database on a CRS you won't get anything. However if you instead use a bridge interface and put the ports in it this will work. Obviously not the greatest as you lose the dedicated switching features and will take a big impact to performance. It may very well be that the information is located in a different OID somewhere. If this could be located and implemented when using mikrotik driver this would solve the issue.
#103
Old forum posts show that remote network discovery was not available through agents. Has it been implemented yet?
We are an ISP with some managed networks but sometimes we take over an existing network and havn't reallocated IP's, hence we have overlapping IP ranges and sometimes they aren't reachable at all by our core. We can install a small device or VM in their network to provide agent reporting and monitoring, but we would ideally like to be able to map the network, at the very least see what device is connected to what port.
We can add devices manually but i'd ideally like for LLDP/CDP to work, as well as IP scanning if it has been implemented. Is this currently supported? Or any ETA as to when it will be?

Cheers