nagios 基礎

nagios

[ http://www.nagios.org/ ]ios

簡述

Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設置,打印機等,同時提供異常通知功能等。 Nagios可運行在Linux/Unix平臺之上,提供一個可選的基於瀏覽器的WEB界面以方便系統管理人員查看網絡狀態,各類系統問題,以及日誌等等web

安裝

<pre> ubuntu : apt-get install nagios3 -y </pre>apache

安裝過程會提示你設置管理帳戶密碼 默認的用戶是 nagiosadmin 密碼存儲在 /etc/nagios3/htpasswd.usersubuntu

服務

<pre> service apache2 restart service nagios3 restart </pre> 瀏覽器

若是服務啓動順利,能夠訪問本機的web頁面: http://localhost/nagios3服務器

配置文件目錄

/etc/nagios3/網絡

<pre> ├── apache2.conf # nagios apache web 配置文件 ├── cgi.cfg # 控制 CGI訪問的配置文件 ├── htpasswd.users # http訪問控制密碼 ├── nagios.cfg # Nagios主配置文件 ├── resource.cfg # 資源文件,變量定義配置文件 ├── commands.cfg # 命令定義配置文件 ├── conf.d # │ ├── contacts_nagios2.cfg │ ├── extinfo_nagios2.cfg │ ├── generic-host_nagios2.cfg │ ├── generic-service_nagios2.cfg │ ├── hostgroups_nagios2.cfg │ ├── localhost_nagios2.cfg │ ├── services_nagios2.cfg │ └── timeperiods_nagios2.cfg └── stylesheets ... </pre>工具

配置文件邏輯關係

Nagios 的配置文件涉及的定義有: 主機,主機組,服務,服務組,聯繫人,聯繫人組,監控時間和監控命令,rest

第一:定義要監控那些主機,主機組,服務組; 第二: 定義這些監控要經過什麼命令來實現; 第三: 定義監控的時間; 第四: 定義出現問題後要通知的聯繫人或聯繫組;日誌

郵件通知

nagios 郵件通知默認使用 sendmail 軟件 ,我是被sendmail弄得一頭霧水,後來找到sendemail工具,利用其餘第三方郵件服務器來完成郵件通知功能

sendemail 命令基本使用

<pre> /usr/bin/sendemail -f regulus_cn@163.com -t manbuzhe2009@qq.com -s smtp.163.com -u "test" -m "dddd" -xu regulus_cn@163.com -xp A4H3ljbn </pre>

/etc/nagios3/commands.cfg

notify-host-by-email 和 notify-service-by-email 兩個命令被從新定義,以下:

<pre> # 'notify-host-by-email' command definition define command{ command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/sendemail -f regulus_cn@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu regulus_cn@163.com -xp A4H3ljbn } # 'notify-service-by-email' command definition define command{ command_name notify-service-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/sendemail -f regulus_cn@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu regulus_cn@163.com -xp A4H3ljbn } </pre>

相關文章
相關標籤/搜索