Discovery
Discovery PFMS was updated to version 777, all its tasks were automatically migrated to the new Discovery .disco PFMS.
What is Pandora FMS Discovery?
Version NG 773 or later.
Discovery PFMS provides a set of tools to simplify monitoring through wizards.
- Tasklist: The Pandora FMS Discovery tool allows you to see a list of all the tasks scheduled in our environment, both at the console level and at the server level.
- Host & devices: It includes the necessary tools to discover or import devices and computers on the network.
- Console Tasks: It includes the necessary tools to execute scheduled tasks from the Pandora FMS console, such as: - Backups of the Pandora FMS database. - Execute PHP functions. - Execute custom scripts. - Save custom reports. - Send personalized reports (from a template) by mail. - Send personalized reports by mail.
- Applications: It includes the necessary tools to monitor different applications from plugins loaded in the system, such as MySQL®, Oracle® or VMware®.
- Cloud: It includes the necessary tools to monitor different cloud environments from plugins loaded in the system, such as Amazon Web Services® or Azure Microsoft Compute®.
- Custom: It includes the necessary tools to monitor different environments or custom applications from plugins loaded in the system.
- Manage disk packages: The Pandora FMS Discovery tool allows you to load plugins from
.disco
packages that can be used to monitor environments or applications.
See also .Disco development
Task list
The Discovery Pandora FMS tool allows you to see a list of all the tasks scheduled in the environment, both at the Web Console level and at the server level. These tasks are distributed in blocks, depending on the type of task configured.
- Console tasks.
- Host & devices tasks.
- Application tasks.
- Cloud tasks.
- Custom tasks.
Console tasks
For each console task listed we will see:
- User: Who created the task.
- Task: Summary of the task.
- Scheduled: Calendar planning.
- Next Execution: Specifies the next execution.
- Last Execution: Indicates when it was last executed.
- Group: The group to which it belongs.
- Operations: Shows the actions that can be performed for the current user: edit, delete or disable.
- Console ID: To balance the load in the execution of tasks, you can declare and add consoles in the
config.php
section. Use the Console ID to identify and assign those consoles when creating or editing Console Tasks.
- Version 770 or later.
- You can indicate the console that will execute the task by Console ID.
- Each console has its own CRON that executes the respective tasks. You can only force the execution of a console task in its respective button. For example, if you have two consoles named A and B, these consoles work independently of each other, both are incommunicado with each other.
- See also Manage Consoles.
- See also Consoles dedicated to reports.
Create or edit console tasks
To create a Console task go to the Management menu → Discovery → New console task.
To edit a Console task go to the Management menu → Discovery → Task list and click the pencil icon corresponding to each task.
In both cases the interface is the same except for the respective button to create (Create) or edit (Update) and save the changes.
The common fields for each task are:
- Scheduled: Periodicity of the task, daily (Daily), every hour (Hourly), monthly (Monthly), once (Not scheduled , see next point), weekly (Weekly) and annually (Yearly).
- Next execution: Next execution of the task, select date in the first field and time in the second field (pop-up menu when clicking on each one).- Group: Group to which the task will belong.
The parameters to fill in change depending on the task you choose from the Task drop-down list:
- Backup Pandora FMS database
Pandora FMS database backup task:
Save to disk in path: Path in which the information backup will be stored.
Active backups: Specific number of backups to keep to conserve storage space.
- Call PHP function
Function execution task written in PHP language:
Function name: Name of the PHP function to be executed once or periodically.
- Execute custom script
Script execution task
Custom script: Name of the script to execute.
- Save custom report to disk
Custom report generation and saving task.
Report pending to be created: Custom report (drop-down list) from which this report will be generated. See “Creating a (custom) report”.
Save to disk in path: Path where the created report will be stored (the apache
user must have read and write rights to that directory)
File name prefix: Name prefix for successive reports.
Report Type: To be saved in XML, PDF, JSON or CSV format.
- Send CSV log
Task for sending event records (logs) in CSV format, by email.
Send to e-mail: Mailbox to which to send the event records (logs) in CSV format.
- Send custom report (from template) by email
Reports (created from a template) to be sent by email:
- Personalized template for report creation, Template pending to be created.
- Information of the Agents for the report, Agents; if you want to generate separate reports for each report, Report per agent.
- Email addresses (separated by commas) to send the report, Send to email addresses.
- Subject of the email to be sent, Subject.
- Body of the message with which the reports will be sent, Message .
- Type of report that will be sent, Report Type.
- Send custom report by email
Reports to be sent by email:
- Custom report (see “Creating a report” ) for report creation, Report pending to be created.
- Information of the Agents for the report, Agents; if you want to generate separate reports for each report, Report per agent.
- Email addresses (separated by commas) to send the report, Send to email addresses.
- Subject of the email to be sent, Subject.
- Body of the message with which the reports will be sent, Message .
- Type of report that will be sent, Report Type.
Host & devices tasks
For each task listed:
- Force: Force execution.
- Task name: Name.
- Server name: Server that will execute it.
- Interval: Time interval in which it will be carried out.
- Network: Network where the checks will be carried out.
- Status: Status of the scheduled task.
- Task type: Type
- Progress: Progress, if running.
- Updated at: Last update.
- Operations: The icons allow you to perform actions such as editing or deleting the task, among others. As of version NG 752, an icon is available that allows you to enable or disable each task in the task view.
Applications tasks, cloud tasks and custom tasks
For each task listed:
- Force: Force execution.
- Task name: Name.
- Server name: Server that will execute it.
- Interval: Time interval in which it will be carried out.
- Status: Status of the scheduled task.
- Task type: Type.
- Progress: Progress, if running.
- Updated at: Last update.
- Operations: The icons allow you to perform actions such as editing or deleting the task, among others.
Discovery Host&Devices
NetScan
NetScan allows you to discover devices on a network and apply different monitoring rules to them.
When creating a task, the group to which it will belong is established in advance and you must select, in recognition, between uploading a file in CSV format with the specific devices to be checked (Use CSV file definition:) or the network (Network:).
Intervals selected as manual will need to be launched manually. Discovery will not launch a manual task automatically.
- Auto discover known hardware: Auto discover known hardware dynamically applies the added templates thate have been added via Private Enterprise Number.
- Modules templates: Try to apply the modules of the selected templates. If the execution fails the test, they will not be added to the watch list.
- Review results: The user must validate the results by selecting which agents will be created from those found by the discovery task.
- Apply autoconfiguration rules: Applies the previously defined auto configuration rules to the detected agents.
Automatic configuration allows you to apply policies, group and configuration changes, as well as launch custom events or execute scripts on actions.
The agents detected by NetScan are remote agents without a configuration file. You won't be able to apply local monitoring policies or add configuration changes in bulk if you don't deploy an agent to the targets.
- SNMP enabled: To complete the information obtained from discovered network devices, SNMP must be enabled. This improves detection by scanning available SNMP information on discovered targets. By enabling this token, two additional options will appear:
- SNMP version: The SNMP version (1,2, 2c and 3) configured in the scanned network devices must be selected.
- SNMP communities to try with: The community configured in the environment must be indicated. You can add as many communities as you need in the next box.
- WMI enabled: WMI scanning can be enabled. The credentials must be selected in Credentials to try with, which were previously loaded into the keystore.
The different credentials provided will be tested against the detected targets that support WMI, complementing the monitoring with modules that will report on the use of CPU, memory and disk.
- OS detection: Detect the operating system of the target.
- Name resolution: Resolve the name of the target.
- Parent detection: Through the information collected through SNMP, the different interconnections between devices will be calculated, in order to represent their network infrastructure.
- Parent recursion: Improves parent detection by adding recursion to the process.
- VLAN enabled: Detects the VLANs to which the different devices are connected.
After the wizard completes, Discovery will start running it at each defined interval. If the interval is manual, the task must be started manually.
Once the task is finished, if accessed from Review, you will see a summary of the devices found and that respond to ping or fping and the rest of the metrics available through SNMP or WMI. All IP addresses will be displayed, each in one of these two states:
- Disabled: An agent or module already exists in the environment being monitored and it will not be created or modified.
- Enabled: It is a new element that is not being monitored or within the metrics that are obtained a new module has responded that will be seen in a drop-down. In the devices that are in this state, you can select to add it to the list of monitored agents or if you want to add any of the new enabled metrics.
Once the objectives to be monitored have been selected, the system will create them systematically. During this process, the target's operating system will be detected to complement the information already collected.
Automatic agent deployment
The steps to deploy Software Agents from the Console are:
- Register the versions of Software Agents to be deployed in the agents repository: You will need the installers of the agents to be deployed. You can also use custom agents.
- Register the credentials that will be used to connect to the targets in the credentials manager: You will need to specify the credentials with which access to the found or specified targets will be tested.
- Scan, add or load targets.
- Deploy Software agents with Task list element.
This system does not perform PUSH type operations; all deployments are broadcast offering the software and ordering the target to install it.
Custom NetScan
It allows the execution of custom scripts for the execution of network recognition tasks.
Please specify:
- Task name: Name of the recognition task.
- Comment: Allows you to add comments.
- Discovery server: Server that will execute the task.
- Group: Group to which it belongs.
- Interval: Execution interval.
Once the task creation process is completed, it will be necessary to specify the script that you want to run, as well as the configuration file necessary for its execution.
Applications, cloud and custom
Version NG 773 or later.
With Pandora FMS it is possible to monitor applications and cloud environments remotely using Discovery PFMS.
To do this, it will be necessary to load the plugins that you want to use for monitoring, which may be custom or official Pandora FMS plugins.
These plugins are loaded in ''.disco'' packages which will include their own configuration interface and executables necessary for proper operation.
Creating and editing tasks
When creating or editing a task for applications, cloud or custom, the form that we must fill in will be adjusted according to the plugin used in the task. This means that, for example, the VMware task form will be different from the XenServer task form.
However, for all tasks, a minimum necessary information must be indicated.
- Task name: Name.
- Description: Description of the task.
- Discovery server: Server that will execute it, mandatory parameter.
- Group: Group.
- Interval: Task execution interval.
- Timeout: Expiration time for the execution of the task scripts.
Once this minimum information is filled in, the following steps of the form will be adjusted according to the plugin used, being able to have tasks with more configuration steps than others.
During the definition of the task we can go from one step to the next using the Next button, which will update the parameters of each step for the task.
We can also finish the definition of the task using the Complete setup button, which will update the parameters of the step in which we are and mark the task as fully configured so that the server can execute it.
A task that has not been completely configured will not be executed by the Pandora FMS server, which is why the last configuration step of any task will always only give us the option of the Complete setup button.
When a task is not fully configured, it will be displayed in the task list with an icon indicating so.
Task execution result
When a task has finished its execution, from the list of tasks we can see the result of it.
All completed tasks will have a status associated, which may be:
- Done: The server has completed the task without encountering any errors during its execution.
- Failed: The server has encountered at least 1 error during the execution of the task.
For any completed task, we can consult its execution summary, which, depending on how the plugin used for the task is defined, will be displayed with different information.
In the cases in which the task ends with a failed status, we can also see the execution summary to check the errors produced.
The result of a task execution will always depend on the plugin used by it, so it is possible that even having finished with a failed status, the task is capable of generating monitoring for a set of agents.
Applications
The applications available to officially monitor with Pandora FMS are:
- DB2®.
Cloud
The cloud environments available to officially monitor with Pandora FMS are:
Custom
Pandora FMS currently does not have official custom plugins.
Manage disk packages
This section allows plugins to be loaded from .disco
packages that can be used to monitor environments or applications.
Version NG 773 or later.
From the console you can see the list of plugins available for Discovery PFMS and you can load new ones, whether they are official Pandora FMS or customized.
For each listed plugin:
- Name: Name of the plugin accompanied by an icon that allows distinguishing it. This name and icon are what the plugin will be displayed with when creating new tasks.
- Short name: Identifier name of the plugin. This name is a unique identifier that allows distinguishing the plugin from others, so there cannot be more than one plugin with the same short name loaded in the system. Short names that start with
pandorafms.
are used by Pandora FMS to distinguish official plugins, so short names that start like that should never be used for custom plugins. In addition, these short names are used to name the directory that will contain all the files needed by both the console and the Pandora FMS server. - Section: Section of the Discovery interface in which the plugin will be displayed to create and list tasks. It can be app, cloud or custom so that the plugin tasks are inside Applications, Cloud or Custom respectively.
- Description: Additional information about the plugin.
- Version: Version of the plugin loaded.
- Actions: You can delete a plugin from the list (along with all the tasks that use it) or manually synchronize the plugin files found in the console with the Pandora FMS servers in the environment.
File Synchronization
For the tasks of a plugin to work, it is necessary that both the console and the Pandora FMS server have the content of the .disco
package in an accessible directory.
That is why the list of plugins includes the action button to synchronize the files with the server in each plugin.
Since the console is in charge of uploading new .disco
files, it is the same console that is in charge of synchronizing the necessary files with the server.
The moment a .disco
file is loaded, the console automatically synchronizes the files with the server. However, if necessary, the button to synchronize the plugin files will force the synchronization to be carried out at that moment when it is pressed.
Files in the console
As an entry point, the console stores the files for each plugin in a directory with the short name of the plugin inside:
pandora_console/attachment/discovery
For example, the directory for the pandorafms.vmware
application would be:
/var/www/html/pandora_console/attachment/discovery/pandorafms.vmware
If the minimum necessary files are not found for a plugin within its directory, the following icon will be displayed, preventing file synchronization with the server, and it will be necessary to upload its .disco
package again to solve the mistake.
Files on the server
In order to execute the tasks defined for a plugin, the Pandora FMS server must have the plugin files.
To achieve this, the console synchronizes the files of each loaded plugin with a directory accessible by both the console and the server.
Said directory, called discovery
, is found within the one configured in the general configuration of the Pandora FMS console, in the Remote configuration directory field.
By default, the route in which the console would synchronize the files with the server would be:
/var/spool/pandora/data_in/discovery
Within this directory, one will be created for each plugin, using their short names, and inside the plugin files that the server may need.
For example, the directory for the pandorafms.vmware application would be:
/var/spool/pandora/data_in/discovery/pandorafms.vmware
See also .Disco development