Pandora: Documentation en: Data Presentation/Visual Maps
- 1 Visual Consoles
- 1.1 Creation and access to visual consoles
- 1.1.1 Creating a visual console
- 1.1.2 Creation - General data
- 1.1.3 Creation - Wizard
- 1.1.4 Creation - Service Wizard
- 1.1.5 Creation - List of Elements
- 1.1.6 Creation and edition of Visual Consoles
- 1.1.7 Elements a map can contain
- 18.104.22.168 Static Image
- 22.214.171.124 Icon
- 126.96.36.199 Progress
- 188.8.131.52 Module graph
- 184.108.40.206 Pie and bars serialized graphs
- 220.127.116.11 Simple value
- 18.104.22.168 Event Histogram/AutoSLA
- 22.214.171.124 Service
- 126.96.36.199 Text Tag
- 188.8.131.52 Group
- 184.108.40.206 Boxes and lines
- 220.127.116.11 Clocks
- 18.104.22.168 Avdanced Options of each Element
- 1.2 Sharing a Visual Console
- 1.3 Macros in Visual Consoles
- 1.4 Full Screen View
- 1.5 Complete example of linked visual console
- 1.6 Favorite visual consoles
- 1.7 Visual Console Templates
- 1.1 Creation and access to visual consoles
1 Visual Consoles
Pandora FMS allows to build visual maps where each user defines their own way to visually represent the monitoring. The Visual Console editor allows the user, by dragging elements with the mouse, to visually design the final aspect, choosing the background and icons that represent the status of each relevant aspect you want to display. With Pandora comes a series of icons, but the user can easily customize their own. Different visual consoles can interact with each other, visualizing in a hierarchical way, the status of maps that are "below" in a top map, being able to abstract in this way, the monitoring and visualizing at high level, a whole series of elements.
These are real-life examples of visual consoles, as seen on a 40"screen:
1.1 Creation and access to visual consoles
To work with a visual map go to Topology Maps > Visual console. A list appears with all the maps created, to create a new one click on the "Create" button. On the list we can edit a map, delete it or "clone" an existing one to modify it.
Maps whose name begin with the characters "_", "," , "[" o "(" will be displayed in the left menu in the Visual Console submenu. This allows you to create a kind of quick view from the menu, keep this in mind when naming your visual console.
1.1.1 Creating a visual console
The editor's organization is composed of several tabs: The "Main data" tab, which contains the general data of the visual console, the visualization tab, several wizards, a full screen view access, a link to share the visual console with a third party through a URL, a list of elements contained in the visual console and of course, the visual editor with which we will work to build and edit the console:
1.1.2 Creation - General data
Here you can edit and create the basic data of the visual console. It'll be the only visible one to a new map until it's saved. The basic values it contains are: visual console name, ACL management group, and background image, which can be resized regardless of the size of the image. The background color is important because if the screen where the visual console is displayed is larger than the background image, it will fill in the rest with the background color selected here.
The background images are located in the Pandora's console directory, inside the directory:
You can upload your own images through the file manager that Pandora has integrated (Admin tools -> File manager).
Visual Console Access Permissions
The ACLs in the Visual Consoles imply that anyone who has reading permission to a visual console, because they have access to the group with the Visual Console (VR) flag, will see all the contents of the VC, even if there are elements of another group in it.
1.1.3 Creation - Wizard
The wizard allows you to add elements to the VC quickly and conveniently. You can create elements of various types, and we recommend that before creating many elements you use it with only a couple of them, so that you don't have any problems later when deleting the elements (although if you make a mistake it might be faster to delete the entire VC).
The most relevant element is the one that allows you to create one element per agent, or on the contrary, to create one element per module. In this way you can add dozens of elements that represent a complete agent, or an element of an agent, or show all the modules of different agents, creating many elements at once, which can be identified by the agent name, the module name or both. The interface is not complex to use and the easiest thing to do is to try with some elements and see how it works.
1.1.4 Creation - Service Wizard
The services wizard tab contains a small form to create several service type elements at once with just a couple of clicks. The selected services will appear in the visual console automatically placed with the selected icon.
1.1.5 Creation - List of Elements
This tab provides a form in rows of the items contained in the visual console you are editing. It's a quick way to edit the various items, and it's a useful tool for users who need to tune into certain item values.
The actions allowed in this form are: editing (but not changing the element type) and deleting elements (but not creating them). This action must be done in the Editor tab. Each row of this screen will be an element of the VC.
1.1.6 Creation and edition of Visual Consoles
This section contains most of the functionality of the Visual Console editor, and this is where the elements that make up a VC can be added and modified (except for the background image, which we saw previously).
At the top left, there are the different elements that we can include in a VC (from left to right):
Static image, progress, graph, histogram of events (AutoSLA), raw data, label, statusless icon, group, rectangle, line and service.
At the top right, the actions you can perform with an existing element: duplicate, delete, edit or activate a grid where you can "force" the placement of all elements.
Let's take a step by step look at the most relevant characteristics of the elements that can compose a VC.
1.1.7 Elements a map can contain
22.214.171.124 Static Image
This item displays a static image that will be displayed in four possible colors:
- Gay, for UNKNOWN status
- Green, for normal status (OK)
- Red, for CRITICAL status
- Yellow, for WARNING status
Depending on the status of the module, agent or map, it will show one or another image. In a normal Pandora installation they should be in:
And these files use a special nomenclature for these images:
<name_image>_<status>.png where the status can be:
- "": when the agent, module or visual console that it links has no status.
- "Bad":when the agent has a failed module, the module is in failure or the visual console that links contains some element in 'bad'.
- "Ok":when the agent, module or visual console that it links are correct.
- "Warning": when the agent has some module in warning, the module is in warning or the visual console that it links contains some element in warning.
A tag can be associated to the static image, or it can be left blank, that tag can be formatted and certain macros can even be added to the text (see below).
The static image can be associated to a specific module, to a whole agent (so that if it has at least one bad module will go to red and will only go green if all its modules are in normal state). The static image can also be associated with the general status of another visual console (see advanced options at the end of this chapter).
It is very similar to the static image, except that the selected icon will always appear in gray, as if it were in unknown. Often, icons that don't have status information are used, meaning they cannot be used as a static image, but as an icon. A simple image, such as a logo, for example.
Icons linking other pages
By means of the tag field and in case a complete URL address is entered, the icon can be linked to a web page. For example, to link a visual map icon to the SNMP console viewer, an icon type element must be created that has the full URL of the viewer as a tag field:
It can also be useful for linking to another visual console, for example, so that we can build "navigation icons" between our own visual consoles.
Progress type items allow us to see the status of a module in a very graphic and descriptive way. They can be progress bar, ball, donut or full doughnut type graphics.
Options of the percentile
The percentage bar has far fewer controls than the rest of the elements, but it has two controls that we will explain:
- Width: which will be the width in pixels of the selected element (stick, ball, doughnut/circular).
- Max value: is the maximum value that the module can have to represent. So it is interesting that you examine the module to be monitored well to see what is the maximum value, for example, in the case of the screenshot is the CPU module that goes from 0 to 100.
- Type: The type will allow you to define how to represent the element graphically (bar, ball, doughnut, etc.).
126.96.36.199 Module graph
Displays a graph in real time. It can be a graph of an ordinary data module, a combined graph or one of the graphs that obtain its value in tabular form, which can be of various types.
Options of a module graph
In the graph it is necessary to define the width and height, so it is no longer hidden in the advanced options to be displayed.
- Interval: the range of data that will display the graph from the current moment backwards, e. g. 1 day.
- Size: width and height of the image that the graphic will occupy on screen and the figures of the axes.
- Background color: White, black or transparent. This allows us to better fit it visually to our VC.
- Type: allows us to choose the type: module graph, combined graph or tabular graph.
- Agente/Modulo: if you have chosen a graph associated with a data series.
Graphs are not "previewed" in edit mode, so a white box is displayed instead.
188.8.131.52 Pie and bars serialized graphs
These two elements of the visual console allow complex pie graphs or vertical/horizontal bars to be incorporated into a visual console. Unlike a combined graph of the "pie" or "bars"type, these serialized graphs incorporate data from a single module, with a special format. We can only incorporate data from a "Text" module that contains series of data in the following format:
tag,value tag2,value2 tag3,value3 tag4,value4 ..
Up to a maximum of six elements. To create a module with this data it is recommended to do it with an agent plugin. This would be an example of a Linux local plugin that generates an XML for such a module. In this case we are using the REST API of Integria IMS to obtain data of the open incidents, separated by status:
#!/bin/bash #NEW echo New,`curl -s "https://support.mycompany.comintegria/include/api.php?user=external_api&user_pass=mysecret&pass=mysecret2&op=get_stats¶ms=opened,,1"` > /tmp/soporte2.tmp #UNCONFIRMED echo Unconfirmed,`curl -s "https://support.mycompany.comintegria/include/api.php?user=external_api&user_pass=mysecret&pass=mysecret2&op=get_stats¶ms=opened,,2"` >> /tmp/soporte2.tmp #ASSIGNED echo Assigned,`curl -s "https://support.mycompany.comintegria/include/api.php?user=external_api&user_pass=mysecret&pass=mysecret2&op=get_stats¶ms=opened,,3"` >> /tmp/soporte2.tmp #REOPENED echo ReOpened,`curl -s "https://support.mycompany.comintegria/include/api.php?user=external_api&user_pass=mysecret&pass=mysecret2&op=get_stats¶ms=opened,,4"` >> /tmp/soporte2.tmp #MOVED TO DEVELOPMENT echo Developing,`curl -s "https://support.mycompany.comintegria/include/api.php?user=external_api&user_pass=mysecret&pass=mysecret2&op=get_stats¶ms=opened,,5"` >> /tmp/soporte2.tmp #PENDING: echo Pending,`curl -s "https://support.mycompany.comintegria/include/api.php?user=external_api&user_pass=mysecret&pass=mysecret2&op=get_stats¶ms=opened,,6"` >> /tmp/soporte2.tmp echo "<module>" echo "<name>Support_Status</name>" echo "<type>generic_data_string</type>" echo "<data><![CDATA[`cat /tmp/soporte2.tmp| tr -d ' '`]]></data>" echo "</module>"
This will generate an XML similar to his one:
<module> <name>Soporte_Estados</name> <type>generic_data_string</type> <data><![CDATA[New,0 Unconfirmed,0 Assigned,43 Reopened,6 Developing,5 Pending,197]]></data> </module>
Which will show a graph like this one when interpreted (in the case of a pie graph type):
184.108.40.206 Simple value
This element allows the visual console to show the value of a module in real time. You only need to define a label (optional), and choose the agent and the module. To replace the value you must use the macro (_VALUE_). Several examples can be seen in the previous section.
If the module is a string type data, and contains a binary data encoded in Base64, it will display the image. It must start with "data:image".
220.127.116.11 Event Histogram/AutoSLA
Displays a horizontal bar, similar to the main agent view, where events that have occurred in the last 24hrs are shown for an agent or an agent/module combination.
It allows to represent (and provide a link to) the current status of a service. It also indicates the % of SLA compliance in real time.
18.104.22.168 Text Tag
This type of item can be used to create a text label without associated content. Contains text and HTML code (which can create an internal link or other advanced options).
It is a static image that represents the status of a group.
Editing of a group-type item
22.214.171.124 Boxes and lines
If you can't "customize" a background image, this is a simple but effective way to "customize" the look of your console, adding boxes of different colors and shapes to order and enhance the look of your visual console.
This item allows you to add to your visual console a dynamic clock, both analog and digital of any time zone, showing and updating the exact time at all times without having to reload the page.
126.96.36.199 Avdanced Options of each Element
By default the position is 0x0, where the first digit is the X axis and the second digit is the Y axis. These values are in pixels, and note that the axis is defined in such a way that on the Y axis it is inverted, where the upper part is 0 and grows downwards. The X axis is defined in the classical form, i. e. it starts at the left edge and grows to the right. This position is automatically changed by clicking and dragging an item.
The relationship between visual console elements is represented with lines between them. The color of the line depends on the state of the parent element.
188.8.131.52.3 Associated Map
Several elements can be used to "summarize" the status of another visual console. In this way, the status of the icon (Green, Yellow or Red) is shown using the status of the linked console. It is also possible to activate a link from the element to the visual console.
Ways to calculate the status of the linked visual console
- By Default
- It calculates the status based on the status of all elements, as an agent would do.
- By weight
- It calculates the status of the elements that have a visual console, a module or an agent assigned in relation to a percentage of elements configured by the user. This percentage is the one that has to exceed the number of elements of a non-normal status with respect to the number of elements taken into account in the calculation for that status to change.
- For example, given an element with a percentage of 50% and a visual console linked with 5 elements:
- - 1 critical, 1 warning and 3 normal -> Status normal.
- - 2 critical, 2 warning and 1 normal -> Status normal.
- - 1 critical, 3 warning and 1 normal -> Status warning.
- - 3 critical, 1 warning and 1 normal -> Status critical.
- - 1 critical, 1 warning and 3 unknown -> Status unknown.
- If several statuses exceed the weight, the priority is the same as in the rest of the status calculation (critical > warning > unknown). If there are no elements to perform the calculation, the status becomes unknown.
- By critical elements
- It calculates the status using the elements in critical status and the percentages of the thresholds defined by the user. If the number of elements in critical status with respect to the number of elements taken into account in the calculation exceeds the percentage assigned as warning, the status becomes warning. The same applies to the percentage assigned as critical, which also has preference.
184.108.40.206.4 Restricted access to a group
Selecting one will restrict the display of this item in the Visual Console for those users who don't have reading permissions over the group in question.
It will also be taken into account when calculating the status weight in a linked console: it will only be calculated on the elements that the user can see.
1.2 Sharing a Visual Console
It is possible to share a visual map with anyone, even if you don't have a username/password to enter Pandora. You can share the visual console with any user, simply by providing access via a public URL. To do this, from the console view, access the "share" tab (the camera icon at the top right), as shown in this screenshot:
This is a static URL and looks like this:
Share that URL with anyone, and you'll be able to access the information displayed in the Visual Console. The user will not be able to access from there any of the links or information of any agent, only the information published in the visual console. This is an excellent way share data with anonymous users
1.3 Macros in Visual Consoles
From version 7.712 it is possible to use keywords or "macros" that act dynamically, so when entering a macro in the text box when editing an element of the visual console, this macro will be replaced in the view mode by the data obtained from the functionality of that macro.
List of visual maps' macros:
_date_: Displays the date using the local PHP format.
_time_: Displays the time using the local PHP format.
_agent_: Displays the alias of the selected agent.
_module_: Displays the name of the selected module.
_agentdescription_: Displays the description of the selected agent.
_address_: Displays the ip address of the selected agent.
_description_moduledescription_: Displays the description of the selected module.
1.4 Full Screen View
One of the most important features of visual consoles is to allow automatic refresh and full-screen display. This has its most obvious application in large information panels. There is a control that allows you to define how often you want the screen to refresh. If you activate the "full screen" mode of a visual console, you will see the refresh time at the top on the right.
There is a similar functionality in dashboards, but they also allow you to rotate these screens, be it visual consoles or other types of dashboards. You'll see it in the chapter about dashboards.
You can see the service concept more clearly with the following example.
Chip Company is a company that sells computers over the Internet. Chip Company has three large departments:
- Online shop,
As you can see, there are three services offered to the customer: Online Shop, Support and, indirectly, Management. All services are critical to the business because if one fails, others can be affected, and the company could lose a lot of money, even customers.
In the end, in essence, what we want to know is whether we are fulfilling our customers' needs, because, as you know, a satisfied customer can mean more customers. That's why providing stable, quality service is so important.
To monitor Chip Company's services we need to know more about each of them.
The Online Shop service is responsible for ensuring that the store's website is online, that all product prices are correct, managing product categories, and so on. In general, make sure that all information about products and payment methods is correct on the website to facilitate the purchase process.
We are interested in the following parameters of this service:
The Support service has to resolve all possible queries that may arise to consumers with the equipment they have purchased. Some of the tasks of this department include: helping customers configure their configurations, managing computer replacements and parts, and managing equipment returns.
This service, like the Online Shop, is directly related to the customer, so both are very important for the image of the company from the customer's point of view.
From this department you want to monitor the following parameters:
The third service is that of Management which includes the departments of: Marketing, Commercial, Human Resources and others related to management. Their main task is to ensure that all internal company processes function properly. The services offered by this department are crucial as they coordinate the other departments.
The most important parameters of the Management service are:
To represent these services we can link several maps with the help of the Visual Console of Pandora FMS and the images that describe the hierarchy of Chip Company.
The data from these maps are calculated in real time, so we will always know the status of the services at all times. The first thing we did was map each service independently.
The following image shows a visual console that simulates the Online Store service map with the status of all its parameters. As you can see the parameter Updated Content has a red dot which means that it has a problem. On the other parameters we can say that they are correct because they have green dots. The back arrow is used to go to the general map below.
If you want to know more about the problem, you can click on the red dot and you will see the technical view with which you can know more about the problem. This technical view shows the data collected by Pandora FMS from sources such as: CRM, ERP, SAP, Databases (MySQL, Oracle, etc), including devices such as PC, servers or routers.
We also made other maps for the Support service you can see in the image below. As you can see all the important parameters of the Support service are correct as they all have green dots.
To finish with the service maps we created a map for the Management service, which you can see in the following image. Again the map shows the most important parameters with their corresponding points, in this case all the points are green which means that all the parameters of the service are correct.
In addition, we created a general map with all Chip Company services as shown in the following image. On this map you can see Chip Company's service hierarchy with the states of each state. If you click on one of the status reporting points you will see the specific map of each service. With all these maps we have created a complete navigable view of Chip Company's services. The status of each service is the same as shown on the specific maps of each service, as you can see Management and Support are correct, but Online Shop has problems. As you can see, the state of services is scaling within the hierarchy to the top, propagating the state.
1.6 Favorite visual consoles
The options of favorite visual consoles allow you to have shortcuts from the menu bar or to access to a list of visual consoles marked as favorites.
To mark a visual console as a favorite, we must mark the favorite visual console checkbox when creating or editing it in its main editing section:
To modify the options of favorite visual consoles we have to access to the Setup section -> Visual Styles from the sidebar menu.
- Type of view of the visual consoles:The section of visual consoles by default will be the complete list of visual consoles or only the favorite ones
- Number of visual consoles to be displayed in the menu: Number of visual consoles to be displayed in the sidebar menu.
In case of entering a number in the number field of favorite visual consoles, then these will be displayed in such a way:
Section of all visual consoles:
Single section of the favorite visual consoles:
1.7 Visual Console Templates
The main idea is to be able to select a visual console that we have already made, and export it to be used as a template, keeping all the elements of the visual console.
To create a visual console template, in the templates section there is a form in which we must select an existing visual console from which we want to create the template, we can enter the name of the template and choose a group to which the template will be applied:
Once the template is created, we can apply it to as many agents as we want. A visual console will be created for each agent selected. To do this, we select the template. Then we choose a name. If we leave it blank it will be generated with a default name composed by the template name and the agent name. It must be borne in mind that the names of the modules of these agents must coincide with those of the template.
We select the agents on which we want to apply the template:
After creating the template, if you want to make any changes, you must make them on the chosen visual console and re-create the template.
Once you have applied our template, you will create the visual consoles which will appear in your list.
If the template is created through a favorite visual console, all visual consoles created from this template will also be favorites:
In order to make the use of templates more dynamic, we can add macros to the labels of the elements of the visual consoles: _agent_ and _agentalias_ replacing them with the name and alias of the agent.
Example of template creation:
We create a visual console with two simple graphic elements, in which we select an agent and a module. In this case, as a label we add a macro with the agent name.
In the following image we see the result:
We will create a template using this visual console as a base.
We have already created the template and now we can apply it through the template wizard. To do this, we select the template. Then we choose a name. If we leave it blank it will be generated with a default name composed by the template name and the agent name. It must be borne in mind that the names of the modules of these agents must coincide with those of the template.
If we go to the list of visual consoles we can see that the new visual consoles created through the template appear.
Select a visual console from the list to check the result: