国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

監控軟件Nagios的服務器端在Linux系統上的安裝和配置方法

2020-07-10 11:14:00
字體:
來源:轉載
供稿:網友

Nagios的基本思想就是nagios server 獲取被監控節點(monitored server)的相關信息,通過CGI(Web GUI)或者郵件等方式展示給管理員。
信息的獲取主要分為主動拿,被動得到,其中主動拿分直接去被監控節點取或者中間數據庫節點取。

如果是個個被監控節點直接去取,機器一多,nagios所在的系統CPU可能會扛不住,所以我們系統在測試環境中中使用了被動獲取NSCA的方式,以后可能會轉到NDOUtils方式,通過數據庫實現監控端和被監控端的分離。


NSCA具體工作過程:

1. 數據生成: 被監控端程序定時收集數據并發送到Nagios服務端,Nagios服務端的NSCA進程收到數據,數據放到指定文件(nagios.cfg和nsca.cfg中指定)。

2. 數據處理: Nagios實時處理指定文件,將數據存到queue,同時Nagios會定期檢查queue,對數據做最終處理,例如:發送alert郵件,記錄日志等。
監控系統的最終模式:Nagios + NSCA + Pnp4nagios(bulk&npcd)。
NSCA負責收集數據,Nagios把收集的數據按照Pnp4nagios要求的格式寫到spool文件,每隔15分鐘把文件移動到npcd處理的spool文件夾,npcd調用process_perfdata.pl處理spool文件夾中的文件,最后存到rrd里,在Nagios監控頁面加入pnp4nagios的web訪問url,就可以查看圖形化監控數據了。

接下來說說我們Nagios的安裝,

Nagios Server端安裝

一臺liunx server(CentOS),安裝以下安裝包 的的對應版本

1. 基本nagios以及Web GUI安裝包

復制代碼
代碼如下:

httpd-*.tar.gz,php-*.tar.gz, nagios-*.tar.gz, nagios-plugins-*.tar.gz

安裝步驟

2. 圖形化性能數據安裝包

復制代碼
代碼如下:

pnp4nagios-*.tar.gz

安裝步驟
3.  Linux 系統監控插件

主動方式:nrpe-*.tar.gz,被動方式:nsca-*.tar.gz
nsca安裝步驟
Note: inetd或者xinetd沒有使用在我們的系統中


Nagios monitored Clients
對于NSCA模式,我們使用了Python腳本+Cron Job(crontab)的方式來定時按格式發送數據到Nagios Server,所以被監控設備上面只要安裝了Python就可以了。

現在說說在我們系統中如何是用NSCA方式來獲取我們需要的被監控節點的資源使用情況信息。


Nagios Server端的基本配置:

1. nagios web gui 訪問配置,系統中使用的是nagios core中推薦的配置方式,通過apache httpd訪問nagios web,安裝nagios的時候會自動尋找系統中安裝的httpd,把nagios的httpd文件放到httpd的conf.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/objects/中定義被監聽節點和需要被監聽的服務,例如:

復制代碼
代碼如下:

/usr/local/nagios/etc/objects/system_1.cfg
## define hosts
# system_1 oam_1
define host{
use linux-server,host-pnp
host_name system_1_oam_1
address <ip>
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 <ip>
contact_groups system_1_admins,systems_admins
}
......
## define services
# system_1 oam_1</p><p>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
}
......</p><p># 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
}

Note:
a. passive_service是NSCA需要的配置
b. host-pnp和srv-pnp是pnp4nagios要用的配置
2.2  把定義的配置文件添加到/usr/local/nagios/etc/nagios.cfg中

復制代碼
代碼如下:

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg</p><p>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
status_update_interval=10

3. 對不同的系統添加系統監控管理員

3.1

復制代碼
代碼如下:

/usr/local/nagios/etc/objects/contactgroups.cfg
define contactgroup{
contactgroup_name system_1_admins
alias system_1_admins
members oam-1,traffic-1
}
......

3.2

復制代碼
代碼如下:

/usr/local/nagios/etc/objects/contacts.cfg
define 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 <a href="mailto:nobody@localhost.com">nobody@localhost.com</a> ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}

define contact{
contact_name traffic-1 ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias traffic-1 ; Full name of user
email <a href="mailto:nobody@localhost.com">nobody@localhost.com</a> ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
......


4. NSCA配置
4.1 NSCA端:如果沒有端口沖突之類的問題,/usr/local/nagios/etc/nsca.cfg可以作為默認配置直接使用
Note: 當Nagios端有問題的時候,nsca本身可以保存收到的數據,要小心數據量大小的問題,監控機器多的時候,Nagios掛的時間長了點,文件就很容易變的很大
4.2 Nagios端:
4.2.1 修改/usr/local/nagios/etc/objects/templates.cfg,增加被動檢測模版

復制代碼
代碼如下:

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
}

4. 2.2 修改/usr/local/nagios/etc/commands.cfg,增加命令定義如何處理NSCA發送來的數據

復制代碼
代碼如下:

# 'check_nsca' command definition
define command{
command_name check_dummy
command_line $USER1$check_dummy$ARG1$
}

Note: check_dummy很簡單,處理Nagios中OK,WARNING,CRITICAL,UNKNOWN

復制代碼
代碼如下:

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

4.2.3 檢查/usr/local/nagios/etc/nagios.cfg已經可以處理外部NSCA發送來的數據,默認是沒有問題的

復制代碼
代碼如下:

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
#performance文件處理命令
host_perfdata_file_processing_command=process-host-perfdata-fileservice_perfdata_file_processing_command=process-service-perfdata-file

6.2 修改/usr/local/nagios/etc/objects/commands.cfg,增加performance文件處理命令

復制代碼
代碼如下:

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$
}

6.3 修改nagios.cfg,設置在nagios web gui中顯示pnp4nagios圖標的方式
第一種方法在templates.cfg里面加入如下,只能在新窗口打開圖像數據

復制代碼
代碼如下:

define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}</p><p>define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}

第二種方法可以在鼠標移到pnp4nagios圖標的時候就可以開到實時圖標,不過效果不是很好,按照說明加入如下:

拷貝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
}

Note1: 自動出現的小窗口清晰度不好,我喜歡第一種方式
Note2: 這里沒有涉及email的配置,記得通知設計的時候小心消息泛濫被投訴。。。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰武县| 亳州市| 绥宁县| 平南县| 德昌县| 桂平市| 中卫市| 宁明县| 航空| 明水县| 大渡口区| 垫江县| 肇庆市| 株洲市| 和平县| 汕头市| 崇阳县| 会宁县| 朝阳市| 密山市| 桦南县| 满城县| 龙山县| 建宁县| 高密市| 慈溪市| 开江县| 盖州市| 京山县| 铅山县| 青川县| 莲花县| 崇左市| 巫山县| 惠来县| 济源市| 谢通门县| 奉化市| 巴塘县| 涿鹿县| 尉氏县|