Home

Documentation

image

Contents

1. default no operation mapper mapper echo 17 Source 4 4 Merge Source The merge source allows to merge two provided requisitions accessed by URLs You can also use provided resources by PAIS recursively The example below shows how to configure the merge requisition for two requisitions A and B ParaRadaired escription source setto merge to configure this requisition as a merge requisition source A uWBL to the requisition A source A usgername for access source A poassward for access source B uWBL to the requisition B source B usgername for access source B peassword for access source A ki tjia parameter is present in the config all nodes from requisition A will be present in the resulting requisition source B ki thia parameter is present in the config all nodes from requisition B vvill be present in the resulting requisition This source is reading two already defined requisitions via HTTP and merges them into one new requisition By default the resulting requisition will contain all nodes that are present in both requisitions identified by the foreignid The A Node from requisition A is enriched with the data from B Node Example configuration for a merge requisition File merge requisition properties This example merges two requisitions source merge source A url http localhost 8000 A source A keepAll source B url htt
2. 16 Source description AS Asset Description INET NTOA ip addr AS Ip Address owner AS Cat FROM ipaddresses default no operation mapper mapper echo Example configuration to import nodes from another OpenNMS database File opennms requisition properties This example connects to an OpenNMS PostgreSQL database and imports the data and maps the result a new OpenNMS requisition source jdbc jdbc source parameter to connect against PostgreSQL source driver org postgresql Driver source url jdbc postgresql localhost 5432 opennms source user opennms source password opennms source selectStatement SELECT node foreignId AS Foreign_Id N node nodelabel AS Node Label ipinterface ipaddr AS IP Address ipinterface issnmpprimary AS MgmtType ipinterface ipstatus AS InterfaceStatus assets description AS Asset_Description assets city AS Asset_City assets state AS Asset_State service servicename AS Svc categories categoryname AS Cat FROM node LEFT OUTER JOIN ipInterface ON node nodelId ipInterface nodelId LEFT OUTER JOIN ifServices ON ipInterface ipAddr ifServices ipAddr LEFT OUTER JOIN service ON ifServices serviceld service serviceld LEFT OUTER JOIN category node ON node nodeld category_node nodelId LEFT OUTER JOIN categories ON category node categoryld categories categoryld LEFT OUTER JOIN assets ON node nodeld assets nodeld
3. scriptsteps default reverseDNS groovy requisitionRename groovy IgnoreNodeByCategory groovy custom myScript groovy How to add script steps File requisition properties source configuration part SOUrTCe wuss Run a no operation mapper mapper echo run script step 32 Script Steps script file scriptsteps default requisitionRename groovy scriptsteps default IgnoreNodeByCategory groovy Example script step 1 quisition to the value in the newName import org opennms pris model Requisition import org opennms pris model RequisitionNode logger info starting requisitionRename groovy String newName myNewRequisitionName Boolean newBuilding false true requisition setForeignSource newName if newBuilding for RequisitionNode node requisition getNodes node setBuilding newName logger info done with requisitionRename groovy return requisition Example script step 2 import org opennms pris model Requisition import org opennms pris model RequisitionNode import org opennms pris model RequisitionCategory import org opennms pris util RequisitionUtils logger info starting IgnoreNodeByCategory groovy final String IGNORE CATEGORY ignore List lt RequisitionNode gt nodes new ArrayList lt gt 33 Script Steps for RequisitionNode node requisition getNodes 1 if Requi
4. Foreign_Id Cat will be interpreted as a surveillance category for the node identified by the Foreign Id ys will be interpreted as a service on the interface of the node identified by the Foreign Id and IP Address field This source also supports all asset fields by using Asset as a prefix followed by the asset field name The city field of the assets can be addressed like this yourvalue AS Asset City and is not case sensitive Every row of the result set will be checked for the listed column headers The provided data will be added to the corresponding node Multiple result rows with matching Foreign_Id will be added to the same node opennms pris lib directory andsetthe source driver and source url accordingly E To use additional JDBC drivers just drop the JAR files into the Example configuration to import nodes from phplPAM MySQL database into OpenNMS File phpipam requisition properties This example connects to an phpIPAM MySQL database and imports the data and maps the result an OpenNMS requisition Hint the MySQL driver has to be manually installed to the opennms pris lib directory source jdbc jdbc source parameter to connect against phpIPAM on MySQL source driver com mysql jdbc Driver source url jdbc mysql phpipam foo org phpipam source user user source password secret source selectStatement SELECT id AS Foreign_Id dns_name AS Node_Label P AS MgmtType
5. data is normalized to the OpenNMS requisition model and can be consumed from OpenNMS provisiond It is highly specialized to enrich the requisition model with SNMP information i e SNMP interfaces generic SNMP attributes like system location system contact and system description Besides that Provisiond can also run service detectors against IP interfaces and allows to run policies to control the monitoring behavior Pris is an instance in front of Provisiond it allows to aggregate information from different sources and manipulate them in a flexible way The output from PAIS is provided as XML over HTTP and can be used in Provisiond to import and discover services and SNMP data from In OpenNMS a requisition is a set of nodes networked devices that you want to import into OpenNMS for monitoring and management You can assign in OpenNMS services detectors and policies to model the network monitoring behavior For this reason a good practice is to organize nodes with a similar network monitoring profile in a requisition The PRIS components are shown in Section 1 1 Overview 1 1 Overview External Inventory Figure 1 1 OpenNMS PRIS overview The components from left to right are described as followed Introduction I OpenNMS Provisiond This is the internal daemon responsible to get nodes networked devices into OpenNMS Provisiond scans for SNMP information network services and has to model the network monitoring
6. if requisition getNodes size 0 throw new Exception The requisition had no nodes The failOnEmpty groovy script is failing the request on purpose logger info done with failOnEmpty groovy return requisition Example script step 5 regards to Assets import org opennms pris model Requisition import org opennms pris model RequisitionNode import org opennms pris model RequisitionAsset import org opennms pris util RequisitionUtils import org opennms pris model AssetField 1 12 S Ss Ss S S S import org opennms pris util AssetUtils logger info starting OpenNMS Assets 1 12 groovy List lt RequisitionAsset gt assetsToRemove new Arraylists 35 Script Steps for RequisitionNode node requisition getNodes 1 for RequisitionAsset asset node getAssets if asset getName equalsIgnoreCase managedObjectInstance asset getName equalsIgnoreCase managedObjectType assetsToRemove add asset logger info Remove from node the asset with the value node getNodeLabel asset getName asset getValue else for AssetField 1 12 assetField AssetField 1 12 values 1 if asset getName equalsIgnoreCase assetField name 1 String assetValue 1 12 AssetUtils assetStringCleaner asset getValue assetField maxLength if lassetValue 1 12 equals asset getValue logger info For node asset was cha
7. in a ready to use form in those cases the echo mapper can be used Complex sources like the ocs Sources provide OCS specific models and require their own specific mappers A mapper is configured in the requisition properties for the requisition opt opennms pris requisitions myRequisitionConfiguration requisition properties 5 1 No operation echo mapper The echo mapper is a mapper that forwards the result of the source verbatim That requires the source to provide a ready to use requisition and not a custom model This mapper does not change the result of the source 5 2 Empty requisition mapper The null mapper is a special mapper that just provides an empty requisition This can be useful to handle the entire mapping between the result of the source and the OpenNMS requisition in a script step 5 3 OCS Mapper Mappers are used to map the bifurcated OCS data model centered around computers and SNMP devices to the unified OpenNMS data model for provisioning nodes interfaces services and assets The OCS integration provides one default mapper for computers and one for SNMP devices out of the box Additionally it provides for script based mapping via script steps The default mappers for OCS area simple way to map computers and SNMP devices to OpenNMS nodes 24 Mapper 5 3 1 OCS Computers To use this mapper configure your requisition config to use ocs computers as mapper This mapper requires a check
8. mapping Asset_vendor Asset_vendorAssetNumber Asset_vendorFax Asset_vendorPhone Asset_vmwareManagedEntityType Asset_vmwareManagedObjectId Asset_vmwareManagementServer Asset_vmwareState Asset_vmwareTopologyInfo Asset_zip 31 Chapter 7 Script Steps After the mapper has delivered its requitition multiple script steps can be used to customize the result These script steps can change the requisition initially provided by the mapper Script steps provide a requisition as their results which allows the chaining of script steps Every script step has access to the latest version of the requisition The first script step reads the requisition from the mapper The second script step reads the requisition provided by the first script step and so on Additionally every script step can access the configuration of PRIS and the raw result of the source The script steps are executed by the JVM following the JSR 223 specification Therefore all JSR 223 supported languages can be used to write script steps By default runtimes for Groovy 2 3 3 and Beanshell 2 065 are provided out of the box Every script step has to provide a Requisition object as its result For every request of a requisition each script step is reloaded Script steps are configured in the requisition properties for the requisition opt opennms pris requisitions myRequisitionConfiguration requisition properties
9. repository value opt opennms share rrd response Ja lt parameter key rrd base name value dns 2 lt parameter key ds name value dns gt lt service gt If there s no suitable syntax highlighter just omit the language source Currently the following syntax highlighters are enabled 45 Documentation guidelines e Bash e Groovy e Java e JavaScript e Python e XML For other highlighters we could add see https code google com p google code prettify 8 12 2 Fetched from source code Code can be automatically fetched from source files You need to define e component the artifactid of the Maven coordinates e source path to the file inside the jar its deployed to e classifier sources or test sources or any other classifier pointing to the artifact e tag tag name to search the file for e the language of the code if a corresponding syntax highlighter is available Note that the artifact has to be included as a Maven dependency of the Manual project so that the files can be found The file will be searched for lines including START SNIPPET tag and END SNIPPET tag the lines between those will go into the output Be aware of that the tag abc will match abcd as well It s a simple on off switch meaning that multiple occurrences will be assembled into a single code snippet in the output This behavior can be user to hide away assertions from code examples sourced from test
10. the AsciiDoc format see e Aciidoc Reference AsciiDoc FAQ e AsciiDoc cheatsheet e AsciiDoc Cheatsheet Here you can find other resources to get familiar vvith AsciiDoc see AsciiDoc User Manual e AsciiDoc Maven Plugin e AsciiDoc discussion list AsciiDoc issue tracker Docbook to AsciiDoc e How to create handsome PDF documents without frustration 1 The cheatsheets are really useful http issues opennms org browse PRIS component 1 1369 https github com OpenNMS opennms provisioning integration server blob master README md http www methods co nz asciidoc http www methods co nz asciidoc faq html http powerman name doc asciidoc http xpt sourceforge net techdocs nix tool asciidoc syn ascs01 AsciiDocMarkupSyntaxQuickSummary single http asciidoctor org docs user manual http asciidoctor org docs install and use asciidoctor maven plugin https groups google com forum fromgroups forum asciidoc http code google com p asciidoc issues list TI https github com oreillymedia docbook2asciidoc http blog rainwebs net 2010 02 25 how to create handsome pdf documents without frustration on KO NA 38 Documentation guidelines 8 1 Overall Flow The documentation for the OpenNMS PRIS is organized in as Maven Module After building the documentation is generated as HTML output on the file system The output is generated in the target generated sources folder Asciidoc documents have th
11. the requisition opt opennms pris requisitions myRequisitionConfiguration requisition properties 4 1 File Source The file source allows to read a requisition file from the filesystem ParaRadaired escription source Set file to use this source for the requisition configuration source filrelative path from requisitions properties to the OpenNMS requisition xmi file mapper Mapper script changing the requisition For no operation use echo apply a Groovy script setto script mapper fill set mapper is setto script relative path to your groovy script for modifying the requisition This source reads an already defined requisition from an XML file The file to read has to be a valid OpenNMS requisition already Example configuration for a file based requisition File myFileRequisition requisition properties This example uses a predefined OpenNMS requisition Path to the myCustomRequisitionFile xml is relative to the requisitions properties source file source file myCustomRequisitionFile xml 13 Source default no operation mapper mapper echo 4 2 HTTP Source This source is similar to the file source Instead of reading from a local file it can read a requisition via HTTP from another OpenNMS instance The location for the requisition is given by an OpenNMS provisioning ReST URL It is possible to provide authentication credentials to be able t
12. 00 myRouter c KE cooge amp mas 6 4 4 tix i lt model import date stamp 2014 02 21T13 19 06 070 01 00 foreign source myRouter gt lt node foreign id bbone gw1 node label bbone gw1 gt lt interface ip addr 10 0 23 1 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt category name Backbone gt lt node gt lt node foreign id bbone gw2 node label bbone gw2 gt lt interface ip addr 10 0 23 2 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt category name Backbone gt lt node gt lt node foreign id rt 01 node label rt 01 gt lt interface ip addr 172 16 23 1 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt category name Office gt lt node gt lt node foreign id rt 02 node label rt 02 gt lt interface ip addr 172 16 23 2 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt interface ip addr 172 16 23 3 snmp primary S gt lt monitored service service name ICMP gt lt monitored service service name StrafePing gt lt interface gt lt interface ip addr 192 168 30 1 snmp primary N
13. Documentation Version docversion Table of Contents NY a ET EE etude 1 BE RR AE N EE EE OE EE N 1 1 2 Files and Folder structure iss Ee RE Re ee ee ee ee Ee 2 2 Quickstart example AE EE EE EE ENE OE AE EE EE N 5 ae RE on ne ee EE EE ee eee e 10 e ge a a Ds EE 10 3 2 HTTP EE EE N EE OM EE EE 11 Ri hie IE AE RE LE EE OE EO EE oe 13 Al Re RR EE AE OE EE 13 ER EERS oo die ME EE EE IE ON EA ee 14 48DE SOUTCE pe 15 4A EES ie HE EE EN N OE ON ENE EE EE N 18 e on ner Wee en eee ener me eer 19 4 6 ES vu nn den dd EE OE ss dd 19 4 7 OCS SOME ag nk oe eee 21 4 7 1 General OCS Parameters ne da HE ae 21 4 7 2 Using a source for OCS computers gazi can dog an si b se 22 4 7 3 Using a source for OCS SNMP devices iese esse ee 22 4 7 4 Using a mock source for development sesse ee ee 22 S Mapp eee E SE A 24 5 1 No perati n echo mapper ee n Ee i ER Ee 24 5 2 Empty requisition Mapper aa uaaa aaa aaa nene eee eee nenes eee eee enen reve 24 5 3 OGS es EE e aaa E 24 531 OCS COmMPUEIS 2e kie ei ER eile eae EE EG EDE 25 5 3 2 OGS SNMP DEVICES RA EL ER N 26 5 3 3 Black and N EE N N EE OE N 26 5 4 Script Mapper EE N EE EE OE ME EN 28 6 Asset tield le os EE EO OE EE NE OE N EE EIE 29 SS LEES Es MEE N AA EE Te 32 8 Documentation guidelines iss ee ee AA Re AA Aa ee 38 8 1 Overall FIOW EE OE EE EE EE ET 39 8 2 Important TIES and folders ii SEE SA ER Ie ei EE EE 39 8 3 Headings and document structure EERS O
14. E EK GE KEES ee 40 ENE EE RA EE OE EE ER EE 40 e oe ee 40 dd EA gc EE EE EE EE N eee 41 Documentation 8 WENT GO ae de OO Ee OE 42 TO OE OE ee od 42 ol EO N EE EE EE ER EIE OE ON 43 Pa 1 Images EIE sesse EE ER RE Ee es eee eee 43 cy 10 E RT EE EE Ie RE OE AE EE OS 44 e issie De ee eo ne ee Deere ene nde RE 44 8 12 Code Snippets sense EE EE RO EE 45 8 12 1 Explicitly defined in the document vd can EE ss r LA EE Re 45 8 12 2 Fetched from source code gjake 46 List of Figures Ke ii dade ga niini ee n 1 2 14 Worksheet with ROUET osse REEDE EE ee oe RE ee De as 5 2 2 Worksheet with Server gja gjah ee ee Ee be ee ee 6 2 3 Output of PRIS server for both configured requisitions see ee ee 8 iN EEN TE DET EE 43 8 2 example odp ie sier een RE Ee ee ee ee rk uj EG EE 44 Chapter 1 Introduction If you have a large network and discovery doesn t help it helps to find a source of truth for starting to fill your management system The provisioning integration server PRIS is a software which helps you to integrate OpenNMS to single or multiple external inventory systems It gives you several steps to integrate transform clean up and merge your extracted data before you provide the data into OpenNMS The result of PRIS is the OpenNMS requisition model which can be read from OpenNMS Provisiond The service is used to provide an integration point for OpenNMS external inventories or home brew inventories With pris the
15. MP Core infrastructure P exch01 172 16 23 20 2 3 4 Filesrvo1 172 16 23 11 5 6 2 ICMP SNMP SMTP IMAP Core Infrastructure Mail IN myRouter myServer S Find Le C Match Case Sheet 2 2 PageStyle_myServer a E Figure 2 2 Worksheet with Server The OpenNMS requisition should be provided via HTTP and we use OpenNMS Provisiond to synchronize it on a regular basis We build the following file structure File structure with two requisitions using a single spreadsheet root localhost opennms pris pwd amp amp tree opt opennms pris documentation examples global properties lib opennms pris jar opennms pris service opennms pris sh reguisitions l myInventory xls myRouter l l requisition properties myServer requisition properties scriptsteps custom default Providing the OpenNMS requisition over HTTP we create the following global properties Quickstart example Use the HTTP vveb server File global properties Start web server The web server listens on all interfaces and can be accessed on TCP port 8000 URL http your ip 8000 requisitions name requisition cfg driver http host 0 0 0 0 port 8000 The HTTP server listens on localhost port 8000 TCP We have to create two directories myServer and myRouter each containing a requisition properties file Both requisition pr
16. TTP driver starts PRIS as a web server to provide the OpenNMS requisition over HTTP ParaRadairedescription driver setto http run as web server and provide requisitions over HTTP host Network interface for listening e g 0 0 0 0 zall 127 0 0 1 localhost port TCP port to listen for incoming requests Default is 8000 Access to the requisition can be tested with a browser to URL http lt your ip gt lt port gt 8000 requisitions lt name requisition cfg gt The path name requisition cfg is the folder name which runs the requisition configuration located in your PRIS server directory Example configuration for a web server provided requisition File global properties Start web server The web server listens on all interfaces and can be accessed on TCP port 8000 URL http your ip 8000 requisitions name requisition cfg driver http 11 Driver 0 0 0 0 8000 host port 12 Chapter 4 Source A Source is used to get the data to build an Open NMS requisition Each requisition requires a source definitionin the requisition properties file Depending on the type of the source different configuration parameters are available A JDBC source for example has different configuration parameters versus an XLS source The existing sources with their respective configuration parameters are described in this section A source is configured inthe requisition properties for
17. ailserver JOB Mailserver Mail Accountinfo to Asset Mapper The Default mapper for Computers supports a mapping between OCS Accountinfo data from OCS to OpenNMS assets Accountinfo entry values can be used as values for OpenNMS asset fields To use this feature add the assetMap parameter to the requisition properties file and reference a properties file following this syntax example generic example for Accountinfo mapping to OpenNMS assets ADMINISTRATIVEDATAFILEDNAME OpenNMS AssetName 25 Mapper The value of the Accountinfo entry TAG is mapped to the OpenNMS asset field region TAG region The value of the Accountinfo entry SERVERRACK is mapped to the OpenNMS asset field rack SERVERRACK rack 5 3 2 OCS SNMP Devices To use this mapper configure your requisition config to use ocs devices as mapper This mapper requires a checksum of 4099 It validates the IP address of the snmpDevice against the black and whitelists For the election of the default an IP filter can be used If the IP address of the snmpDevice is blocked a log message is written and the node will not have any interfaces The interface has assigned CMP and SNMP as services The foreignid is mapped from the OCS idofthe snmpDevice The nodeLabel is provided by the OCS name of the snmpDevice The assets for CPU and operating system are mapped against OCS Additionally a link to the OCS snmpDevice page is added to the asset comment fi
18. andles computers and SNMP devices as separate entity types in its APIs For that reason there are two different sources available to import nodes from OCS Some parameters are part of both sources and described first 4 7 1 General OCS Parameters The following parameters are required ParaRtaqeire Description source Set ocs computers to import OCS computer entities and ocs devices forOCS SNMP devices source urlThe URL of the OCS web application source useA1 amp user with rights to access the OCS Soap interface source pashhepassvvord for the OCS user with rights to access the OCS Soap interface 21 Source ParaRadaired escription source cheHhesinexplicably named ocs checksum parameter controls how detailed the data is that the integration is requesting from the OCS It is important to request all the data you want to map into your requisition but not too much since a higher checksum causes the request to be significantly slower Read the OCS Web Services documentation for more information The default checksum for the default mapper is 4611 source tad CS supports tags custom fields If a tag is added to the ocs tags list just computers and snmpDevices that are marked with all the tags will be read from the OCS This feature can be used to tag computers as testing or production source tarbkis parameter allows to specify a file to write the result of the source to The resu
19. asciidociconfigs configuration and script examples referenced in the documentation 8 3 Headings and document structure Each document starts over with headings from level zero the document title Each document should have an id In some cases sections in the document need to have id s as well this depends on where they fit in the overall structure To be able to link to content it has to have an id Missing id s in mandatory places will fail the build This is how a document should start lunique id verbose is ok The Document Title To push the headings down to the right level in the output the leveloffset attribute is used when including the document inside of another document Subsequent headings in a document should use the following syntax Subheading content here Subsubheading content here 8 4 Writing Put one sentence on each line This makes it easy to move content around and also easy to spot too long sentences 8 5 Gotchas e Always leave a blank line at the end of documents or the title of the next document might end up in the last paragraph of the document 40 Documentation guidelines e As are used for Asciidoc attributes everything inside will be treated as an attribute What you have to do is to escape the opening brace If you don t the braces and the text inside them will be removed without any warning being issued 8 6 Links To link
20. ath is rendered as my path used for file names and paths Double quoted that is two grave accents to the left and two acute accents to the right renders as Double quoted Single quoted that is a single grave accent to the left and a single acute accent to the right renders as Single quoted 8 8 Admonitions These are very useful and should be used where appropriate Choose from the following write all caps and no we can t easily add new ones R Note Tip Important Caution Warning OP PP 42 Documentation guidelines Here s hovv it s done NOTE Note A multiline variation TIP Tiptext Line 2 Which is rendered as Tiptext Line 2 8 9 Images All images in the entire manual share the same namespace You AN know how to handle that 8 9 1 Images Files To include an image file make sure it resides in the images directory relative to the document you re including it from Then go image opennms logo png Which is rendered as p2enNMS Figure 8 1 example odp image example png example odp Which is rendered as 43 Documentation guidelines Figure 8 2 example odp 8 10 Attributes Common attributes you can use in documents docversion docVersion rendered as docversion These can substitute part of URLs that point to for example APldocs or source code Note that opennms git tag also handles the case of sna
21. behavior for OpenNMS Driver The driver is the method how to present the data from PRIS to OpenNMS It is only possible to configure one driver per PRIS instance OpenNMS Requisition The data model which has to be built inside of PRIS This is the shared model between OpenNMS and PRIS Requisition configuration The description of the integration of your external datasource A requisition configuration defines which source should be used or which scripts should be applied to modify or transform the data before they are provided into OpenNMS Provisiond Mapper Script The mapper script is the last script executed before the generated requisition goes to OpenNMS Provisiond through the driver You can use a mapper script to enrich the requisition remove nodes or replace OpenNMS requistion node attributes Custom Scripts In some cases an external inventory has its own data model e g OCS Inventory The script source can be used to map the external inventory specific model into the OpenNMS requisition model Source This is the specific implementation retrieving the data for from your external inventory External Inventory The inventory from which you want to import data for OpenNMS It could be a free application like phpIPAM idolT ITIL ticket system like OTRS a simple spreadsheet or just another OpenNMS instance 2 Files and Folder structure The latest release of PRIS can be downloaded from the github release page of the projec
22. blacklisted no interface is added to the node selectIpAddress Strict ip filter WhiteAndBackOnly This filter implements a strict black and whitelist approach Computers and snmpDevices are handled independently Computers This mode is just accepts IP addresses that are whitelisted and not blacklisted If there are multiple IP addresses listed on ocs networks 1list that are whitelisted but not blacklisted the first such one is selected as management IP If no IP address from the ocs networks list passes the black and whitelist the ocs default ip is tested against the black and whitelist If the ocs default ip is whitelisted and not blacklisted it is elected as management ip If no IP address matches the black and whitelist no interface is added to the node If the ocs default ip is selected the interface of the node will not contain any additional parameters like description selectManagementNetworkWhiteAndBlackOnly SnmpDevices If the IP address of the snmpDevice is whitelisted and not blacklisted it is elected as management interface If the IP address does not pass the lists no interface is added to the node select IpAddressWhiteAndBlackOnly IPLike expressions in lists In both lists the IPLike syntax can be used to express IP ranges and wildcards Follow the IPLike description at IPLIKE documentation 8 http www opennms org wik IPLIKE 27 Mapper 5 4 Script mapper This mapper is used to giv
23. buntu z 8 due GO E E a EI tC ll Z MgmtType_ A B t D E Node Label IP Management Imamerype sve_Forced cat_Environment bbone gw1 10 0 23 1 P ICMP SNMP Backbone bbone gw2 10 0 23 2 ICMP SNMP Backbone rt 02 172 16 23 2 ICMP SNMP Office rt 02 172 16 23 3 ICMP StrafePing N e ND 410714160 AN A _ myRouter myServer 4 1 Find ly CI Match Case Q 1 2 3 4 to 172 16 23 1 ICMP SNMP Office 5 _ Sheet 1 2 PageStyle_myRouter a E Figure 2 1 Worksheet with Router In line 5 6 and 7 there is a router defined with more than one IP interface All three interfaces will be manually provisioned The private IP interface with 192 168 30 1 is not used for SNMP agent communication The services ICMP SNMP and StrafePing are forced on some IP interfaces For all other IP interfaces you can use the OpenNMS Provisiond mechanism scanning IP interface table from SNMP and the detectors for additional services The server will also be categorized in Backbone and Office Quickstart example l l mylnventory xis LibreOffice Calc B ea SAB S88 vyy KAB A aici F Sh 9 E Ubuntu Is 8 des GO a T a EI ci vl amp Z MgmtType_ A B G D E Node Label IP Management svc Forced cat Environment dco1 172 16 23 10 P ICMP SNMP Core infrastructure dco2 172 16 23 10 ICMP SNMP Core infrastructure ICMP SNMP Core Infrastructure P p filesrvo1 172 16 23 12 P ICMP SN
24. e asciidoc file extension The structure is organized as the following Note that different ways to add documentation works best for different cases e Tutorials and How To s should be published on the OpenNMS Wiki 13 For example You want to explain how you used the JDBC source to integrate Open NMS PRIS with your vendor specific inventory database e The documentation you can find in the source code can be characterized as a non emotional technical documentation which explains concepts in detail and should be complete If you want to contribute a patch to the documentation just fork the project on github 4 Make your changes in the branch called develop and send us a pull request After the review of the pull request we will merge it and your change is in the next release 8 2 Important files and folders Directory Contents README adoc Description how to build the documentation from source pom xml Maven project settings for the documentation module srciasciidoc Folder vvith adoc source files src asciidoc index adoc root file which includes all the document parts src asclidoc images directory for including images and screenshots in png or jpg format src asciidoc images_src directory for including original format e g graphml T http wiki opennms org i https github com OpenNMS opennms provisioning integration server 39 Documentation guidelines Directory Contents srci
25. e requisition configuration source dridaBC driver e g org postgresql Driver source urlJDBC URL e g jdbc postgresql host port database source selS tSiatementt source usarser name for database connection source paspassivbrd for database connection mapper Mapper script for changing the requisition For no operation use echo for a JSR 223 script set to script mapper fill set mapper is setto script relative path to your JSR 223 script for modifying the requisition The following column headers will be mapped from the result set to the OpenNMS requisition ColufequiredDescription Header Foreig Idvill be interpreted as foreignid on the node Parent Fordefinesithe foreignid for the parent node Used for path outages Parent Fordefinesthe foreignSource for the parent node Used for path outages Parent Noddefingsdihe nodeLabel of the parent node Used for path outages IP Addresswill be interpreted as an IP address for a new IP interface on the node MgmtType is interpreted as snmp primary flag and controls how the interface can be used to communicate vvith the SNMP agent Valid are P Primary S Secondary and N None InterfaceSswiltbesinterpreted as Interface Status Value has to be an integer Use 1 for monitored and 3 for not monitored 15 Source ColufequiredDescription Header Node Labelvvill be interpreted as node label for the node identified by the
26. e used in requisition configurations to manipulate the inventory import EE Drop in for your custom created scripts EF Drop in for default ready to use scripts PRIS needs at minimum two configuration files The first is called global properties and controls the general behavior of the provisioning integration server A requisition is just a directory in the application server directory requisitions and has to contain a file called requisition properties The directory name is used to access the requisition 6e 00000000 Introduction You can create multiple requisitions using different sources by creating a directory for each requisition with a requisition properties inside The global properties the requisitions directory and the start script has to be in the same folder By default we suggest to install your PR Sarchive to opt opennms pris If you want to provide the OpenNMS requisitions via HTTP from the built in Jetty web server as a background daemon you can use the init script in opennms pris src examples opennms pris Chapter 2 Quickstart example To give an example we want to provide two requisitions from an poor man s inventory as XLS file mylnventory xls The first requisition has a worksheet containing all routers and the second worksheet has all servers of our network This example can be found in examples source xlsExample 5 mylnventory xis LibreOffice Cale Ba B BEG vs E Bi dP Sh 9 ER U
27. e you the flexibility of building your ovvn mapper vvithout the need to compile from source The source uses JSR 223 Scripting Engine The script language can be changed by setting the property mapper lang in Your reguisition properties file The following example runs your script in the the JavaScript Rhino engine File requisition properties source configuration part SOUFCE ras Run a no operation mapper mapper echo run mapper script in JavaScript mapper langzjavascript mapper file myJavaScriptSource js If you don t set the language lang property the script engine tries to detect the language by evaluating the file extension ParaRtaqeire Description mapper script to use JSR 223 Script Engine as source mapper fillaath to script source relative to requisition properties mapper laniSR 223 Script language by name You can find a working example in Groovy in the configs examples script mapper directory In addition to any other mapper a final script mapper can be used by specifying script file in your requisition properties file The specified script will run after the configured mapper and can be used to transform the mapper s output further To specify the scripting language the script lang property can be used see mapper lang https www jcp org en jsr detail id 223 http en wikipedia org wiki Rhino_ 28JavaScript_engine 29 28 Chapter 6 Asset field ma
28. eld 5 3 3 Black and Whitelists The OCS Integration supports black and whitelists to control the selection of the management interface for the node OCS itself does not define a management interface it just selects one ip address as default and maintains a networks list for every device For the election of the management interface two IP filters are implemented in the IplnterfaceHelper class Both read the black and whitelist from the requisition configuration folder Name them blackList properties and whiteList properties Every line in those files is interpreted as an IPLike statement to offer ranges Default ip filter This filter accepts every IP address as valid that is not blacklisted IP addresses that are whitelisted are preferred over unlisted IP addresses Computers The first IP address of the ocs networks list that is whitelisted is used If no IP address of the ocs networks list is whitelisted the first IP address that 26 Mapper is not blacklisted is elected as the management interface If no IP address of the ocs networks list qualifies the ocs default ip is checked against the blacklist If it is not blacklisted it is elected as the management interface no interface description will be available If it is blacklisted no interface is added to the node selectManagementNetwork SnmpDevices The IP address of an snmpDevice is elected as management interface as long as it is not blacklisted If it is
29. gt lt category name Office gt lt node gt 4 locathost 8000 myServer This XML file does not appear to have any style information associated with it The document tree is shown below amodel import date stamp 2014 02 21T 13 19 47 559 01 00 foreign source myServer gt lt node foreign id filesrv01 node label filesrv01 gt eoo Mozilla Firefox F http localhost 8000 myServer cE co o aee lt node foreign id dc01 node label dc01 gt Sinterface ip addr 172 16 23 10 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt category name Core Infrastructure gt lt node gt lt node foreign id dc02 node label dc02 gt lt interface ip addr 172 16 23 10 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt category name Core Infrastructure gt lt node gt lt interface ip addr 172 16 23 11 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt interface ip addr 172 16 23 12 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name SNMP gt lt interface gt lt category name Core Infrastructure gt category name Core Infrastructure gt lt
30. lting xml file can be used for debugging or test reasons 4 7 2 Using a source for OCS computers This source reads computers from an OCS instance It supports all parameters listed as general and the following additions accountinfo accountinfo data is based on custom fields managed in OCS These are managed by the Administrative Data section of the OCS web application The name of the custom field is presented in all caps The value of the field as provided by the user The ocs accountinfo parameters supports a list of accountinfo that must be present on the computer If any of the accountinfo is not present the computer is skipped To add multiple accountinfo values separate them with spaces 4 7 3 Using a source for OCS SNMP devices This source reads snmpDevices from an OCS instance lt supports all parameters listed as general and no additional at the moment 4 7 4 Using a mock source for development For development and testing there are ocs computers replay and ocs devices replay sources available These sources require a file that contains E http wiki ocsinventory ng org index php Developers Web_services 22 Source the computers or snmpDevices as an XML file The file has also be referenced in the configuration Example configuration to import OCS computer into OpenNMS t t File computers basic requisition properties This example imports OCS computer devices into an OpenNMS requisition To c
31. nged from to node getNodeLabel asset getName asset getValue assetValue 1 12 asset setValue assetValue 1 12 break node get ssets removeAll assetsToRemove assetsToRemove new ArrayList lt gt logger info done with OpenNMS Assets 1 12 groovy return requisition Every script step can reference variables from the runtime of PRIS The follovving script shows the provided objects Example script step 6 import java nio file Path import org slf4j Logger import org opennms pris model Requisition import org opennms pris util InterfaceUtils import org opennms pris config InstanceApacheConfiguration 36 Script Steps logger logger logger return logger logger logger logger logger info starting Sample groovy debug script Path script debug data Object data debug requisition Requisition requisition debug logger Logger logger debug config InstanceApacheConfiguration config debug config InterfaceUtils interfaceUtils info done with Sample groovy requisition 37 Chapter 8 Documentation guidelines Other than writing documentation you can help out by providing R comments about improvements or reporting bugs head over to the issue tracker for documentation to do that For how to build the manual see readme The documents use
32. node gt lt node foreign id exch01 node label exch01 gt lt interface ip addr 172 16 23 20 snmp primary P gt lt monitored service service name ICMP gt lt monitored service service name IMAP gt lt monitored service service name SMTP gt lt monitored service service name SNMP gt lt interface gt category name Core Infrastructure gt lt category name Mail gt lt node gt lt model import gt lt model import gt z ic e Figure 2 3 Output of PRIS server for both configured requisitions To get the requisition provided from PRIS automatically into OpenNMS you can configure Provisiond with a schedule Create following to entries in provisiond configuration xml and they will automatically be synchronized every night at Oh Om Os and 1h 0m 0s Configuration from OpenNMS Provisiond with provisiond configuration xml lt requisition def import name myRouter import url resource http localhost 8000 requisitions myRouter gt lt cron schedule gt 0 0 0 lt cron schedule gt lt requisition def gt lt requisition def import name myServer import url resource http localhost 8000 requisitions myServer gt lt cron schedule gt 0 0 1 lt cron schedule gt Quickstart example lt requisition def gt Chapter 3 Driver The driver determines how to provide the generated OpenNMS requisition It is a required global configurati
33. o consume the ReST service ParaRadaired escription source Set http to use this source for the reguisition configuration source ur 1OpenNMS requisition ReST service base URL e g http demo opennms org opennms rest requisitions source use penNMS user name for accessing the requisition ReST URL source pas pemNMS user password for accessing the requisition ReST URL mapper Mapper script for changing the requisition For no operation use echo to apply a JSR 223 script set to script mapper fill set mapper is setto script relative path to your JSR 223 script for modifying the requisition The given example configuration reads the requisition from the publicly available OpenNMS demo system Example configuration for an HTTP based requisition File opennmsdemo requisition properties This example reads imports the requisition name Latency from the public available demo system source http source url http demo opennms com opennms rest requisitions Latency source username demo source password demo mapper to set asset longitude and latitude based on a surveillance category mapper script mapper file setGeoInfo groovy 14 Source 4 3 JDBC Source The JDBC source provides the ability to run an SQL Query against an external system and map the result to an OpenNMS requisition ParaRtaqeire Description source Set jdbc to use this source for th
34. on item for the PRIS server The configuration for the drivers has to be specified in the global properties file It is possible to configure exactly one driver for the PRIS server For the PRIS server you can configure a global log level The loglevel is also located in the global properties file and can be configured with the following values loglevel INFO Level Default ALL TRACE DEBUG INFO WARN ERROR OFF Changing the log level requires a restart if you run PRIS as a daemon R in HTTP mode The driver is configured in global properties which is located in the root application directory opt opennms pris global properties 3 1 File Driver This driver offers the ability to generate an OpenNMS requisition directly into the filesystem To use the file driver you have to set the parameters in the global properties Driver ParaRadaired escription driver setto file to generate OpenNMS requisitions as XML file target path to output folder for XML files to generate reguisitioparameter as Java regular expression filter for the requisition name Example configuration for a file based requisition File global properties Generate an requistion and create an requisition file to target Create a file for all requisitions matching Java regular expression loglevel INFO driver file target my output folder requistions 3 2 HTTP Driver The H
35. onvert the OCS computer into a requisition the mapper groovy is used source ocs computers source url https your ocs webapplication ocs source username ocs user source password ocs password source checksum 4611 source tags mapper to convert OCS computer model into OpenNMS requisition model mapper ocs computers mapper ocs url https your ocs webapplication ocs Run a custom mapper script script file mapper groovy CATEGORIES mapper categoryMap Example configuration to import OCS SNMP devices into OpenNMS File computers basic requisition properties This example imports OCS SNMP devices into an OpenNMS requisition To convert the OCS SNMP devices into a requisition the mapper groovy is used source ocs devices source url https your ocs webapplication ocs source username ocs user source password ocs passowrd source checksum 4611 source tags run the default mapper for snmp devices mapper ocs devices categoryMap 23 Chapter 5 Mapper A mapper can be used to map the result of a source to an Open NMS Requisition model The mapper receives the result of the source The source is not limited in the data model it provides to the mapper The mapper has to provide an OpenNMS Requisition as its result Ifthe source provides a custom data model the mapper has to map itinto a Requisition Some sources provide OpenNMS Requisition directly
36. operties files reference the main myInventory xls file which contains two worksheets named myServer and myRouter The requisition properties is the same for both requisitions It is possible to create different script or mapping steps for each requisition Configuration of the myRouter requisition File myRouter requisition properties This example imports devices from a spreadsheet named myRouter from the myInventory xls file Path to the XLS fils is relative to requisitions properties source xls source file myInventory xls default no operation mapper mapper echo Configuration of the myServer requisition File myRouter requisition properties This example imports devices from a spreadsheet named myRouter from the myInventory xls file Path to the XLS fils is relative to requisitions properties source xls source file myInventory xls default no operation mapper mapper echo Quickstart example It is not necessary to restart the PRIS server if you change properties files or the XLS file All changes vvill be applied from the next request against the server VVith the given configuration you see the result of the Open NMS requisitions with the URL http localhost 8000 requisitions myRouter and http localhost 8000 requisitions myServer which can be used in OpenNMS Provisiond eoe Mozilla Firefox i a E http localhost 8000 myRouter q 4 S localhost 80
37. p localhost 8000 B source B keepAll default no operation mapper mapper echo 18 Source 4 5 Script Source This source is provided to give you the flexibility of building your own source without the need to compile from source The source uses JSR 223 Scripting Engine The script language can be changed by setting the property source lang in your requisition properties file By default groovy 2 3 3 and beanshell 2 0b5 are ready to use If you want to use other supported languages you might need to provide the language jar in the lib folder of PRIS ParaRadairedescription source set script to use JSR 223 Script Engine as source source filmath to script source relative to requisition properties source laniSR 223 Script language by name by default the file extension is used to detect the language source snayaapcan have access to a parameter name in your Groovy script if you name it with the prefix source You can find a working Groovy source in the examples source scriptExample directory A custom parameter name count is passed into the Groovy script Example configuration to generate a requisition from a Groovy script File myGroovySource requisition properties This example creates a requisition node from a Groovy script source file myGroovySource groovy source count 3 default no operation mapper mapper echo 4 6 XLS Source The xls reads an XLS spread
38. pping The asset field mapping can be used in xls source and jdbc source OpenNMS requisition asset field mapping Asset_additionalhardware Asset addressi Asset address2 Asset admin Asset assetNumber Asset autoenable Asset building Asset category Asset_circuitid Asset_city Asset_comment Asset_connection Asset_country Asset_cpu Asset datelnstalled Asset department Asset description Asset displayCategory Asset division Asset enable Asset floor Asset hddli Asset hdd2 Asset_hdd3 Asset_hdd4 Asset_hdd5 Asset hdd 29 Asset field mapping OpenNMS requisition asset field mapping Asset_inputpower Asset_latitude Asset_lease Asset leaseExpires Asset longitude Asset_maintContractExpiration Asset_maintContractNumber Asset_manufacturer Asset_managedObjectType Asset_managedObjectInstance Asset_modelNumber Asset_notifyCategory Asset_numpowersupplies Asset_operatingSystem Asset_password Asset_pollerCategory Asset_port Asset_rack Asset_rackunitheight Asset_ram Asset_region Asset_room Asset_serialNumber Asset_slot Asset_snmpcommunity Asset_state Asset_storagectrl Asset_supportPhone Asset_thresholdCategory Asset_username 30 Asset field mapping OpenNMS requisition asset field
39. pshot master Sample Asciidoc attributes which can be used e docdir root directory of the documents e nbsp non breaking space 8 11 Comments There s a separate build including comments The comments show up with a yellow background This build doesn t run by default but after a normal build you can use 44 Documentation guidelines make annotated to build it You can also use the resulting page to search for content as the full manual is on a single page Here s how to write a comment this is a comment The comments are not visible in the normal build Comment blocks won t be included in the output of any build at all Here s a comment block Note that includes in here will still be processed but not make it into the output That is missing includes here will still break the build 8 12 Code Snippets 8 12 1 Explicitly defined in the document Use this kind of code snippets as little as possible They are well O Known to get out of sync with reality after a while This is how to do it Sservice name DNS interval 300000 user defined false status on gt lt parameter key retry value 2 gt lt parameter key timeout value 5000 gt lt parameter key port value 53 gt lt parameter key lookup value localhost gt lt parameter key fatal response codes value 2 3 5 gt lt ServFail NXDomain Refused gt lt parameter key rrd
40. s This is how to define a code snippet inclusion snippet java component opennms examples source org opennms examples JmxDocTest java classifier test sources tag getStartTime 46 Documentation guidelines This is how it renders component opennms examples source org opennms examples JmxDocTest java classifier test sources tag getStartTime 47
41. sheet file and creates an OpenNMS requisition based on the worksheet content ParaRtaqeire Description source set xls to use the XLS source for this requisition i https www jcp org en jsr detail id 223 19 Source ParaRadaired escription source filmath of the XLS file to read relative to the requisition properties source encemading of the xls file Default is ISO 8859 1 The structure of the spreadsheet has to follow these rules The source reads from a sheet named after the requisition you are requesting The first row of each sheet is reserved for column names These column names have to start with certain prefixes to be recognized PrefReguire escription x Node_ will be interpreted as node label It is also used as foreignid if no ID_ header is present IP will be interpreted as an IP address as a new interface on the node MgmtType_ is interpreted as snmp primary flag and controls how the interface can be used to communicate with the SNMP agent Valid are P Primary S Secondary and N None TO will be interpreted as foreign Id for the node If no foreignid is definded the Node value is used as foreignid Parent Fordefinesithe foreignid for the parent node Used for path outages Parent Fordefinesthe foreignSource for the parent node Used for path outages Parent Nod efim sdhe nodeLabel of the parent node Used for path outages InterfaceSwiltbesin
42. sitionUtils hasCategory node IGNORE CATEGORY true logger debug node has to be ignored node getForeignid else nodes add node logger debug node is ok node getForeignId requisition unsetNodes requisition withNodes nodes logger info done with IgnoreNodeByCategory groovy return requisition Example script step 3 import org opennms pris model Requisition import org opennms pris model RequisitionNode import org opennms pris model RequisitionInterface logger info starting reverseDNS groovy for RequisitionNode node requisition getNodes 1 for RequisitionInterface myInterface node getInterfaces String ipAddress myInterface getIpAddr String dnsNodeLabel InetAddress getByName ipAddress getCanonicalHostName logger debug For foreignID dnsNodeLabel for IP is node getForeigniId ipAddress dnsNodeLabel if ipAddress equals dnsNodeLabel logger info Using as NodeLabel for foreignid based on IP dnsNodeLabel node getForeigniId ipAddress node setNodeLabel dnsNodeLabel break 34 Script Steps logger info done with reverseDNS groovy return requisition Example script step 4 import org slf4j Logger import org opennms pris model Requisition logger info starting failOnEmpty groovy logger debug Amount of nodes in the requisition requisition getNodes size
43. sum of 4867 to get all required data It elects the OCS Source IP as management interface of the node The black and whitelisting is applied against the interface If no interface is valid the node will have no interfaces and a corresponding log message will be written The elected management interface is enriched with the interface description if available The SNMP and ICMP services are forced onto the management interface Additionally the comment field of the node assets is used to provide an HTML link to the computer page of the OCS instance The assets for cpu and operatingSystem will be mapped from the OCS computer too The computer name is used as both foreignid and nodeLabel Accountinfo to Category Mapper The default mapper for Computers supports a mapping between OCS Accountinfo data from OCS to OpenNMS surveillance categories To use this feature add the mapper categoryMap parameter to the requisition properties file and reference a properties file following this syntax example generic example for a properties file that maps OCS Accountinfo data to OpenNMS surveillance categories ADMINISTRATIVEDATAFILEDNAME data OpenNMSCategoryName the Accountinfo for ENVIRONMENT is mapped to the OpenNMS surveillance category Production if the Accountinfo value is set to Production ENVIRONMENT Production Production the Accountinfo for JOB is mapped to the OpenNMS surveillance category Mail if the Accountinfo value is set to M
44. t lt is recommended to extract the tar gz content to opt opennms pris The examples and the documentation are built based on this file structure It is possible to install PRIS in a different directory but you have to take care about adapting the paths in this documentation After extracting the archive the file structure should look like this 1 https github com OpenNMS opennms provisioning integration server releases Introduction documentation examples QY fileExample t t httpExample jdbcexample mergeExample ocsExample scriptExample thi xlsExample global properties lib opennms pris jar opennms pris service opennms pris sh opennms pris bat requisitions scriptsteps custom IE default This documentation in HTML format if you run PRIS in HTTP mode you can access the documentation at http lt your ip gt lt port gt documentation Configuration examples for requisitions for every available source Default configuration for PRIS to run in HTTP mode on port 8000 Libraries for the different sources which can be used with PRIS Main application file Init script for CentOS or Debian systems running in HTTP mode Start script to run PRIS on a Linux console Start script to run PRIS on a Windows Configuration directory for all requisitions to integrate inventories Default folder for scripts which ar
45. terpreted as interface status Use 1 for monitored and 3 for not monitored cat will be interpreted as a surveillance category Multiple comma separated categories can be provided It can be used multiple times per sheet SMON will be interpreted as a service on the interface of the node Multiple comma separated services can be provided It can be used multiple times per sheet This source also supports all asset fields by using Asset_ as a prefix followed by the asset field name The city field of the assets can be addressed like this Asset City This is not case sensitive 20 Source To add a node with multiple interfaces add a subsequent row with the same node label Node_ This row will be added as a new interface based on the data from the IP MgmtType_ svc_ columns The order in which the columns are arranged is irrelevant Also additional columns can be present Check the format of cells to avoid problems with data like IP address Example configuration for the requisition myRouter from an XLS spreadsheet File myRouter requisition properties This example imports devices from a spreadsheet named myRouter from the myInventory xls file Path to the XLS fils is relative to requisitions properties source xls source file myInventory xls default no operation mapper mapper echo 4 7 OCS Source OCS Inventory NG is an inventory and software management software It h
46. to other parts of the manual the id of the target is used This is how such a reference looks lt lt community docs overall flow gt gt Which will render like Section 8 1 Overall Flow EY Just write see lt lt target id gt gt and similar that should suffice in most cases If you need to link to another document with your own link text this is what to do lt lt target id link text that fits in the context gt gt Having lots of linked text may work well in a web context but is a pain R in print and we aim for both External links are added like this http www opennms org Link text here Which renders like Link text here 1 For short links it may be better not to add a link text just do http www opennms org Which renders like http www opennms org E Its ok to have a dot right after the URL it won t be part of the link 15 http www opennms org 41 Documentation guidelines 8 7 Text Formatting e ltalics is rendered as Italics and used for emphasis Bold is rendered as Bold and used sparingly for strong emphasis only methodName is rendered as methodName and is used for literals as well note the content between the signs vvill be parsed command is rendered as command typically used for command line note the content between the signs will notbe parsed Mono space d is rendered as Mono space d and is used for monospaced letters my p

Download Pdf Manuals

image

Related Search

Documentation documentation documentation synonym documentation meaning documentation template documentation icon documentation tools documentation images documentation software documentation needed for real id documentation control software documentation fee documentation meme documentation as code documentation wizard documentation specialist documentation review documentation python documentation specialist jobs documentation for real id documentation html documentation for visual studio code documentation php documentation control documentation odoo documentation api

Related Contents

Flex Network I/F Unit (GLC100-FN41) - Pro  VT580/VT480/VT58/VT48  HL-S6186W    lai  DCG 500-S  - Frank`s Hospital Workshop  POLIFLOOR  User Manual - Cyber-Rain  Plasma TV - Partnershop  

Copyright © All rights reserved.
Failed to retrieve file