I'm not sure, but I believe that what you want is already built into zenoss using the google maps api. I built this zenpack because we wanted to throw in isometric views of our buildings and specify where every switch and access point was on each floor. Not something google maps supports.
thx for the great Map.zenpack.
Have installed it and uploaded a background, but how can i use the Map for monitoring?
Is there a ducumentation available how to use?
i added some devices but i can´t get any Status informations from device???
is it possible to generate more maps with your zenpack and order them into mainmap and downdrill submaps?
How can i use the map for monitoring? i it possible to change it against normal Network Map?
THX for support
Currently there is no documentation available, and parts of the zenpack are a complete hack... If anybody wants to write some documentation or provide some patches, they are welcome
The zenpack uses the location tree to determine what possible children can be added to the map. If you set the location of the devices to be at the same location the map is, then you should be able to use the dropdown box to add those devices.You can also add other locations, if you have created a map for them.
The primary view of the finished product is a dashboard widget that you should be able to add. the devices that are up should show as green, the ones that are down show as red.
thx for your response...
I have uploaded my customized Map (PNG) to Locations/wettersystem
I have already set the devices to the Location "wettersystem" ..but what do you mean by setting the map to the same location??
How can I set the map to the same Location?
Could you please explain me in more detail??
For what do i need to set/update "customMap/customMapImages?func=getembeddedimg"???
what does it mean?
wenn i add some devices to the map i still can decide between the devices which i have defined to the location,
but the the objects appear grey (no grenn or red ) altough they are online???
when i try to add a second customized MAP in location location/wettersystem/subsystems I always get the Error message
what is wrong... what do i have to set?
I apologize for the confusion. The map has an inherent location (because of what location you are at when you go to the Custom Map tab). In order to add devices to a map, they have to be set to the same location that the custom map is.
One of the things that the zenpack install is supposed to do is set up the data object at every location, but for some reason, it frequently fails. As far as I can tell, its non-deterministic, and until somebody smarter than me can tell me why, I'm stuck with putting in checks that keep the class from butchering its own data. Thats what that error message is indicating. There is a hack in place that will attempt to fix it. Whenever you visit the custom map tab of the parent location, it checks all its child locations and attempts to (re)fix them if they have an odd state. If that doesn't work, then you can try something like the following in zendmd:
from ZenPacks.USU.Map.CustomMap import CustomMapObject
loc = dmd.getObjByPath('/zport/dmd/Locations/insert/path/to/location/here')
loc.custom_map = CustomMapObject(loc)
In the map editor (the Custom Map tab), all objects are grey. I suppose I could make them take on the proper color, but I didn't bother. The finished rendered map is meant to be viewed on the zenoss dashboard. There should be a custom map portlet that you can add to your front page. If you want to imbed the map somewhere else, then add the custom map portlet, and then copy the address of the iframe that it uses. You can view it independantly or put it in another website if you wish.
is there is any way to uninstall this zenpack because i cant remove it
[zenoss@utg-zenoss-01 ZenPacks]$ zenpack --remove=ZenPacks.USU.Map
ERROR: zenpack command failed. Reason: TypeError: remove() takes exactly 2 arguments (3 given)
Thats odd, the documentation only says it needs the two arguments. You can always try adding in an extra bogus argument in the __init__.py at the base of the zenpack around line 92 or so (depends on the version you have):
def remove(self, app, bogusarg):
failing that, open up zendmd, and try to call it directly:
from ZenPacks.USU.Map import ZenPack
If that still doesn't work, you can remove it manually by removing the customMapTab action for the factory_type_information attribute of each location, and deleting the custom_map attribute of each Location object as well. I would do some research on manually ripping out zenpacks themselves, but that is how you can clean out the zope database.
I hava install the zenpack ,but how can i use the zenpack for monitoring?
is there a ducumentation available how to use?
Currently, there is no documentation. The basic premise of this zenpack is that it allows you to create your own map, with your own background and your own icons to represent each object. It has a built-in map editor that uses ajax and the canvas tag that allows you to create the maps in your browser. You can then load the custom map dashboard widget to see the rendered maps. The dashboard widget will also allow you to click on submaps to parse through the Location tree. The default icon set that is included in the zenpack show things as green, yellow, red, or grey, depending on their state. The map editor itself always shows icons in grey.
All I can say is that if you are curious, set up a new instance of zenoss and try it out. It is mostly intuitive. As the above posts show though, some of the install and uninstall code is unstable, mostly because that is probably the feature i use least . I will try to be available to answer any questions you may have about it though. Who knows. I may even find time to fix some of the install/uninstall issues. Part of the reason I started this thread was try and answer some questions I had about the install/uninstall process, and so far, nobody seems to know the answers, so I am pretty much in the dark.
Thats so that the map can draw arrows indicating the amount of traffic. At least one of the devices has to have interfaces on its OS tab in order for that to work. If it does, then I imagine you have found a bug. I should change it so that that option isn't available if there are no interfaces.
First, is there is any way to specify the thickness level of the links?
Second, I'm having trouble setting the edge interface. When i try to set it the dialogue appears to hang and it only display the loading dialogue. See the attached screen.
It looks like it is attempting to load the available interfaces of the two attached sides. I would check to make sure that the os tab for the two connected devices has a valid list of interfaces.
Can you tell me what the output of custom_map/customMapInterface?func=getInterfaces&node=Passport Barceloneta and custom_map/customMapInterface?func=getInterfaces&node=Gabinete Aires CETA when you add those to the end of your browser url?
There aren't any options for changing the thickness of the lines, although it wouldn't be difficult to add. The backend code already supports it, it just needs to be in the user interface.
---With the output of custom_map:
---Both produce the same error see GetInterface-Errors.txt
---in Screenshot-Mozilla Firefox.png shows the output of /Locations/Barceloneta interfaces that shows the interfaces for the location Barceloneta
---In Passport Barceloneta Interfaces.png shows the device interfaces. As i see the function only display interfaces with descriptions on it.
One of the most Irritating things about zenoss is that when your code throws a KeyError (or was it AttributeError?), the web interface reinterprets that as meaning that the page wasn't there and gives you useless error message that doesn't tell you which line of code actually threw the error, since it doesn't know if it is my code or zope code that did it.
Basically, I need to know which line of code in the getInterfaces function is throwing the exception, and what the actual exception was. in zendmd, can you run the following code?
dmd.Locations.Barceloneta.custom_map.getInterfaces('Gabinete Aires CETA')
Hopefully those lines will throw a real exception and actually give you some details of where the error occurs.
As fare as the Barceloneta node itself, yes, it should be filtering out nodes without descriptions on it. I did this to filter out extra interfaces since our devices automatically tack on an interface description if you don't set one manually. it makes it nice to filter out the ones that that are automatically generated (virtual interfaces, vlans, etc). In the _getInterfacesByDevice method of CustomMap.py you can remove the line that says
If you want to get rid of this behavior. I think I will remove it in my repository as well.
Follow Us On Twitter »
||Latest from the Zenoss Blog »||Community||Products||Services||Customers||About Us|
Copyright © 2005-2011 Zenoss, Inc.