実戦Nagios NSCA方式監視Linuxシステム資源使用状況--Nagios配置編--Nagios Server端
ここでは、どのようにNSCA方式で私たちが必要とする被監視ノードのリソース使用状況情報を取得するかについて説明します。まずNagios Server端の基本的な配置について説明します。
1.nagios web guiアクセス配置、システムではnagios coreで推奨されている配置方式を使用して、apphe httpdを通じてnagios webにアクセスし、nagiosをインストールする時に自動的にシステムにインストールされているhttpdを探して、nagiosのhttpdファイルをhttp.dディレクトリの下に置く。一度だけnagios webアクセスのパスワードを生成すればいいです。http://localhost/nagios/nagios webにアクセスします
2.1/usr/local/nagios/etc/object/において、被傍受ノードと被傍受が必要なサービスが定義されています。例えば、/usr/local/nagios/etc/object/system1.fg
1.nagios web guiアクセス配置、システムではnagios coreで推奨されている配置方式を使用して、apphe httpdを通じてnagios webにアクセスし、nagiosをインストールする時に自動的にシステムにインストールされているhttpdを探して、nagiosのhttpdファイルをhttp.dディレクトリの下に置く。一度だけnagios webアクセスのパスワードを生成すればいいです。http://localhost/nagios/nagios webにアクセスします
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
2.Nagiosで監視するマシンと監視するサービスを定義します。2.1/usr/local/nagios/etc/object/において、被傍受ノードと被傍受が必要なサービスが定義されています。例えば、/usr/local/nagios/etc/object/system1.fg
## define hosts
# system_1 oam_1
define host{
use linux-server,host-pnp
host_name system_1_oam_1
address
contact_groups system_1_admins,systems_admins
}
......
# system_1 traffic_1
define host{
use linux-server,host-pnp
host_name system_1_traffic_1
address
contact_groups system_1_admins,systems_admins
}
......
## define services
Note:a.passive_serviceはNSCAに必要な構成であり、詳細はチャプタ4 b.host-pnpを参照することができる。# system_1 oam_1 define service{ use passive_service,srv-pnp service_description CPU_Status host_name system_1_oam_1 contact_groups system_1_admins,systems_admins } define service{ use passive_service,srv-pnp service_description Memory_Status host_name system_1_oam_1 contact_groups system_1_admins,systems_admins } ...... # system_1 traffic_1 define service{ use passive_service,srv-pnp service_description CPU_Status host_name system_1_traffic_1 contact_groups system_1_admins,systems_admins }
とsrv-pnpはpnp 4 nagiosが使う構成で、
詳細は章6を参照してください。
2.2 定義されたプロファイルを/usr/local/nagios/etc/nagios.cfgに追加します。cfg_file=/usr/local/nagios/etc/objects/localhost.cfg cfg_file=/usr/local/nagios/etc/objects/system_1.cfg
cfg_file=/usr/local/nagios/etc/objects/system_2.cfg
......
nagios_user=nagios
nagios_group=nagios
lock_file=/usr/local/nagios/var/nagios.lock
3.異なるシステムにシステム監視管理者3.1/usr/local/nagios/etc/object/contactgroups.cfgを追加する。status_update_interval=10
3.2/usr/local/nagios/etc/object/contacts.cfgdefine contactgroup{ contactgroup_name system_1_admins alias system_1_admins members oam-1,traffic-1 } ......
Note:service_notification_Ooptitions:This directive is is is Sted to define the service states for which notificatitifititititifitititititititifititititititititifititititititititititifititititititititifitititititititititititititititititititiononononons c a on can can can can can can can can can can can can can can be be be be be be sentouout t t t t t to to to to to to to to to to to to to to to thisiscontatactctctt.Valtititititititititititititititicoveries(OK states)、and f=notify when the service starts and stopsdefine contact{ contact_name oam-1 ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias oam-1 ; Full name of user service_notification_options c host_notification_options d email [email protected] ; <
flapping
.If you specify n(none)as an option、the contact will not receive any type of service notifications.host_notification_Ooptitions:This directive is is is Sted to define the host states f or which notificatifititifititititifitititititititifitititititititifititititititifitititititifitititititititititititititititititititititifitititititifitititititititititititiononononononons catititifitititititititititititititititititititifitititititititititititititititititititititititititifititititititititititititititititititititititititiand stopsflap ping、ands=send notifications when host or servicescheduled downtime starts and ends.If you specifyn(none)as an option、the contact will not receive any type of host notifitications.
4.NSCA配置
4.1 NSCA端:ポート衝突などの問題がなければ、/usr/local/nagios/etc/nsca.cfgはデフォルトの設定としてそのまま使ってもいいです。Nagios端に問題がある場合、nsca自身は受信したデータを保存できます。データ量の問題に注意して、監視マシンが多い場合、Nagiosの時間が長くなります。ファイルは大きくなりやすい4.2 Nagios端:4.2.1修正/usr/local/nagios/etc/objecs/templates.cfg、受動的な検出パターンを追加します。4.2.2修正/usr/local/nagios/etc/commmads.cfg、追加命令はNSCAから送られてきたデータをどのように処理するかを定義する。define service{ use generic-service name passive_service active_checks_enabled 0 passive_checks_enabled 1 # We want only passive checking flap_detection_enabled 0 register 0 # This is a template, not a real service is_volatile 0 check_period 24x7 max_check_attempts 1 normal_check_interval 5 retry_check_interval 1 check_freshness 0 contact_groups system_admins check_command check_dummy!0 notification_interval 120 notification_period 24x7 notification_options w,u,c,r stalking_options w,c,u }
Note:check_dummyは簡単で、Nagiosの中でOK、WARNING、CRITIを処理します。# 'check_nsca' command definition define command{ command_name check_dummy command_line $USER1$check_dummy$ARG1$ }
CAL、UNKNOWN4.2.3検査/usr/local/nagios/etc/nagios.cfgは外部NSCAから送信されたデータを処理できます。デフォルトでは問題ないです。nagios:/usr/local/nagios/etc # /usr/local/nagios/libexec/check_dummy 0 OK nagios:/usr/local/nagios/etc # /usr/local/nagios/libexec/check_dummy 1 WARNING nagios:/usr/local/nagios/etc # /usr/local/nagios/libexec/check_dummy 2 CRITICAL nagios:/usr/local/nagios/etc # /usr/local/nagios/libexec/check_dummy 3 UNKNOWN
accept_passive_service_checks=1
accept_passive_host_checks=1
check_external_commands=1 command_check_interval=-1 command_file=/usr/local/nagios/var/rw/nagios.cmd
log_passive_checks=1
5. Nagios GUI host service
6. pnp4nagios bulk+npcd
6.1 /usr/local/nagios/etc/nagios.cfg
# performance process_performance_data=1 #host_perfdata_command=process-host-perfdata #service_perfdata_command=process-service-perfdata #performance host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata #performance host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$ service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$\tSERVICEOUTPUT::$SERVICEOUTPUT$ #performance host_perfdata_file_mode=a service_perfdata_file_mode=a #performance host_perfdata_file_processing_interval=15 service_perfdata_file_processing_interval=15
host_perfdata_file_processingcommand=process-host-perfdata-fileservice_perfdata_file_processingcommand=process-service-perfdata-file#performance
6.2 /usr/local/nagios/etc/objects/commands.cfg, performance
6.3 nagios.cfgを し、nagios web guiにpnp 4 nagiosアイコンを する を する。define command{ command_name process-service-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$ } define command{ command_name process-host-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$ }
の はtemplates.cfgに のように れて、 しいウィンドウで データを くしかないです。の はマウスをpnp 4 nagiosアイコンに する にリアルタイムのアイコンを くことができますが、 はあまりよくないです。 に って のように します。define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name srv-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
status-header.ssiをコピーして/usr/local/nagios/share/ssi/カタログの に、templates.cfgを しながら、 の を します。define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name srv-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
<!-- ページ- の のビット->
Note: ,
Note: email , 。。。
: Nagios
: Nagios --
<div class=「col-md-3」>
<div class=「row」id=「ad」>
<!-- ページ- 1ダイナミック ビット-->
<div id=「right-1」class=「col-lg-12 col-sm-4 col-xs-4 ad」
<!-- ページ- 2ダイナミック ビット-->
<div id=「right-2」class=「col-lg-12 col-sm-4 col-xs-4 ad」
<!-- ページ- 3ダイナミック ビット-->
<div id=「right-3」class=「col-lg-12 col-sm-4 col-xs-4 ad」