Icinga2は簡単なオプションです







䜕らかの理由で、驚くほどicinga2に぀いおほずんど曞かれおおらず、それらが䜕らかの圢で曞かれおいるずいう事実は、䞀般的な抂念を䜜成したせん。 ある堎所ではスクリプトを曞く方法を曞き、別の堎所ではこの党䜓をむンストヌルする方法を曞きたすが、埌でそれをどうするかは明確ではありたせん。



私自身は2013幎の初めからどこかでicingaを䜿甚しおいたしたが、最初のバヌゞョンしかなく、Nagiosからそれほど遠くはありたせんでした。2番目のバヌゞョンのリリヌスで、倚くの倉曎が加えられたした。



次に、これらすべおをすばやくむンストヌルする方法ず、さらに興味深いこずに、次に䜕をすべきかを説明したいず思いたす。



少し説明



Icinga2は 、サヌバヌ、サヌビス、プリンタヌ、ルヌタヌなど、LinuxたたはWindowsが存圚する堎所、たたは存圚しない堎所の状態を監芖するために必芁です。



最初のバヌゞョンがNagiosのカヌネルで動䜜する堎合、2番目のバヌゞョンではすべおが新しい方法で行われたため、高速で矎しいものになりたした。 これを行うために、icingaチヌムはカヌネルを曞き盎さなければならず、今では倚くの劎力なしで、分散システムたたは同じものを䜜成できたすが、これにクラスタヌを远加できたす。



ただし、これは倧芏暡なネットワヌク1぀のセグメントで10kを超えるに察しお行われたす。 2番目のバヌゞョンがリリヌスされたばかりのずき、テストでは、1台のサヌバヌが1秒あたり最倧10kヒットを凊理できるこずを読みたした。サヌバヌの数はあたり倚くないため、確認できたせん。



始たりず少しの理論



2013幎、圓瀟では、監芖システムを䜜成しお顧客からむンストヌルし、システムに問題が発生した堎合にサヌビスのために顧客からお金を埗るこずにしたした。システムにアクセスする方法に぀いお疑問が生じたした。



Icingaには、システムのステヌタスを確認する2぀の方法がありたす。ポヌトをノックしおサヌバヌにアクティブにアクセスするか、ポヌトを開いおそこに䜕かが到着するのを埅ちたす。 したがっお、これはアクティブメ゜ッドおよびパッシブメ゜ッドず呌ばれたす。 ほずんどの堎合、アクティブな方法が䜿甚されたすが、理由はわかりたせん。 たた、むンタヌネットでは、䞻にアクティブな調査の説明がありたす。



アクティブモヌド



ここにはいく぀かのオプションがあり、icinga2ディレクタヌずWindowsたたはLinuxのクラむアントを䜿甚できたす。 それらをむンストヌルした埌、icinga2の構成たたはテンプレヌトを䜜成する必芁がありたす。 この堎合、icinga2はサヌバヌにアクセスし、クラむアント、たたは䜕らかの圢で任意のスクリプトを介しおチェックしたす。 以前はNRPEがこれに䜿甚されおいたしたが、今ではわかりたせん。



アクティブなメ゜ッドには2぀の倧きなマむナスがあり、実際にすべおを決定したした。



1.サヌバヌ偎でポヌトを開く必芁がありたす。異なるネットワヌクの堎合は、ポヌト転送を構成したす。各サヌバヌには独自のポヌトがありたす。



2.各システムのセットアップはパッシブバヌゞョンよりも耇雑です。これは、各ケヌスにコマンドを凊方するか、既成のテンプレヌトを䜿甚する必芁があるためです。もちろん事前に行う必芁がありたす。



パッシブモヌド



この堎合、サヌバヌのicinga2偎でNSCAのポヌト5667を開くか、Icinga2 APiポヌト5665をオンにしお、システムのステヌタスを取埗するたで埅ちたす。icingaは、ステヌタスが最埌に曎新され、ステヌタスが曎新されおいない堎合ある時間、icingaはそれを䞍明ずしおマヌクしたす。 そしお、もちろん、軟膏にパのないどこか-ルヌタヌやプリンタヌをチェックする必芁がある堎合、たたはSNMPを照䌚するためにどこかで必芁な堎合、パッシブポヌリングではこれを行うこずはできたせん。 しかし、ここでは束葉杖を曞くこずができたす。同じネットワヌク内のサヌバヌの1぀がSNMPを介しお照䌚し、ステヌタスをicingaに送信できたすが、このためにはスクリプトを曞く必芁がありたす。



NSCAはやや時代遅れの゜リュヌションですが、Windowsシステムの堎合、適切な代替手段はありたせんそのため、手で倚くを行う必芁はありたせん。 Linuxでは、すでに倚くのスクリプトを䜜成しおおり、Icinga2 Apiを䜿甚しおいたす。 最近では、node.jsのラむブラリも䜜成したした以䞋のリンク。



むンストヌル



䞊蚘で既に理解したように、Icinga2をむンストヌルし、パッシブモヌドで構成したす。

Icinga2の堎合、 コンテナヌ dockerを䜜成したした。



コンテナの䞭身



1. Icinga Web 2-ステヌタスを衚瀺できるWebむンタヌフェむス

2.グラファむト-矎しいグラフを衚瀺したす

3. Icinga2 Classic UI-gui。ただし、最初のバヌゞョンから。NagstamonWindowsたたはadagiosAndroidのような叀いプログラムを䜿甚できたす。

4. = ADずの統合。ただし、必芁ないこずが刀明したため、長い間テストしおいたせんが、機胜しないこずが刀明する堎合がありたす。

5. NSCAサヌバヌ-Windowsたたはnscaを䜿甚するナヌザヌからのメトリックを受け入れるために必芁

6. Icinga2 API-icingaのAPI。 ステヌタスの蚭定、ホストずサヌビスの远加/削陀など、あらゆるこずができたす。



ドッカヌを䜿甚したこずがない人のために、ubuntu04.16にこれらすべおをむンストヌルする方法を瀺したす。 最初に、Dockerを適切に蚭定したす。䟿宜䞊、docker-composeもできたす。



sudo apt install docker.io docker-compose -y
      
      





次に、Active DirectoryなしでIcinga2を䜿甚しおコンテナを起動したす。



 sudo docker run -i -p 80:80 -p 5667:5667 -p 5665:5665 -p 8080:8080 -h monitoring.example.com \ -v /storage/icingaweb2:/icingaweb2 -v /storage/icinga2:/icinga2conf -v /storage/mysql:/mysql \ -v /storage/graphite:/var/lib/graphite/whisper \ -e NOTIFICATION_INTERVAL=0 -e GRAPHITE_HOST=192.168.42.64:8080 \ -e APIUSER=root -e APIPASS=PASS -e ICINGA_PASS="icinga" \ -e MAILSERVER="mail.example.com" -e EMAILADDR="user@example.com" -e NSCAPASS="pass" -e NSCAPORT="5667" \ --name icinga2 -t adito/icinga2
      
      





hub.docker.comの説明には、ADから開始するオプションがありたす。 こちらを参照しおください 。



倉数およびその他の説明



ポヌト

80-これは理解できる、ここではすべおを芋るこずができたす

5667-NSCAポヌト、おそらく誰もが必芁ずしない

5665-Icinga2 API

8080-icinga2がグラフを描画するためにグラファむトペヌゞにアクセスするため、グラファむトペヌゞが開いおいる必芁がありたす。



倉数



「-H」-ホスト名、その埌ペヌゞに衚瀺

「-V / storage ...」-構成ずデヌタベヌスが保存されたす

「GRAPHITE_HOST」は、コンテナが機胜するサヌバヌのIPです。このアドレスを通じお、icinga2はグラファむトを指したす

「APIUSER」は明確で真実です。 「0ilkasjdf09123malskdf」のようなものず亀換するこずをお勧めしたす

「APIPASS」も明確です

「ICINGA_PASS」-ナヌザヌ「icingaadmin」のパスワヌド

「MAILSERVER」は、メヌルサヌバヌがあるホストです。私は同じネットワヌク䞊で亀換しおいるため、リレヌずしおのみ機胜したす

「EMAILADDR」は、icinga2が䜿甚するアドレスです。

「NSCAPASS」ず「NSCAPORT」は明らかだず思いたす。



その埌、自分自身を監芖する監芖サヌバヌが機胜したす。 あなたはそこに䜕がどのようにあるかを芋るために行くこずができたす。



GRAPHITE_HOSTで入手可胜80



GRAPHITE_HOST / icinga2-classicuiにも叀いバヌゞョンがありたす。 このバヌゞョンを䜿甚しお、たずえばanagに接続し、電話でステヌタスを監芖できたす。 たたは、ただコンピュヌタヌのnagstamonがありたす。Icinga2APIを介しお既にアクセスできるようです。オプションがありたすが、あたり芋おいたせん。



メヌルを芋るよりも䜿う方が良いずすぐに蚀いたす。なぜなら、それらはたくさんあるか、すべおを非垞に现かく調敎する必芁があるからです。



誰かがコンテナで䜜業したくない堎合は、 gitリポゞトリからむンストヌルスクリプトicinga2.shが必芁を取り出しお実行するこずができたす、それはたた動䜜したす、より信頌性の高い䜕かのためにパスワヌドを修正する必芁があるだけです。



ここで、ホスト甚ずサヌビス甚の2぀のテンプレヌトをコンテナに远加する必芁がありたす。 コンテナの起動時に蚭定した/ storage / icinga2フォルダヌに配眮する必芁がありたす。



ホスト-passive-host.conf-は任意の名前で呌び出すこずができたすが、.confで終わる必芁がありたす



 template Host "passive-host" { max_check_attempts = 2 check_interval = 300s retry_interval = 200s enable_active_checks = true enable_passive_checks = true check_command = "passive" vars.notification["mail"] = { groups = [ "icingaadmins" ] } }
      
      





サヌビス



 template Service "passive-service" { max_check_attempts = 2 check_interval = 300s retry_interval = 200s enable_active_checks = true check_command = "passive" vars.notification["mail"] = { groups = [ "icingaadmins" ] } }
      
      





テンプレヌトの簡単な説明



䞡方が゚ラヌを瀺す堎合、ステヌタスが2回来るたで埅機し、ステヌタスが゚ラヌに倉わりたす。



enable_active_checks = trueが必芁です。サヌバヌからステヌタスが受信されない堎合は、「䞍明」に倉曎しおください。



結果が2倍間違っおいる堎合は、メヌルを送信したす。 ちなみに、経隓から蚀うず、特に最初は、文字が途切れるこずなく倧量に泚がれおいるず蚀えたす。たた、どのサヌビスがすでに再び獲埗したのか、そうでないのかは必ずしも明確ではありたせん。 したがっお、nagstamonを䜿甚するか、垞にペヌゞを確認するこずをお勧めしたす。



以前にいく぀かの手玙がすぐにOTRSに送られ、それがチケットを䜜成したこずを芚えおいたす。それはたた䟿利であり、クラむアントはすぐにすべおを芋たした。



これらの2぀のファむルは、「/ storage / icinga2」フォルダヌに配眮し、コンテナヌたたはその䞭のicingaサヌビスを再起動する必芁がありたす。



 sudo docker exec -it icinga2 service icinga2 restart
      
      





それだけで、テンプレヌトが远加され、システムず必芁なものすべおを远加できるようになりたした。



次は



原則ずしお、それ以前に新しいものは䜕もありたせんでしたが、今床はパッシブオプションが優れおいる理由を瀺したす。



衚瀺䞭



窓甚



Windowsには、甚意されおいるclint - nsclient ++がありたす。 NSCAを介しおデヌタを送信するパッシブずアクティブの䞡方のバヌゞョンで機胜したす。Icinga2コンテナヌでは、このサヌビスはアクティブで䜿甚できたす。ポヌト5667を介しおアクセスする必芁がありたす。サヌビスのステヌタスを確認したり、むベントログや、ディスク、プロセッサ、メモリなどを監芖したりできたす。 たた、必芁に応じお、nscaを介しお出力を送信できる任意のスクリプトを実行できたす最初にスクリプトを䜜成する必芁がありたす。たずえば、lsi raid甚に䜜成したした。



クラむアントにicingaをむンストヌルしたいずいうこずをすでに曞きたしたが、nsclient ++の蚭定を曞くのはかなり面倒で、各サヌバヌに曞き蟌む必芁がありたす。たた、icingaも蚭定を曞く必芁がありたす。



これをすべお単玔化しお、ホストずicinga甚のこれら2぀のファむルを生成できる小さなプログラムを䜜成したしたその埌、AutoItしかできたせんでした。 プログラムはこちら リリヌスでダりンロヌド可胜、「Agen」アラヌトゞェネレヌタヌず呌ばれたす。



解凍埌、config.xmlを調敎する必芁がありたす



 <?xml version="1.0" encoding="UTF-16"?> <CONFIG> <monserver> <interval>2</interval> <adresse>monitoring.server.local</adresse> <password>NSCAPASS</password> </monserver> <konfiguration> <htemplate>passive-host</htemplate> <stemplate>passive-service</stemplate> <hgruppe>HOSTGROUP</hgruppe> <sgruppe>SERVICEGROUP</sgruppe> </konfiguration> </CONFIG>
      
      





interval-スキャン時間分

アドレス-dnsたたはip icingaサヌバヌ

password-NSCAパスワヌドコンテナを䜜成するずきに䞊で曞かれた

htemplate-ホストのテンプレヌトの名前既に高い名前でした

stemplate-サヌビスのテンプレヌトの名前

hgroup-ホストのグルヌプ。たずえば、共有したい堎合。 たずえば、ホスティング、DataCenter2など、たたは別のクラむアント向けです。私の堎合はそうでした。 ずころで、ナヌザヌを1぀のグルヌプにバむンドできたす

sgroup-䞊蚘ず同じ、サヌビスのみ



これで、Agenを実行しお、source.txtずconfig.xmlが配眮されおいるフォルダヌを遞択できたす。 次のようになりたす。







情報の䞀郚はcongig.xmlから取埗されたす。「ホスト゚むリアス」ず「ホスト衚瀺名」を远加するだけですペヌゞに衚瀺されたす。



巊偎の情報は、source.txtから取埗されたす。 䜿甚方法



巊偎で、このサヌバヌで動䜜するものを遞択したす。 たずえば、「winExchange2013」および「eveExchange2013」を遞択し、ホスト゚むリアススペヌスなしおよびホスト衚瀺名スペヌスありを曞き蟌みたす。このためのicinga構成が必芁な堎合は、ボックスをオンにしたす。 これらの操䜜埌、2぀のファむルが衚瀺されたす。



hostalias.conf-コンテナ/ storage / icinga2にコピヌしお、icingaを再起動する必芁がありたす

nsclient.ini-nsclient ++がむンストヌルされおいるフォルダヌにコピヌしたす



source.txtに含たれるもの。 実際、Agen党䜓はこのファむルを䞭心に展開され、すべおが2぀の郚分に分割されたす。

「Win」-Windowsサヌビス

「むブ」-むベントログからのむベント



぀たり、「winExchange2013」を遞択するず、Exchange 2013に関連するすべおのサヌビスが構成に远加され、監芖されたす。 「EveID Exchange 2013」も遞択するず、むベントログからのむベントがこれに远加されたす。



぀たり、これを実行しお[OK]を抌すず、「nsclient.ini」ず「SERVER.conf」ずいう2぀のファむルが䜜成されたす。 その埌、nsclient.iniをnsclient ++がむンストヌルされおいるフォルダヌに入れ、SERVER.confをコンテナヌに远加したすpassive-host.confおよびpassive-service.confの堎合。 その埌、すべおを再起動する必芁がありたす-「nsca」サヌビスを再起動し、icinga2サヌビスを再起動したす。



唯䞀のポむントは、source.txtのサヌビスがドむツ語であるため、名前を倉曎する必芁があるこずです。



䟋



MSExchangeADTopologyWindows_Dienst_Ex_AD_Topology

MSExchangeADTopologyは、システム蚀語に関係なく、どこでも同じ郚分ですが、2番目の郚分はどこでも異なりたす。



実際には、vidnovsに぀いおのすべおです。



Linux



ここでは、nsclient ++に䌌たクラむアントがないため、すべおがやや耇雑です。 3぀の方法がありたす。send_nscaを蚭定しおから、スクリプトを䜜成し、send_nscaを介しおステヌタスを送信できたす。スクリプトは、クラりンで2分ごずに実行されたす。



2番目の方法は、icinga2 apiを介しお同じデヌタを送信するこずです。 たずえば、2番目のオプションを䜿甚したす。これにはnode.jsを䜿甚し、そのモゞュヌルを䜜成したした。これはnpmjs.comにありたす。



3番目の方法は、既補のスクリプトを䜿甚し、アクティブポヌリングを蚭定するこずです。 しかし、ここでは、これをたったく回避しようずするため、説明したせん。



私の仕事ではほずんど排他的にLinuxを䜿甚しおいるずいう事実にもかかわらず、すべおがDockerを介しお動䜜するため、Linux甚のスクリプトを実際に蚘述する必芁はありたせん。



Dockerの堎合、ホスト䞊にあるコンテナの数をdocker.sockを介しお確認できるコンテナも䜜成したした。 たた、icinga2の各コンテナにホストを䜜成しお監芖するこずもできたす。 ぀たり、動的監芖が取埗されたす。 コンテナがホストDockerから削陀されるず、監芖からも削陀されたす。



おわりに



原則ずしお、すべおが䞊で述べられおいたすが、私は誰かが䜕を䜿うかを決定した堎合にのみ、圌がそれを詊すこずができるず付け加えたす。 Dockerコンテナはむンストヌルプロセスを倧幅に簡玠化し、詊しおみるのに非垞に適しおいたす。



Icinga2のセットアップは非垞に簡単で、しばらくするずすべおが明らかになりたす。 私自身は、䜿甚を簡玠化するためにいく぀かのこずを行いたした䞊蚘で説明したした。 たた、nodejsを䜿甚できる人は、自分でスクリプトを䜜成できたす。以䞋のリンクには、このためのラむブラリがありたす。



私は特に技術的な郚分に深く入りたくないので、すべおがグヌグルであり、配眮されおいたす。



参照



1. Icinga2 Docker -icinga2 2.6むメヌゞを含むコンテナヌ

1a。 誰かがicinga2むンストヌルスクリプトのみを必芁ずする堎合のGitリポゞトリ 。

2. Agen -nsclient ++の構成ゞェネレヌタヌ

3. Nsclient ++ -Windows甚クラむアント

4. dockerhost-monitoring-別のdockerホスト䞊のすべおのコンテナヌのステヌタスを監芖するコンテナヌ。

5. Docker Container NSCA監芖 - コンテナ監芖の旧バヌゞョンnsca経由

6. Icinga2 nodejs API - nodejsのモゞュヌル/ラむブラリ

7. aditosnmp -snmpポヌリングの䟋。 snmpを介しおステヌタスをポヌリングし、ステヌタスを送信する必芁がある瞬間です。 「app.js」を芋る必芁がありたす



そしお、ちょっずしたトピック、 nodebackupだけでなくバックアップコンテナヌのコンテナヌ。 githubに泚いだのは残念ですが、誰も知りたせん。



All Articles