상세 컨텐츠

본문 제목

Opennms Alternatives For Mac

카테고리 없음

by withsjocycmoutht1974 2020. 3. 11. 06:10

본문

Preface OpenNMS is the creation of numerous people and organizations, operating under the umbrella of the OpenNMS project. The original code base was developed and published under the GPL by the Oculan Corporation until 2002, when the project administration was passed on to Tarus Balog. The current corporate sponsor of OpenNMS is, which also owns the OpenNMS trademark. OpenNMS is a derivative work, containing both original code, included code and modified code that was published under the GNU General Public License. Please see the source for detailed copyright notices, but some notable copyright owners are listed below.

This overview. The programs on which OpenNMS depends, and how they need to be modified.

Installation and upgrade instructions, including details for specific operating systems and distributions. Getting started with OpenNMS, including initial configuration and logging into the web interface. Building OpenNMS from source. Troubleshooting and Where to Get Help This installation guide relies strongly on the idea of 'packages.' Most modern operating systems and distributions have a system where software can be installed and managed through the use of packages that group the files belonging to a given application together (as well as managing changes to those files, removal, upgrades, etc.).

Please see the latest to see if your operating system is supported. Currently, OpenNMS runs on many Linux distributions, Solaris, Mac OS X and Windows. This guide assumes that if you use packages, you do so consistently. This is because OpenNMS will attempt to determine if the software it requires is installed by using the operating system's built in package management system. If you've installed, say, Java, but not via packages, OpenNMS will be unable to determine that Java is installed and it will fail. To get back to the original question of 'how should you use this document,' first go through the second section to insure that you have all of the prerequisite applications properly installed and configured. Use the third section to help get those packages installed for your particular operating system, as well as the OpenNMS software.

Opennms Alternatives For Mac Os

Finally, use the last section to help correct any errors your might encounter. Processor A 1 GHz Pentium III (or equivalent processor) or better.

OpenNMS can also take advantage of multiple processors. Memory A minimum of 256 MB of RAM, although 512 MB is strongly recommended. The OpenNMS Java Virtual Machine benefits from large amounts of memory, up to 2 GB, and more if using a 64-bit processor. Given a budget choice between more RAM and a faster CPU, choose more RAM. Disk Space OpenNMS requires about 200 MB of disk space for the program files. In addition, each data variable collected requires, by default, a little under 300 KB of disk space. It is safe to assume that each interface being managed will require around 2 MB of disk space, so for 200 interfaces you are looking at 400 MB (conservatively).

Depending on the number of events stored, you can assume 100 MB to 200 MB are required for the database. Finally, the OpenNMS logs can grow quite large, especially in debug mode. Edit the log4j.properties file in the OpenNMS configuration directory (usually /opt/opennms/etc or /etc/opennms) to change those settings. By default, the Log4J file rotation is configured to use 100MB per log file, which ends up using a little under 2 GB. Note: Due to the write-heavy nature of time-series data and the database, it is recommended that you do not use RAID-5 with OpenNMS.

Opennms Alternatives For Mac

RAID-1 or RAID-1+0 is recommended if using RAID. In addition, LVM adds a small but appreciable amount of overhead and it is recommended that you do not use it.

Preparation: Yum Fastest Mirror Plugin Before you start, you may want to install the yum-fastestmirror RPM if your distro supports it. This can often speed up downloads of large packages. See the for more details.

This step is not strictly necessary, but can make your overall yum experience better. user@localhost$ sudo yum install yum-fastestmirror Setting up Install Process. Running Transaction Installing: yum-fastestmirror ######################### 1/1 Installed: yum-fastestmirror.noarch 0:1.1.9-2.fc8 Complete! Install the OpenNMS Repository RPM To simplify installation through Yum, we've created an RPM that contains the configuration necessary for Yum to be able to find the other OpenNMS packages. Based on the release you chose in the section above, choose the approprate RPM from the.

For example, to install the latest snapshot release on Fedora 7, you would run: rpm -Uvh Or, to install the latest unstable release on CentOS or RHEL 5, you would run: rpm -Uvh Now you should see OpenNMS packages available when you get a list of yum packages: user@localhost$ sudo yum list opennms. Available Packages opennms.noarch 1.5.96-1 opennms-unstable. Enable the Primary Mandriva Repositories First, you'll want to enable the primary Mandriva URPMI repositories.

The easiest way to do so is to follow the instructions at. For example, on Mandriva Linux 2007, you would end up running something like this: urpmi.addmedia main ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/official/2007.1/i586/media/main/release with mediainfo/hdlist.cz urpmi.addmedia -update mainupdates ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/official/2007.1/i586/media/main/updates with mediainfo/hdlist.cz. Enable the OpenNMS Mandriva Repositories Now, you'll need to enable the OpenNMS Mandriva repositories.

Prerequisite Package: PostgreSQL (or 'Postgres') is a relational database that OpenNMS uses to store information about devices on the network, as well as information about events, notifications and outages. When installing OpenNMS, two things must happen. First, OpenNMS has to be able to contact the database over TCP/IP (even on localhost) and second, the installation process must be able to create the database. OpenNMS requires version 7.4 or later of PostgreSQL, although 8.1 or higher is recommended for performance reasons. Note If you are running on a FAT32 filesystem, see the. First, unpack the installer.

The installer does not run properly from inside a zipped folder, so you will need to extract the ZIP file. You should be able to just copy the postgresql-X.X.msi and postgresql-X.X-int.msi files to your desktop and run them from there. Then, run the postgresql-X.X.msi and follow the instructions. For the most part, the defaults should be just fine, although if you're allowing the installer to initialize your database, make sure the encoding is set to 'UTF-8'. Configure PostgreSQL Once you have installed PostgreSQL, you will need to make two changes to Postgres configuration files: postgresql.conf and pghba.conf. These files are only created once PostgreSQL has been started, so if your installation method for Postgres did not start the database, do so before continuing. Usually, startup scripts will be placed in /etc/init.d.

Locate the Postgres 'data' directory. Often this is /var/lib/pgsql/data. You should then find the two files we need to modify in that directory. Customizing the pghba.conf File The pghba.conf file controls which machines and users can access the database on a given machine via TCP/IP. Since that is how OpenNMS accesses the database (via localhost) it is necessary to modify this file to allow OpenNMS to work. The easiest thing to do is to just allow anyone from the localhost to access the database (do not add the last line if your system does not support IPv6): # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD local all all trust host all all 127.0.0.1 255.255.255.255 trust host all all::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust Make sure that no other lines are uncommented in this file.

You will need to stop and restart Postgres after making these changes. Adding the iplike function OpenNMS makes heavy use of a stored procedure called 'iplike'. Since it is written in C, it has been removed from the main OpenNMS code and placed in its own project. If a C-based iplike is not installed, the OpenNMS installer will add a version written in the PostgreSQL command language. It will work, but not as quickly as the compiled iplike will. To install iplike, simply download the proper package for your distribution.

There should be a package for PostgreSQL versions 7.4-8.1, and one for 8.2+. In addition, there will be separate 32-bit and 64-bit versions. It is also possible to download a tarball from the, and do the usual './configure', 'make', and 'make install'. Once installed it should not be required to update it on every OpenNMS upgrade. Prerequisite Package: JICMP Java has never had a really good API for ICMP.

Since ICMP is the basis for the 'ping' command, it is rather imperative that any Java-based network management platform address the need for ICMP. OpenNMS does this by using some code written in C, and accessing it using the Java Native Interface (JNI). As of OpenNMS 1.3.6, the ICMP code has been moved to it's own library outside of OpenNMS.

This makes the main OpenNMS application pure Java, and as such it only has to be built once, instead of for each platform. Packages for JICMP are available for most distributions. If your distribution does not have packages available, you can download the source from. $OPENNMSHOME/etc/ OpenNMS configuration files.

On some distributions, upstream changes in files in this directory are detected and means are provided for migrating those changes to the new release. On RPM-based distributions, if an OpenNMS configuration file has changed, RPM will create a '.rpmnew' file which contains the version of that configuration file that shipped with the new version of OpenNMS. You will need to look at the changes between your file and the new one and merge them manually, at the moment. The command ' diff -u less' can assist you in seeing what has changed. On Debian-based distributions, dpkg will automatically prompt you when a configuration file has changed upstream between versions, and will offer you a set of options to deal with it. $OPENNMSHOME/share/rrd/ RRD data files that store response time data and performance data collected from SNMP (and elsewhere). The installer should not touch the RRD files in $OPENNMSHOME/share/rrd.

Unless you are migrating from RRDTool to jRobin, you should not have to worry about them. $OPENNMSHOME/jetty-webapps/opennms/ The OpenNMS web application. While data is not stored here, some users may customize the web interface and these customizations should be saved before upgrading OpenNMS. $PGDATA/ Data about nodes, services, events, notifications, etc., are stored in the opennms table in PostgreSQL.

opennms-core: The core OpenNMS code, responsible for network discovery, polling, data collection, notification, and more. opennms-docs: Documentation. opennms-webapp-jetty: The OpenNMS web UI, designed to be started by the opennms-core engine. opennms: A convenience package which installs everything you need for a functional OpenNMS installation on a single system. opennms-remote-poller: The standalone remote poller, which can report back to an OpenNMS instance.

Opennms Alternatives For Mac

opennms-plugin-ticketer-centric: The ticketer plugin. Installing on Windows OpenNMS is supported on Windows as well, although the lack of true package management makes it a bit more work to maintain. To install on Windows, download the latest standalone-opennms-installer-X.X.X.jar file from. You should be able to then just double-click the jar file in Explorer, and follow the instructions in the install wizard. Once you're done, you may want to make a pristine copy of the $OPENNMSHOME/etc directory so it's easy to tell what's changed in later releases later. Prune Unneeded Events Should you not be doing this already, either using vacuumd or cron, prune away any unneeded events. The events table will most probably be the largest, and there's no point backing up data that you don't need.

For example, to delete any events older than 6 weeks that have no associated outages, you can run, from the psql command-line: -# this deletes any events that are not associated with outages DELETE FROM events WHERE NOT EXISTS (SELECT svclosteventid FROM outages WHERE svclosteventid = events.eventid UNION SELECT svcregainedeventid FROM outages WHERE svcregainedeventid = events.eventid UNION SELECT eventid FROM notifications WHERE eventid = events.eventid) AND eventtime. Back up and then remove $OPENNMSHOME/etc. Remove $OPENNMSHOME/lib, $OPENNMSHOME/jetty-webapps/opennms/WEB-INF/lib. Once you've cleaned up the etc and lib directories, the next step is to download the latest standalone-opennms-installer-X.X.X.jar from. Next, run the installer jar, and install over your existing OpenNMS location. If you backed up the pristine etc directory on your previous installation, you can compare it to the current one to see if there are any configuration changes you wish to integrate into your new install.

Copy your backed up etc directory back into the $OPENNMSHOME/etc directory. You should now be able to run your upgraded OpenNMS. Run the OpenNMS Installer Application No matter which installation method above you choose, and whether you are performing a fresh install or an upgrade, you still need to run the OpenNMS installer. This tool will setup the opennms database within PostgreSQL among other things. # $OPENNMSHOME/bin/install -l /usr/local/lib -dis The '-l' parameter will look for the jicmp and/or jrrd libraries in the location specified.

The '-dis' will initialize and check the database. Note at the end of the output from the installer it will indicate if iplike has been installed properly. For a full list of options the installer accepts, run ' $OPENNMSHOME/bin/install -h'. Configuring Discovery By default, OpenNMS will not discover hosts until you configure it to do so, or explicitly add them in the Admin UI.

You will most likely want to tell OpenNMS where to look to discover hosts on your network. Edit $OPENNMSHOME/etc/discovery-configuration.xml.

You should see an example tag with a and an which is commented out. You will most likely want to uncomment it and change the beginning and end ranges (within the and tags, respectively). Additionally, you can add as many es as you'd like. If you would rather list the individual host that you want to have discovered, you can insert tags above the tag. Lastly, if you prefer to use the web interface to add individual hosts for OpenNMS to monitor, you leave the contents of this file commented out. The database The main PostgreSQL database is in $PGDATA/base ( $PGDATA is usually something like /var/lib/pgsql/data).

The journal PostgreSQL keeps a journal of transactions, in $PGDATA/pgxlog. If you can separate the pgxlog directory onto another spindle or mount point, you will increase your PostgreSQL performance considerably. To do so, you should be able to just shut down PostgreSQL, move that directory, symlink it to the old location, and start it back up. Sudo /etc/init.d/postgresql stop sudo mv /var/lib/pgsql/data/pgxlog /mnt/xlogspindle/pgxlog sudo ln -s /mnt/xlogspindle/pgxlog /var/lib/pgsql/data/pgxlog sudo /etc/init.d/postgresql start. RRD data storage causes a large number of small random disk writes, usually a few writes for each update. By default, OpenNMS stores each collected variable in its own file, unless the store by group feature is enabled.

Normally, there will be 2-3 writes for each update: one for the file header, one for the previous RRA, one for the next RRA. When multiple samples are consolidated into a single stored data point in the RRA, there will be additional writes. By default, such consolidations happen hourly and daily on the GMT day boundary.

This will cause higher than normal amount of writes after the top of the hour and after the GMT day boundary. The OpenNMS RRDs live, by default, in $OPENNMSHOME/share. If you are using the RPMs, this will be /var/opennms instead. Sudo mv /var/opennms /mnt/rrdspindle/opennms sudo rm -f /opt/opennms/share sudo ln -s /mnt/rrdspindle/opennms /opt/opennms/share.

Use noatime on OpenNMS Data Spindles on Linux and Solaris If you are dedicating spindles or drives to OpenNMS, you can mount them with the noatime option on Linux or Solaris for an additional performance boost. This will keep the OS from updating the file access time on individual RRD and database files every time they are used. On Linux, you do so by editing /etc/fstab and adding noatime to the options section of the filesystem. OpenNMS takes a while to startup. This can happen on larger installations and when this happens ' opennms -v status' will eventually show that all services have started up. By default, the startup script will try 10 times to see if OpenNMS has started and will wait 5 seconds between each try.

You can increase the number of times by creating $OPENNMSHOME/etc/opennms.conf and adding a line like ' STARTTIMEOUT=20' to double the number of times it tests. You can set the value to 0 to have the startup script not wait for OpenNMS to start. Database is not running.

If only about half or less of the daemons are shown as running, you can check for this condition by looking for FATAL errors in the log files. You'll see something like ' Error accessing database' in the logs. Dhcpd doesn't start. See the item in the next section. JNI library problem.

OpenNMS uses a few native C libraries that are accessed using JNI (Java Native Interface). Normally they just work, except users have started seeing problems when running Linux in native AMD64 mode where they end up using a 32-bit (x86) version of Java and a 64-bit (AMD64) version of the JNI libraries, or vice-versa. If you have this problem, you might want to try switching your version of Java from 32-bit to 64-bit or in the other direction. If the OpenNMS is installed, and the packages were not forced in using options like ' -nodeps', the application should run just fine. If not, OpenNMS has a robust logging facility.

Change to the logs directory (usually /var/log/opennms) and search the logs, using grep or your tool of choice, for words like FATAL and ERROR (the two highest log severities). Those events should give you clues as to why OpenNMS is not working. DHCP Poller Won't Start The OpenNMS DHCP poller will fail to start most operating systems (Linux, in particular) if you are running a DHCP client on the OpenNMS server. You'll see this by running ' opennms -v status' and seeing everything in the running state, except for Dhcpd. The solution is to edit $OPENNMSHOME/etc/service-configuration.xml and comment-out the '.'

Stanza for Dhcpd. Error: 'The database server's error messages are not in English.' You either need to set ' lcmessages = 'C' in your postgresql.conf file and restart PostgreSQL or upgrade to PostgreSQL 7.4 or later. The installer does not always verify that an operation will succeed before executing the operation (e.g.: dropping database functions). In this case, it catches the exceptions returned from the database and checks the exception to see if it is an 'okay' exception that should be ignored (e.g.: if the database function does not exist when attempting to drop a function). In PostgreSQL 7.4 and later, a new client/server protocol is used (version 3, to be specific) that provides specific error codes intended for programmatic evaluation and we use these error codes if the server provides them. However for PostgreSQL versions before 7.4, we require that the database server error language be in English (the ' C' locale) so that we can parse the text error messages.

If you are not running PostgreSQL 7.4 or newer, the installer executes a bogus query against the database and checks for an expected result in English. Error: 'Column X in new table has NOT NULL constraint.' This is a warning that the installer might not update tables successfully. Make sure that your database is backed up, and run the installer again with the '-N' option to ignore this check.

As an attempt to ensure that the install will complete successfully, a check is done to see if there might be any rows with NULL columns that might be inserted into a column in an upgrade table with a NOT NULL constraint. This usually happens when a previous run of the installer failed, or might be due to modifications to the database schema or a really old version of the schema. Error: 'One or more backup tables from a previous install still exists' When the installer runs to upgrade the OpenNMS database from a previous install, it often updates table schemas.

When it does this, it copies the data in a table to a temporary table (e.g.: the contents of node are copied into nodeold1234). The original table is deleted, the new version of the table is created, the data in the temporary table is translated into the new table, and finally the temporary table is deleted.

Unfortunately, the installer cannot check for all problems that might break translation, so sometimes the translation step fails. In this case, the installer 'reverts' the table it was processing by dropping the new table and moving the temporary table into its place.

Reverting the table in case of a problem is all good and well, but sometimes even it does not work properly, especially with older versions of the Java installer. If this happens, the temporary table (the one with 'old' in it) is left with all of the old data. Until OpenNMS 1.1.5, this problem would not be caught the next time you ran the installer. The installer would see that you did not have the node table, for example, and happily continue to create a new one for you. This is bad, especially since you probably still have data that you care about that is now in the 'old' table.

If you get this error, you will want to get rid of the table(s) containing 'old', however you want to first check if they contain data. For example, if you have a single table, nodeold1234, no other nodeold.

tables, and no node table, you can simply rename the table: # psql -h localhost -U opennms opennms Welcome to psql 7.4.6, the PostgreSQL interactive terminal. Type: copyright for distribution terms h for help with SQL commands? For help on internal slash commands g or terminate with semicolon to execute query q to quit opennms=# ALTER TABLE nodeold1234 RENAME TO node; You can use the ' d' command within psql to see what other tables exist in your database.

You can use ' SELECT count(.) from table;' (fill in the table name for 'table') to get a count of rows in any table. If you have empty tables, you can just drop them. If you have multiple tables with data, you will have to decide which table of data you want to keep or merge them.

This is left as a (not so simple) exercise for the reader. Error: 'Table X contains N rows (out of M) that violate new constraint Y' Over time OpenNMS extends its database schema to improve functionality. This error can happen because of the way certain administrative functions in older versions of OpenNMS functioned or if the database was modified outside of OpenNMS (the latter is common for larger sites). Over time OpenNMS has introduced additional foreign key constraints on its database.

These are used to ensure internal database consistency when data in two tables are tied together by a shared key. For example, each event can have a pointer to the node that it is related to; there is a foreign key constraint that requires that an event must not point at a node that does not exist. Starting with 1.1.5, when we upgrade the database schema, we first check for rows that violate any new foreign key constraints that might be added. There are three options to to fix these errors.

Remove the offending rows. This is suggested if the number of rows that violate the constraint is small in comparison to the total number of rows in the affected table and if you don't need the data. Use ' $OPENNMSHOME/bin/install -C -X' to delete the offending rows. Mark the key in the offending rows to NULL. This is suggested if you need to keep the data around or are not yet sure about what to do with it.

Use ' $OPENNMSHOME/bin/install -C ' to mark the key column to NULL in the offending rows. Fix the key in the offending rows. This is for advanced users and requires a good amount of effort. This is left as an exercise for the reader.

Error: '- adding iplike database function. Org.postgresql.util.PSQLException: ERROR: could not access file '/lib/iplike.so': Permission denied' The PostgreSQL server cannot access the iplike.so file. This could be due to the file itself not having appropriate permissions for the user that PostgreSQL runs as and/or one or more of the parent directories of the iplike.so not having appropriate permissions. This error is seen even when running the installer as root because it is not OpenNMS nor the installer that cannot access the iplike.so file, but the PostgreSQL database.

The installer instructs the PostgreSQL database to load the iplike.so and the PostgreSQL database server usually runs as a non-root user, so it is subject to filesystem access control checks like any other normal user. This is commonly seen when people install OpenNMS into a home directory for root or another user and the permissions on that home directory do not allow users other than the owner of the directory access.

Error: '- adding iplike database function. Org.postgresql.util.PSQLException: ERROR: could not load library.' The latter part of the error could be something like ' /iplike.so: cannot open shared object file: No such file or directory' or ' ld.so.1: postgres: fatal: /iplike.so: wrong ELF class: ELFCLASS32'. The PostgreSQL server cannot load the iplike.so file.

This is almost always caused by the PostgreSQL server and the iplike.so file being compiled for different processor instruction sets. This is commonly seen when the PostgreSQL server is compiled to use a 64-bit instruction set but the OpenNMS iplike.so shared object is compiled for a 32-bit instruction set, although the opposite is possible, as well.

You can use the ' file' command on iplike.so and the postmaster binary with PostgreSQL to check their instruction sets. The easiest solution is to see if there is a packaged version of OpenNMS compiled for the same instruction set (32- or 64-bit) as your PostgreSQL server.

The next easiest method for most users is to switch the PostgreSQL server to match the instruction set that the iplike.so file was compiled for. For advanced users, you can compile OpenNMS yourself to fit the processor set that you need. See for some pointers. Error: 'Exception in thread 'main' org.postgresql.util.PSQLException: ERROR: relation 'pguser' does not exist' when running installer. This error means the database was not created properly. Since the installer script is supposed to create the database, one might assume it is a problem with OpenNMS, but instead it is an issue with the SELinux portions of Red Hat 4 (and CentOS 4). Basically, the postgres initdb command is not able to write to /dev/null, and it fails without a useful error message.

To get around this, run the following commands. Error: java.io.FileNotFoundException.

(Permission denied) An exact example of this error is: ' java.io.FileNotFoundException: /opt/opennms/etc/users.xml (Permission denied)'. If the above error happens when using admin functions through the web interface, such as managing users, notifications, and adding nodes, then the Tomcat web server is running as a non-root user but you haven't changed the permissions on the configuration files so the Tomcat user can access them. Go back and follow the instructions earlier in the install guide on setting up Tomcat to run as a non-root user.

A low traffic, moderated mailing list for OpenNMS announcements. All posts to this list are duplicated on the opennms-discuss list. This is a fairly high traffic list of all updates to the Subversion repositories on SourceForge. Only SVN updates are posted here (no discussion). This list is for discussion of development of the OpenNMS codebase. This is the main OpenNMS discuss list.

It's pretty friendly, and reasonably high-volume. It tends to focus on configuration issues and general discussion of network management, but pretty much anything goes here. However, it is suggested that installation-related issues go to the opennms-install list instead. This is a great list for new users to OpenNMS.

The main focus is installation issues (cleared up by this great documentation, right?) but most 'newbie' questions are welcome here. OpenNMS has a network map feature, which includes code for automatically determining relationships between hosts (Linkd). This is the appropriate list for discussion of maps and the underlying Linkd code. A discussion list for people running OpenNMS on Windows. A list for discussion of OpenNMS in French. A list for discussion of OpenNMS in Italian.

A list for discussion of OpenNMS in Japanese, as well as general discussion among the Tokyo OpenNMS Users Group. A list for discussion of OpenNMS in UK English for those who don't speak American English (OK, just kidding). Actually, a discussion list for the UK OpenNMS Users Group.;) The OpenNMS mailing lists are also archived at.