`
jinkingmanager
  • 浏览: 39031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

openNMS配置文件介绍(转)

阅读更多
配置文件介绍

1.自身管理
1.1 service-configuration.xml
    这个档案定义opennms本身要启动的服务. 它和VM有关,并且控制哪个服务在哪个VM中开启.
1.2 jmx-datacollection-config.xml
2.发现:
2.1        discovery-configuration.xml (daemon)
    这个档案定义要发掘的网络地址范围,(ping sweep)以及逾时,重试次数,以及用来做发掘的执行绪(thread)数目。这个档案也提供 初次发掘间隔时间(initial-sleep-time)和重新发                掘间隔时间(restart-sleep-time)。这些数值以毫秒(miliseconds)为单位,用来决定 OpenNMS执行后,间隔多久要开始针对网络地址清单作发掘;以及每次发掘之间的间隔时间。
Let's look at that file:
  
 <discovery-configuration threads="1" packets-per-second="1"initial-sleep-time="300000"
		restart-sleep-time="86400000" retries="3" timeout="800">
        <include-range retries="2" timeout="3000">
            <begin>192.168.0.1</begin>
            <end>192.168.0.254</end>
        </include-range>
        <include-url>file:/opt/OpenNMS/etc/include</include-url>
    </discovery-configuration>


3.配置性能采集
3.1 snmp-config.xml
    定义snmp采集的节点、版本、read-community、超时、重试次数等
    The parameters used to connect with SNMP agents are defined in the snmp-config.xml file.
    Here is an example:
   
<snmp-config retry="3" timeout="800" read-community="public" write-community="private">
        <definition version="v2c">
            <specific>192.168.0.5</specific>
        </definition>
        <definition retry="4" timeout="2000">
            <range begin="192.168.1.1" end="192.168.1.254"/>
            <range begin="192.168.3.1" end="192.168.3.254"/>
        </definition>
        <definition read-community="bubba" write-community="zeke">
            <range begin="192.168.2.1" end="192.168.2.254"/>
        </definition>
        <definition port="1161">
            <specific>192.168.5.50</specific>
        </definition>
    </snmp-config>

3.2 collectd-configuration.xml
    Data collection is handled via the collectd process. collectd listens for NodeGainedService events for the SNMP "service". When this happens, it checks to see if the primary SNMP interface for that node exists in a collection package (which it should by definition).
    If so, the SNMP collector is instantiated for that IP address.
     Unless forced toward one version or another via the snmp-config.xml file, when the collection is initialized it will check to see if SNMPv2 is supported by attempting a GET-BULK on system.
    sysObjectID. If that fails it will revert to version 1.
    This is a change from earlier versions of OpenNMS. capsd is no longer responsible for determining the SNMP version. Whether or not SNMPv2 is supported on a node will no longer show up on the node page.
    Let's look at the collectd-configuration.xml file:
  
 <collectd-configuration threads="5">
        <package name="example1">
            <filter>IPADDR IPLIKE *.*.*.*</filter>
            <specific>0.0.0.0</specific>
            <include-range begin="192.168.0.1" end="192.168.0.254"/>
            <include-url>file:/opt/OpenNMS/etc/include</include-url>
            <service name="SNMP" interval="300000" user-defined="false" status="on">
                <parameter key="collection" value="default"/>
                <parameter key="port" value="161"/>
                <parameter key="retry" value="3"/>
                <parameter key="timeout" value="3000"/>
            </service>
            <outage-calendar>zzz from poll-outages.xml zzz</outage-calendar>
        </package>
        <collector service="SNMP"    class-name="org.opennms.netmgt.collectd.SnmpCollector"/>
	</collectd-configuration>

  
 If you are familiar with the poller configuration file, you can probably figure out what this file does. 
    The threads attribute limits the number of threads that will be used by the data collection process. You can increase or decrease this value based upon your network and the size of your server. 
    Just like pollers have poller packages, collectors have collection packages. Each package determines how often the device will be polled for SNMP data, and through the collection key, what will be polled and how it will be stored. The example1 package is the default included out of the box. 
    [edit]
    What Interfaces are Included in a Package? 
    The package name is followed by a list of tags that define what interfaces will be included in the package. There are five types of these tags: 
    filter  
    Specify a filter that matches the interfaces to be included in the package. 
    <filter>IPADDR IPLIKE *.*.*.*</filter>
    Each package must have a filter tag that performs the initial test to see if an interface should be included in a package. Filters operate on interfaces (not nodes) and will be discussed in depth in another How-To. Only one filter statement can exist per package. 
    specific 
    Specify a specific IP address to include in the package. 
    <specific>192.168.1.59</specific>
    include-range  
    This specifies a particular range of IP addresses to include in a package. 
    <include-range begin="192.168.0.1" end="192.168.0.254"/>
    exclude-range 
    This specifies a particular range of IP addresses to exclude in a package. This will override an include-range tag. 
    <exclude-range begin="192.168.0.100" end="192.168.0.104"/>
    include-url  
    Specify a file that contains a list of IP addresses to include. 
    <include-url>file:/opt/OpenNMS/etc/include</include-url>
    This tag will point to a file that consists of a list of IP addresses, one to a line, that will be included in the package. Comments can be imbedded in this file. Any line that begins with a "#" character will be ignored, as will the remainder of any line that includes a space followed by "#". 
    All of the above tags, except for filter, are optional and unbounded.   
 
3.3 datacollection-config.xml (daemon)
    这个档案包含给RRDTool的数据收集信息.
3.4 poller-configuration.xml (daemon)
这个档案用来定义轮询组合(packages)以及设定各种服务的轮询器(pollers)。一个轮询组合内含数种项目,例如网络地址范围, ,服务,排修时段(outage calendars),和故障时段模式(down time models).
4.  性能阈值
    4.1 thresholds.xml
        用来设置阀值,当到达阀值时,会根据设定触发event和notification,详情见另一篇博文。
5.  RTC
    5.1 rtc-configuration.xml
    这个档案定义RTC (Real Time Console)的属性,例如用来计算故障时段百分比的周期(rolling window),web UI刷新周期,以及多久 RTC将更新送至web接口。

6.  事件告警
    6.1 eventconf.xml
这个档案定义通用事件识别码(Universal Event Identifiers或UEIs)以及它们的事件屏蔽(masks),描述,记录文件讯息,和严重程度。
    6.2 trapd-configuration.xml (daemon)
        这个档案定义SNMP trap的埠口(port)。
    6.3 eventd-configuration.xml (daemon)
        这个档案定义eventd的运作参数,例如逾时值以及监听器执行绪(listener threads)的数量。
    6.4 actiond-configuration.xml (daemon)
在事件(events)产生时所呼叫的外部程序称为(actions). 这个设定档控制最多可以同时 执行的action数量, 以及等待action执行完毕回传结果的逾时值。
    6.5 notifications.xml
       这个档案定义哪个事件或UEI发出告警, 以及发出告警的途径.
   
<notification name="nodeAdded">
			<uei><![CDATA[http://uei.opennms.org/products/bluebird/nodes/nodeAdded]]></uei>
                <rule><![CDATA[IPADDR IPLIKE *.*.*.*]]></rule>
                <destinationPath>Email-Network/Systems</destinationPath>
                <text-message>
				OpenNMS has discovered a new node named %parm[nodelabel]%. Please be advised.
				</text-message>
                <subject>%parm[nodelabel]% discovered.</subject>
      </notification>

    6.6 destinationPaths.xml
        这个档案用来定义告警的目标路径(destination path), 例如告警应该送给谁,传送方式用传呼, 电邮, 或者电邮-传呼.
    6.7 notificationCommands.xml
        这个档案定义如何达成在destinationPaths.xml中所使用的各种联络方式. 这包括了可执行文件的所在位置, 各种联络方式的别名(aliases), 以及特定传送方式尚需的其它信息.
   
<command type="email">
        <name>/bin/mail</name>
        <lookup>email</lookup>
        <lookup>mail</lookup>
        <comment>for sending email notifications</comment>
        <argument streamed="false">
            <substitution>-s</substitution>
            <switch>-subject</switch>
        </argument>
        <argument streamed="false">
            <switch>-email</switch>
        </argument>
        <argument streamed="true">
            <switch>-tm</switch>
        </argument>
    </command>

7.  服务管理
    7.1 capsd-configuration.xml (daemon)
        这个档案定义, 对于已经发现的节点(包含由discovery daemon或SNMP所发现的),我们能够侦测出哪些服务.它还可定义,若发掘了某些网络地址/网络地址区段,则应该受控或排除在外. 对于没有定义到的其它网络地址,它可用一个预设的状态(管理政策)来规范.
      <capsd-configuration rescan-frequency="86400000"
         management-policy="unmanaged">     最后,这个档案可以让你设定"rescan-frequency"(重新扫描网络的频率).这个设定决定了时间间隔多久需重新扫描网络上的设备, 并且重新确认其上有哪些服务.这个数字的单位是毫秒,默认值是86400000,也就是24小时.
    7.2 outage-configuration.xml
        这个档案只是用来定义(服务)中断管理(outage manager)可以有多少个写入执行绪(writer threads)。
8.  数据库
    8.1 create.sql database-schema.xml
        一般来说, 在安装过程中, 指令稿install.pl会去呼叫create.sql, 来建立OpenNMS数据库. create.sql中的批注很易懂. OpenNMS数据库的schema定义在database-schema.xml; 执行筛选时, 系统会参照它来执行数据库查询.
    8.2 opennms-database.xml
        数据库class、url、用户名、密码
这个档案定义了供OpenNMS使用的数据库型态,名称,认证,以及套用的模板。
9.  其他
    9.1 users.xml / groups.xml                      这些档案存放使用者的信息,例如他们的联络方式,所属群组和会员资格。这些档案的信息是用来做web UI的身份认证 及告警所需的联络方式。
    9.2 log4j.properties                    这个档案定义log4j的属性。它包括记录文件大小,更迭(rotation),以及各类别记录文件的记录层级。
    9.3 magic-users.properties                 这个档案的优先权高于users.xml,它包含了一些特殊使用者的信息。这是刻意用来控制和web UI互动的某些功能之权限。
    9.4 AvailabilityReports.xsl SVGAvailReport.xsl PDFAvailReport.xsl
        这三个档案的信息是关于如何将可用性报表转换成PDF格式.
9.5 viewsdisplay.xml
这个档案定义在web UI中显示时, 各个类别的呈现方式. 这些类别则是 定义在views.xmlcategories.xml.

功能模块
1. 总控/调度   Classloader
2. 发现轮训
.能力检查Capability daemon - capability check on nodes
.动态主机配置协议DHCP daemon - DHCP client for OpenNMS
.发现Discovery daemon - initial and ongoing discovery互联网控制消息协议(Internet Control Message Protocol或简写ICMP)
3. 配置采集
数据采集Collection daemon - collects data
jmxMbean:Collectd
extendsServiceDaemon
单例(singleton)

采集流程:
1. Initializing collection daemon 初始化日志加载调度
	2. Loading collectors"
		a) instantiateCollectors
		b) createScheduler
		c) createEventProcessor
	3. start
		a) scheduleExistingInterfaces()
			i.从表中取
	4. pause
	5. resume
	6. stop

4. 性能采集
5. 事件
.通知Notification daemon - external notification of users
1.实时控制RTC manager daemon - real time availability information
	2.陷阱SNMP trap daemon – handles SNMP traps
	3.阈值Threshold daemon – monitor for threshold values
	4.运行情况Outage manager daemon - consolidates events

6. 服务
轮训Poller daemon - polls managed nodes/services
分享到:
评论

相关推荐

    opennms配置文件介绍

    ### OpenNMS配置文件介绍 #### 一、概述 OpenNMS是一款开源的企业级网络管理系统,它可以用于监控网络设备的状态和服务。为了使OpenNMS能够有效地执行这些任务,需要通过一系列配置文件对其进行设置。本文将详细...

    opennms配置,功能手册

    1. **系统维护**:定期备份OpenNMS数据库和配置文件,以便在出现问题时快速恢复。 2. **版本更新**:保持OpenNMS的最新版本,以获取最新的特性和安全补丁。 本手册将引导你完成OpenNMS的配置,了解其各项功能,并...

    OpenNMS安装、配置[归纳].pdf

    sources.list文件是Ubuntu的软件包管理系统apt-get的配置文件,用于指定软件包的下载地址。 2. 接下来,需要获取OpenNMS的密钥,使用apt-key工具添加密钥,这样可以确保软件包的安全。 3. 更新软件包列表,使用apt-...

    OpenNMS通知配置(发送邮件)

    默认情况下,邮件服务器的配置文件位于OpenNMS安装目录下的etc文件夹中,文件名为javamail-configuration.properties。我们可以通过编辑这个文件来设置邮件服务器的相关参数。 在配置文件中,主要需要设置的参数...

    OpenNMS数据采集配置

    首先,OpenNMS使用XML格式的配置文件进行数据采集的设置,主要文件为`etc/datacollection-config.xml`。在这个文件中,定义了数据采集的各种参数,例如存储标志参数`snmpStorageFlag`。这个参数决定了哪些数据会被...

    opennms sendmail(邮件发送) 功能配置

    需要注意的是,由于内容中有OCR技术识别的误差,实际操作时应核对参数的准确性,并且在配置文件中正确填写,以确保邮件发送功能能够正常工作。例如,在原始描述中出现的`org.opennms.core.utils.authenticateUser`...

    opennms-source.tar.gz_SNMP_openNMS

    解压源代码后,使用Maven或Gradle等构建工具进行编译,生成可执行的JAR文件。然后,按照官方文档的指引配置数据库连接、SNMP代理等参数,进行安装部署。在运行过程中,可以通过Web界面进行管理,也可以利用API接口与...

    opennms启动过程分析

    OpenNMS 作为一个功能强大的网络管理系统,其启动过程中涉及到多个服务的启动、线程的启动和配置文件的解析。下面将对 OpenNMS 的启动过程进行详细分析。 一、OpenNMS 系统架构 OpenNMS 的系统架构可以通过系统架构...

    OpenNMS安装相关问题

    OpenNMS的安装涉及一系列步骤,包括安装JRE、数据库系统(如PostgreSQL),以及对OpenNMS的安装包和配置文件进行处理。在安装过程中可能会遇到各种问题,如版本兼容性问题、配置错误或权限问题,但通过合理的配置和...

    OpenNMS系统Newts数据存储方式配置

    最后,在运行OpenNMS的服务器(***.***.*.**)上,需要修改OpenNMS的配置文件opennms.properties。此处要配置的时间序列策略为newts,同时需要指定Cassandra服务的主机名、键空间和端口。具体的配置项包括org....

    Opennms从源码编译安装指南

    本文将详细介绍Opennms从源码编译安装的步骤。 源代码获取 首先,需要从Opennms网站下载源代码,或者通过Git从Opennms服务器上下载。使用以下命令下载源代码: ``` mkdir ~/rcs; cd ~/rcs git clone git://...

    OpenNMS安装文档和试用报告

    本文将详细介绍如何在Linux环境下安装OpenNMS,并提供一些试用过程中的注意事项。 首先,安装OpenNMS之前,确保你的系统是Linux,并且具备访问互联网的能力,因为我们将使用Yum包管理器进行安装。Yum是Red Hat和...

    opennms-cookbook:用于OpenNMS安装和配置的Chef Cookbook

    厨师食谱,用于管理OpenNMS Horizo​​n的安装和配置。 当前版本支持CentOS 6和7的发行版16、17、18、19、20、21、22、23、24、25、26。 版本号 从OpenNMS Horizo​​n 16开始,该食谱版本的MSB与其支持的OpenNMS ...

    OpenNMS-MCollective-Client:mcollective 的应用程序,它允许来自 mcollective 的事实自动提供 OpenNMS 内的节点

    这是一个 MCollective 应用程序文件,它允许 mcollective 生成​​ OpenNMS 网络管理系统的供应申请。 先决条件版本 &gt;=1.10.0 的正在运行的 OpenNMS 服务器(早期版本中存在一个错误,会导致配置重复节点) 对 ...

    OpenNMS-Helm(Grafana插件)安装使用

    具体操作包括使用yum命令安装OpenNMS的稳定仓库,需要从指定的URL下载rpm文件,并导入相关的GPG密钥以确保软件包的完整性。安装命令如下: ``` yum install *** *** ``` 接着,通过yum命令安装OpenNMS-Helm。安装...

    OPENNMS安装手册

    ### OPENNMS安装手册知识点概览 ...通过阅读本指南,用户不仅能够了解如何安装和配置OPENNMS,还能学会如何有效地利用其功能来监测和管理网络资源。无论是对于初学者还是一般用户来说,这都是一个非常有价值的资源。

    OpenNMS SNMP traps to RSS-开源

    `README` 文件是项目说明文档,包含了如何使用这些脚本、必要的依赖、配置步骤以及可能的使用示例。这是理解项目如何运行和应用的关键。 总的来说,"OpenNMS SNMP traps to RSS" 提供了一种高效、实时监控网络健康...

    opennms-modules-manager:用于管理 opennms-modules 的 CLI

    为了使用 OpenNMS Modules Manager,你需要先将其克隆或下载到本地,例如,你可以找到名为 "opennms-modules-manager-master" 的压缩包文件,解压后通过 Java 运行环境执行相应的脚本或命令。在执行前,确保你的系统...

    opennms-drift-kubernetes:Kubernetes中的OpenNMS Drift部署,用于测试和学习

    Kubernetes中的OpenNMS漂移在部署OpenNMS Drift。...集群配置继续使用首选的群集技术: 在AWS上使用 。 在AWS上使用 。 在Google Compute Platform上使用 。 在Microsoft Azure上使用 。 在机器上使用

Global site tag (gtag.js) - Google Analytics