OpenNMS監芖システム

画像



少しでも愛囜心がないように思われたくはありたせんが、歎史的には、ネットワヌクむンフラストラクチャを監芖するための䌁業システムを遞択するず、OpenNMSが圓瀟を打ち負かし、Grandma Cactiをこのポゞションから排陀し、同胞Zabbixを远い抜いたこずが刀明したした。 Open Source監芖システムの比范分析は私の蚈画に含たれおいたせん。したがっお、OpenNMSに぀いおはHabrに぀いおは曞いおおらず、あたり情報がないので、OpenNMSに぀いお䞀般的な甚語で抂説したす。



OpenNMSOpen Network Monitoring Systemの䞻な機胜は、さたざたなサヌビスずネットワヌクおよびサヌバヌ機噚の内郚システムの監芖です。 情報を収集するために、いわゆる「コレクタヌ」が䜿甚され、SNMP、HTTP、ITDITPプロトコルを介しお動䜜したす。 OpenNMSには個別のサヌバヌ゚ヌゞェントはありたせん。 情報が必芁であるこずが刀明した堎合、「䜿甚䟋」セクションの次の資料で「ラッパヌ」の実装䟋を説明したす。 著者ず読者の䞡方が理解するのが難しい巚倧なテキストシヌトの発行で間違いを繰り返したくありたせん。



簡単な説明



OpenNMSは動的に開発されおおり、十分に文曞化されおいたすが、コミュニティは断片化されおおり、無数のXMLファむルを線集するように構成するず、倚くの人が怖くなりたす。 システムはJavaで曞かれおおり、Perlの付録があり、さたざたなプラットフォヌム甚のかなりの量のディストリビュヌションがリリヌスされおいたす。 必芁に応じお、Java SDKおよびPostgreSQLサヌバヌがむンストヌルされおいる任意のマシンで実行できたす。



1 GHz Pentium IIIたたは同等のプロセッサ以䞊。 最小256 MBのRAM。ただし、512 MBを匷くお勧めしたす。


公匏のドキュメントに蚘茉されおいるこれらのシステム芁件は、控えめに蚀っおも、 最小限のものであり、システム自䜓を起動するだけのものです。 したがっお、64ビットCPU、2 Gb RAMこれは非垞に最小限、高性胜ハヌドドラむブなど、少し修正するこずができたす。



システムの倧食いは、監芖するノヌドの数に䟝存したす。 1,500以䞊のノヌドず5,000以䞊のむンタヌフェむスVLAN、ポヌト、サヌビスなどを備えたシステムは、12 GbのRAMずSASハヌドを搭茉したXeon E5520で快適に感じたす。 同時に、rrdファむルを保存するための2Gb tmpfsパヌティションが提䟛されたした。 パワヌリザヌブは2回以䞊割り圓おられおいたす。これは、ネットワヌクの成長ず、曎新および開発のプロセスにおけるシステムの欲求に圱響を䞎えおいたす。



蚭眮



ntp, net-snmp, net-snmp-utils, postgresql, postgresql-server, perl



事前むンストヌルしntp, net-snmp, net-snmp-utils, postgresql, postgresql-server, perl



。 基本的に、瀺されおいるすべおのサヌビスを構成しお実行したす。 次に、Oracleサむトから最新バヌゞョンのJDKをダりンロヌドしおむンストヌルしたす。最埌に、OpenNMSリポゞトリに接続しおシステム自䜓をむンストヌルできたす。

 rpm -Uvh http://yum.opennms.org/repofiles/opennms-repo-stable-rhel6.noarch.rpm yum install opennms iplike
      
      





最新のパッケヌゞは、IPNIKEストアドプロシヌゞャの圢匏でのOpenNMS開発者からのPostgreSQLのアドオンで、 192.168.4-255.*



などのマスクを䜿甚しおIPアドレスずネットワヌクアドレスによるク゚リを凊理するのに圹立ちたす192.168.4-255.*



は、システム自䜓でアクティブに䜿甚されたす。



[]システムがむンストヌルされおいるホスト名が、resolv.confに登録されおいるDNSサヌバヌで解決しない堎合は、ホストに曞き蟌みたす。 そうしないず、システムは起動したせん。 たた、PostgreSQLの初期蚭定にも泚意を払う必芁がありたす。 /var/lib/pgsql/data/pg_hba.conf



にサヌバヌをデフォルトでむンストヌルした埌、3぀のロヌカル接続すべおにメ゜ッドtrustを配眮したす。

 /opt/opennms/bin/runjava -S /usr/java/latest/bin/java /opt/opennms/bin/install -dis /etc/init.d/opennms start
      
      





起動埌、システムは次の堎所で利甚可胜になりたす。 hostname:8980



hostname:8980



別のWebサヌバヌをむンストヌルする必芁はありたせん-OpenNMS WebむンタヌフェむスはJettyサヌバヌを介しお機胜したす。 ただし、必芁に応じお、Jetty自䜓を再構成するか、ポヌト80でmod_proxyを䜿甚しおNginxたたはApacheをハングアップし、すべおの芁求でproxy_passを実行できたす。



システム党䜓を再むンストヌルする堎合、デヌタベヌスを削陀しお/var/opennms



を削陀する必芁がありたす。 そうしないず、グラフやレポヌトずの衝突が発生したす。 完党な再むンストヌルの堎合、郚分的に/opt/opennms/bin/install -dis



ために、 yum reinstall opennms



および/opt/opennms/bin/install -dis



yum reinstall opennms



をyum reinstall opennms



/opt/opennms/bin/install -dis



2回目のみ。



OpenNMSの起動時に、OpenNMSの開始メッセヌゞが衚瀺されたすが、 Started OpenNMS, but it has not finished starting up



。 たず、構成゚ラヌが発生し、すべおのサヌビスが実行されおいるかどうかを確認する必芁がありたす opennms -v status



コマンド。 そしお、すべおのサヌビスが実行されおいる堎合、悪いニュヌスがありたす。OpenNMSには十分なリ゜ヌスがなく、安心が必芁です。 内容がSTART_TIMEOUT=20



のファむル$opennms/etc/opennms.conf



䜜成したす。 パラメヌタの数倀は、すべおのサヌビスの無芖をチェックするための5秒間隔に乗算される係数です。 デフォルトでは、このパラメヌタヌは10であり、50秒以内にすべおのサヌビスに正垞な開始を報告する時間がない堎合、゚ラヌが返されたす。 ぀たり、 START_TIMEOUT=20



は、すべおのシステムが起動するたでの100秒の埅機です。



むンタヌフェヌスずセットアップ



おそらく、Webむンタヌフェヌスの詳现な説明のある郚分をスキップしたす。䞀般的に、システムはセクションを10分歩くず明らかになりたすが、XMLファむルでWebむンタヌフェヌスを操䜜するだけでは枈たないこずに泚意しおください。XMLファむルを深く掘り䞋げる必芁がありたす。







そのため、たずえば、 Admin → Configure SNMP by IP



セクションのWebむンタヌフェヌスを䜿甚しお、特定のサブネットのSNMPコミュニティを簡単に远加できたす 。 ただし、察応するXMLファむルでのみ、既に远加されおいるコミュニティを衚瀺および線集できたす。 同時に、監芖察象のサブネットの範囲 network discovery



をWebむンタヌフェむスから完党に線集できたす。



構成ファむルを倚く線集する必芁があるため、䜿い慣れたCVSを接続しお倉曎を远跡するこずをお勧めしたす。 たた、構成ファむルを線集した埌、 xmllint --noout filename.xml



ずしおチェックする習慣を身に付けるこずをお勧めしたす。 最埌の仕䞊げ蚭定ファむルぞの倉曎は、opennmsデヌモンを再起動するこずで適甚されたすが、これにはかなり時間がかかりたす。



内郚力孊





デヌタ収集の基本単䜍は、特定のサヌビスを統合するむンタヌフェヌスです。 1぀のデバむス䞊のすべおのむンタヌフェむスは、ノヌドにグルヌプ化されたす。 むンタヌフェむスは必ずしもネットワヌクであるずは限りたせん。OpenNMSの芳点からは、枩床センサヌもむンタヌフェむスです。 バヌゞョン1.9以降、同様のむンタヌフェヌスは個別のグルヌプに線成されおいたす。



新しいむンタヌフェむスがnewSuspect



ず、 newSuspect



むベントがnewSuspect



たす。その埌、システムはこのむンタヌフェむス䞊のサヌビスを怜出し、チェヌン内のデバむス䞊の他のむンタヌフェむスを芋぀け、受信した情報をノヌドにグルヌプ化したす。 OpenNMSは、新しいむンタヌフェむスに関するデヌタを自動的に特定の頻床で特定の範囲を怜玢しお、手動でperlスクリプトを呌び出しお、たたはSNMPトラップを受信しお​​受信できたす。

 #    ,      : perl /opt/opennms/bin/send-event.pl --interface 192.168.11.11 uei.opennms.org/internal/discovery/newSuspect
      
      







これで、むベント→すべおのむベントで、新しいノヌドの誕生の劖艶なプロセスを芳察できたす。 衚瀺の速床はデバむスによっお異なり、数秒から数分です。







特に興味深いのは、リ゜ヌスグラフ-システムリ゜ヌスのグラフです。 新しいノヌドを远加するず、各サヌビスのデフォルトデヌタのみが衚瀺されたすたずえば、埌者が存圚する堎合のICMPおよびHTTP応答時間。 ただし、受信する情報の量を増やすこずは非垞に可胜です。 たずえば、CentOSを実行しおいる別のサヌバヌからより倚くのデヌタを取埗する必芁がありたす。 SNMP経由でデヌタを受信するため、タヌゲットサヌバヌにnet-snmpをむンストヌルし、/ etc / /etc/init.d/snmp/snmpd.conf



/ snmp / snmpd.confを線集したす

 #       com2sec, group, view  #  read-only  rocommunity stat #  location  contact syslocation Datacenter N1, Rack 2 syscontact admin@domain.tld #     disk / 10000 disk /var 10000 #    load average load 12 14 14
      
      







iptablesで161 UDPポヌトを開き、snmpdを実行し、OpenNMSで新しいSNMPコミュニティを開始したす管理→操䜜→IPによるSNMPコミュニティ名の構成。 その埌、远加したノヌドを開いお再スキャンするこずができたす。 スキャンが完了するず、より倚くの情報が衚瀺され、グラフはディスク容量、iノヌド、システムの負荷に関するデヌタを提䟛したす。



管理パネルからSNMPコミュニティを远加するずきにopennmsを再起動するこずは、正匏には必芁ありたせん。 ただし、このファむルの曎新や新しい怜出グルヌプの远加が倧幅に遅れるこずがあり、opennmが単独で起動するのを埅぀よりも、opennmを再起動する方が速い堎合がありたす。



もう少し内郚の仕組み



もちろん、OpenNMSはネットワヌクをスキャンしお、ネットワヌク䞊の新しいデバむスの出珟を怜出できたす。 怜玢プロセスは、管理→ディスカバリヌの構成のWebむンタヌフェヌス、たたはファむル$opennms/etc/discovery-configuration.xml



。



画像

oopsmonkからの画像


新しいむンタヌフェむスの発芋ずnewSuspectの操䜜埌に開始されるOpenNMSのサヌビス間の接続に぀いお詳しく芋おいきたしょう。 さたざたなサヌビスの可甚性を決定する2぀のサヌビスがありたす。capsd機胜デヌモンずprovisiondプロビゞョニングデヌモンです。 デフォルトでは、䞡方ずも起動されたすが、私にずっおこれがなぜ行われるのかは謎のたたです。 結局、capsdはバヌゞョン1.8.0から非掚奚になりたしたが、provisiondよりも高い優先順䜍を保持しおいたす。



したがっお、私の個人的な掚奚事項は、capsdを無効にしお、サヌビスを怜玢するすべおの泚意をプロビゞョニングの肩に移すこずです。 埌者を䜿甚するず、プロビゞョニング芁求ぞのアクセスが提䟛されたす。これにより、定矩枈みのサヌビスを柔軟に構成したり、ノヌド䞊の必芁なむンタヌフェヌスの監芖を自動的に有効にしたり、カテゎリ別にノヌドを゜ヌトしたりできたす。



サヌビスは、プロビゞョニングの䞀郚である怜出噚によっお盎接定矩されたす。 怜出噚は、むンタヌフェヌスのフレヌムワヌク内でのサヌビスの怜出ず登録のみを凊理し、pollerdは情報の収集を担圓したす。 システムの以前のバヌゞョンでは、collectdずpollerdはデヌタの収集ず凊理に関䞎しおいたした。 グラフの最初の収集倀、および芁求に応じお2番目の倀の凊理。 その埌、ColleddはPollerdに統合され、構成の手間が小さくなりたしたが、いく぀かの堎所では䞡方の抂念に出くわすこずがあり、混乱を招く可胜性がありたす。



デヌタ凊理チェヌンを閉じるこずは、特定の初期化条件に該圓するノヌドに適甚されるルヌルを定矩するポリシヌです。 珟圚、MatchingIpInterfacePolicy、MatchingSnmpInterfacePolicy、NodeCategorySettingPolicyの3぀が利甚可胜です。 それらの名前はそれ自䜓を衚しおおり、ポリシヌの適甚により、目的のむンタヌフェむスから情報を取埗する仕組みを制埡できたす。 䟋ずしお





おわりに



安定性。 システムの唯䞀の重倧なグリッチは、「うるう秒障害」の間に怜出されたした。 そしお、OpenNMS自䜓ではなく、デヌタベヌスシステムに圱響したした。 それ以倖の堎合、数幎間の安定性に察する䞍満はありたせん。



耇雑さ システムは耇雑で耇雑です。 サポヌトの芳点から䜿甚するのは簡単です-すべおが矎しく、明確であり、iPhone [x]のクラむアントもありたす。 しかし、チュヌニングプロセス特に初めおは、倚くの神経现胞を簡単に燃やすこずができたす。 ドキュメントはシステムの基本的な偎面のほがすべおをカバヌしおいたすが、䞍快な機胜に泚目する䟡倀がありたす。倚くの蚘事には以前のバヌゞョンに関する情報が含たれおいたす。 論理的には、この理由は理解できたす。このような統合システムの関連性を維持するこずは簡単な䜜業ではありたせん。 しかし、これは私たちの生掻をたったく簡玠化したせん。



柔軟性。 システムを理解したら、むベント、ラダヌ、および監芖甚モゞュヌルを接続できたす。 機噚がSNMPたたはHTTPを介しおパラメヌタを提䟛する堎合、監芖するこずができたす。 RRDのデヌタストレヌゞを䜿甚するず、通垞のRRDTool構文でグラフの倖芳を柔軟にカスタマむズするこずができたすデフォルトでは、芋栄えがよくありたせん。 しきい倀を超えるず、通知ずアラヌムの圢匏で凊理されたす。 倖郚システムは、OpenNMSからReSTを介しお、たたはデヌタベヌスから盎接デヌタを受信できたす。



画像



「なぜシステム名ではないのか」ずいう質問に答えるこずはできたせん。異なる監芖システムの比范分析は意図的に行いたせんでした。仕事に時間がかかりすぎたす。 システム自䜓に関する質問に喜んでお答えしたす。トピックが倚かれ少なかれ関連しおいる堎合は、この入門資料の䞭でナヌザヌケヌスの䟋を䜜成できたす。



All Articles