1. 選擇 admin / Configure OpenNMS
2. 選擇 Configure SNMP Data Collection per Interface
[@more@]3. 選擇要偵測的設備
全新的繁體中文 WordPress 網站《宜蘭部落格教育平台 網站》
如果要偵測的設備已經有開啟 SNMP 功能,OpenNMS 會以預設的 public 群體名稱來做偵測掃描,但如果要偵測的設備不是使用 public 為群體名稱,可能就要特別去指定。
1. 選擇 admin / Configure OpenNMS
2. 選擇 Configure SNMP Community Names by IP Address[@more@]3. 輸入要偵測的 IP,然後按 Look up
7. 也可以直接修改 /opt/opennms/etc/snmp-config.xml 設定檔
# cp /opt/opennms/etc/snmp-config.xml /opt/opennms/etc/snmp-config.xml.$(date +%F)
# vim /opt/opennms/etc/snmp-config.xml
<snmp-config xmlns=”http://xmlns.opennms.org/xsd/config/snmp” version=”v2c” read-community=”public” timeout=”1800″ retry=”1″>
<definition write-community=”private” read-community=”test” port=”161″>
<range begin=”192.168.1.3″ end=”192.168.1.4″/>
</definition>
</snmp-config>
參考網頁:
Gmail example javamail-configuration.properties – OpenNMS
雜亂的學習筆記本: OpenNMS – OpenNMS 基礎應用篇(01) – Notification 設定
Shunze 學園 – 《二》設定notification郵件通知
1. 備份原檔
# cp /opt/opennms/etc/javamail-configuration.properties /opt/opennms/etc/javamail-configuration.properties.$(date +%F)
2. 修改設定檔 /opt/opennms/etc/javamail-configuration.properties
# vim /opt/opennms/etc/javamail-configuration.properties
把
#org.opennms.core.utils.mailHost=127.0.0.1
#org.opennms.core.utils.transport=smtp
#org.opennms.core.utils.smtpport=25
#org.opennms.core.utils.smtpssl.enable=false
#org.opennms.core.utils.authenticate=false
#org.opennms.core.utils.authenticateUser=opennms
#org.opennms.core.utils.authenticatePassword=opennms
#org.opennms.core.utils.starttls.enable=false
#org.opennms.core.utils.messageContentType=text/plain
#org.opennms.core.utils.charset=us-ascii
[@more@]修改成
org.opennms.core.utils.mailHost=smtp.gmail.com
org.opennms.core.utils.transport=smtps
org.opennms.core.utils.smtpport=465
org.opennms.core.utils.smtpssl.enable=true
org.opennms.core.utils.authenticate=true
org.opennms.core.utils.authenticateUser=帳號@gmail.com
org.opennms.core.utils.authenticatePassword=密碼
org.opennms.core.utils.starttls.enabe=true
org.opennms.core.utils.messageContentType=text/html
org.opennms.core.utils.charset=UTF-8
或
org.opennms.core.utils.mailHost=smtp.gmail.com
org.opennms.core.utils.transport=smtp
org.opennms.core.utils.smtpport=587
org.opennms.core.utils.smtpssl.enable=false
org.opennms.core.utils.authenticate=true
org.opennms.core.utils.authenticateUser=帳號@gmail.com
org.opennms.core.utils.authenticatePassword=密碼
org.opennms.core.utils.starttls.enabe=true
org.opennms.core.utils.messageContentType=text/html
org.opennms.core.utils.charset=UTF-8
3. 重新啟動 OpenNMS
# systemctl restart opennms.service
OpenNMS 安裝完成預設沒有開啟 Notification
修改方式:
1. 選擇 admin / Configure OpenNMS
也可以直接修改 /opt/opennms/etc/notifd-configuration.xml 設定檔
# cp /opt/opennms/etc/notifd-configuration.xml /opt/opennms/etc/notifd-configuration.xml.$(date +%F)
# sed -i ‘s/status=”off”/status=”on”/’ /opt/opennms/etc/notifd-configuration.xml
5. 選擇 Configure Notifications,設定哪些事件要通知
6. 選擇 Configure Event Notifications
7. 選擇要通知的 Notification,如果有不夠的,也可以按上方的 Add New Event Notification 新增
如果 Server 可以直接寄送信件,那麼管理者就會收到通知信,如果不行的話,可以改用 GMAIL 來寄送!
修改方式:
1. 選擇 admin / Configure OpenNMS
4. 將要偵測的 IP 寫在一個檔案之中,一個 IP 一行
# cat /home/host.lst
192.168.2.1 # stu01
192.168.2.10 # stu10
7. 最後按 Save and Restart Discovery
9. 如果覺得使用 Web 畫面來操作過於麻煩,也可以直接修改
# cat /opt/opennms/etc/discovery-configuration.xml
<?xml version=”1.0″ encoding=”UTF-8″?><discovery-configuration initial-sleep-time=”30000″ packets-per-second=”1″ restart-sleep-time=”86400000″ retries=”1″ timeout=”2000″>
<include-range>
<begin>192.168.1.1</begin>
<end>192.168.1.254</end>
</include-range>
</discovery-configuration>
在 /var/log/message 出現
systemd: Started OpenNMS server.
systemd: Configuration file /usr/lib/systemd/system/opennms.service is marked executable. Please remove executable permission bits. Proceeding anyway.
查看權限 655
# ls -l /usr/lib/systemd/system/opennms.service
-rw-r-xr-x. 1 root root 363 Mar 22 22:11 /usr/lib/systemd/system/opennms.service
改成 644
# chmod 644 /usr/lib/systemd/system/opennms.service
檔案權限已經改成 644
# ls -l /usr/lib/systemd/system/opennms.service
-rw-r–r–. 1 root root 363 Mar 22 22:11 /usr/lib/systemd/system/opennms.service
利用時間完成,採手動的方式來進行後續的設定工作
在 /root 目錄下放置 README 檔案,說明設定的步驟!
# cat /root/README
# 底下請以 root 身份執行
# Java 設定
# /opt/opennms/bin/runjava -s
#
# PostgreSQL Server初始化資料庫
# /usr/bin/postgresql-setup initdb
# sed -i ‘/^host/s/…..$/md5/’ /var/lib/pgsql/data/pg_hba.conf[@more@]#
# 重新啟動 PostgreSQL Server
# systemctl enable postgresql.service
# systemctl restart postgresql.service
#
# PostgreSQL Server 資料庫設定帳號及密碼
# sudo -u postgres psql -c “CREATE USER opennms WITH PASSWORD ‘密碼’;”
# sudo -u postgres psql -c “CREATE DATABASE opennms;”
# sudo -u postgres psql -c “GRANT ALL PRIVILEGES ON DATABASE opennms to opennms;”
#
# OpenNMS 資料庫帳號及密碼設定
# sed -i -e ‘s/password=”opennms”/password=”密碼”/’ -e ‘s/password=””/password=”密碼”/’ -e ‘s/user-name=”postgres”/user-name=”opennms”/’ /opt/opennms/etc/opennms-datasources.xml
#
# 初始化 OpenNMS
# /opt/opennms/bin/install -dis
#
# RRD 設定
# sed -i ‘/MultithreadedJniRrdStrategy/s/^#org/org/’ /opt/opennms/etc/rrd-configuration.properties
# sed -i ‘/rrd2/s/^#opennms/opennms/’ /opt/opennms/etc/rrd-configuration.properties
# sed -i ‘/rrd2/s/^#org/org/’ /opt/opennms/etc/rrd-configuration.properties
#
# OpenNMS 啟動並設定開機時啟動
# systemctl enable opennms.service
# systemctl start opennms.service
執行紅字部分的指令
如果碰到 SELinux 的問題,可以先試著關掉!
# sed -i ‘s/^(SELINUX=).*$/1”disabled/’ /etc/selinux/config
# sync;sync;sync;reboot
如果要取消 OpenNMS 自動更新
# sed -i ‘/gpgcheck/aenable=0’ /etc/yum.repos.d/opennms-repo-stable-rhel7.repo
反之
# sed -i ‘s/enable=0/enable=1/’ /etc/yum.repos.d/opennms-repo-stable-rhel7.repo
參考網頁:
OpenNMS Installation Guide
根據官方網站上的解釋:
Newts 是基於 Apache Cassandra 的時間序列資料儲存,是一個持久性的策略,可以用來取代 JRobin 或是 RRDtool。
在 CentOS 7.x 下安裝
1. 新增 DataStax 套件庫設定檔
# vim /etc/yum.repos.d/datastax.repo
[datastax]
name = “DataStax Repo for Apache Cassandra”
baseurl = https://rpm.datastax.com/community
enabled = 1
gpgcheck = 1
2. 安裝 GPG Key
# rpm –import https://rpm.datastax.com/rpm/repo_key
3. 更新套件庫
# yum update[@more@]4. 安裝 Cassandra 3.0.x package
# yum install dsc30
5. 啟動 Cassandra 服務
# systemctl enable cassandra
cassandra.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cassandra on
# systemctl start cassandra
6. 設定 OpenNMS Horizon
# cp /opt/opennms/etc/opennms.properties /opt/opennms/etc/opennms.properties.$(date +%F)
將 false 改為 true
# sed -i ‘/rrd.storeByForeignSource/s/false/true/’ /opt/opennms/etc/opennms.properties
取消前面的註解,並將 rrd 改為 newts
# sed -i ‘/^#org.opennms.timeseries/s/#org.opennms.timeseries.strategy=rrd/org.opennms.timeseries.strategy=newts/’ /opt/opennms/etc/opennms.properties
取消前面的註解
# sed -i ‘/newts.config.hostname/s/^#org/org/’ /opt/opennms/etc/opennms.properties
# sed -i ‘/keyspace/s/^#org/org/’ /opt/opennms/etc/opennms.properties
# sed -i ‘/9042/s/^#org/org/’ /opt/opennms/etc/opennms.properties
7. 初始化 newts
# /opt/opennms/bin/newts init
8. 進行驗證
# cqlsh 127.0.0.1 9042
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.9 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh> use newts;
cqlsh:newts> describe table terms;
CREATE TABLE newts.terms (
context text,
field text,
value text,
resource text,
PRIMARY KEY ((context, field, value), resource)
) WITH CLUSTERING ORDER BY (resource ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {‘keys’: ‘ALL’, ‘rows_per_partition’: ‘NONE’}
AND comment = ”
AND compaction = {‘class’: ‘org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy’, ‘max_threshold’: ’32’, ‘min_threshold’: ‘4’}
AND compression = {‘chunk_length_in_kb’: ’64’, ‘class’: ‘org.apache.cassandra.io.compress.LZ4Compressor’}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = ’99PERCENTILE’;
cqlsh:newts> describe table samples;
CREATE TABLE newts.samples (
context text,
partition int,
resource text,
collected_at timestamp,
metric_name text,
attributes map<text, text>,
value blob,
PRIMARY KEY ((context, partition, resource), collected_at, metric_name)
) WITH CLUSTERING ORDER BY (collected_at ASC, metric_name ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {‘keys’: ‘ALL’, ‘rows_per_partition’: ‘NONE’}
AND comment = ”
AND compaction = {‘class’: ‘org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy’, ‘max_threshold’: ’32’, ‘min_threshold’: ‘4’}
AND compression = {‘chunk_length_in_kb’: ’64’, ‘class’: ‘org.apache.cassandra.io.compress.LZ4Compressor’}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = ’99PERCENTILE’;
cqlsh:newts> quit
9. 重新啟動 OpenNMS
# systemctl restart opennms
參考網頁:
OpenNMS Installation Guide
雜亂的學習筆記本: OpenNMS – OpenNMS 安裝篇(04) – Cassandra 的安裝與 Newts 的設定
根據官方網站上的解釋:
Newts 是基於 Apache Cassandra 的時間序列資料儲存,是一個持久性的策略,可以用來取代 JRobin 或是 RRDtool。
在 Ubuntu 16.04 下安裝
1. 新增 DataStax 套件庫設定檔
# vim /etc/apt/sources.list.d/cassandra.sources.list
deb https://debian.datastax.com/community stable main
2. 安裝 GPG Key
# wget -O – https://debian.datastax.com/debian/repo_key | apt-key add –
3. 更新套件庫
# apt-get update[@more@]
4. 安裝 Cassandra 3.0.x package
# apt-get install dsc30
如果出現下面的錯誤訊息,請下載 python-support 進行安裝
The following packages have unmet dependencies:
dsc30 : Depends: python-support (>= 0.90.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
# wget http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb
# dpkg -i python-support_1.0.15_all.deb
Selecting previously unselected package python-support.
(Reading database … 72575 files and directories currently installed.)
Preparing to unpack python-support_1.0.15_all.deb …
Unpacking python-support (1.0.15) …
Setting up python-support (1.0.15) …
Processing triggers for man-db (2.7.5-1) ...
5. 設定 OpenNMS Horizon
# cp /usr/share/opennms/etc/opennms.properties /usr/share/opennms/etc/opennms.properties.$(date +%F)
將 false 改為 true
# sed -i ‘/rrd.storeByForeignSource/s/false/true/’ /usr/share/opennms/etc/opennms.properties
取消前面的註解,並將 rrd 改為 newts
# sed -i ‘/^#org.opennms.timeseries/s/#org.opennms.timeseries.strategy=rrd/org.opennms.timeseries.strategy=newts/’ /usr/share/opennms/etc/opennms.properties
取消前面的註解
# sed -i ‘/newts.config.hostname/s/^#org/org/’ /usr/share/opennms/etc/opennms.properties
# sed -i ‘/keyspace/s/^#org/org/’ /usr/share/opennms/etc/opennms.properties
# sed -i ‘/9042/s/^#org/org/’ /usr/share/opennms/etc/opennms.properties
6. 初始化 newts
# /usr/share/opennms/bin/newts init
7. 進行驗證
# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.9 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh> use newts;
cqlsh:newts> describe table terms;
CREATE TABLE newts.terms (
context text,
field text,
value text,
resource text,
PRIMARY KEY ((context, field, value), resource)
) WITH CLUSTERING ORDER BY (resource ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {‘keys’: ‘ALL’, ‘rows_per_partition’: ‘NONE’}
AND comment = ”
AND compaction = {‘class’: ‘org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy’, ‘max_threshold’: ’32’, ‘min_threshold’: ‘4’}
AND compression = {‘chunk_length_in_kb’: ’64’, ‘class’: ‘org.apache.cassandra.io.compress.LZ4Compressor’}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = ’99PERCENTILE’;
cqlsh:newts> describe table samples;
CREATE TABLE newts.samples (
context text,
partition int,
resource text,
collected_at timestamp,
metric_name text,
attributes map<text, text>,
value blob,
PRIMARY KEY ((context, partition, resource), collected_at, metric_name)
) WITH CLUSTERING ORDER BY (collected_at ASC, metric_name ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {‘keys’: ‘ALL’, ‘rows_per_partition’: ‘NONE’}
AND comment = ”
AND compaction = {‘class’: ‘org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy’, ‘max_threshold’: ’32’, ‘min_threshold’: ‘4’}
AND compression = {‘chunk_length_in_kb’: ’64’, ‘class’: ‘org.apache.cassandra.io.compress.LZ4Compressor’}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = ’99PERCENTILE’;
cqlsh:newts> quit
8.重新啟動 OpenNMS
# systemctl restart opennms