溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

發(fā)布時間:2021-10-23 11:50:54 來源:億速云 閱讀:223 作者:小新 欄目:系統(tǒng)運維

這篇文章給大家分享的是有關在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Shinken 是一個用 Python 實現(xiàn)的開源的主機和網(wǎng)絡監(jiān)控框架,并與 Nagios like 兼容,它可以運行在所有支持 Python  程序的操作系統(tǒng)上,比如說 Linux、Unix 和 Windows。Shinken 是 Jean Gabes 為了驗證一個新的 Nagios  架構思路而編寫,但是這個想法被 Nagios 的作者拒***成為了一個獨立的網(wǎng)絡系統(tǒng)監(jiān)視軟件,并保持了與 Nagios 的兼容。

我將會描述如何從源代碼編譯安裝 Shinken 和向監(jiān)視系統(tǒng)中添加一臺 Linux 主機。我將會以 Ubuntu 16.04 Xenial  Xerus 操作系統(tǒng)來作為 Shinken 服務器和所監(jiān)控的主機。

***步 安裝 Shinken 服務器

Shinken 是一個 Python 框架,我們可以通過 pip 安裝或者從源碼來安裝它,在這一步中,我們將用源代碼編譯安裝 Shinken。

在我們開始安裝 Shinken 之前還需要完成幾個步驟。

安裝一些新的 Python 軟件包并創(chuàng)建一個名為 shinken 的系統(tǒng)用戶:

sudo apt-get install python-setuptools python-pip python-pycurl useradd -m -s /bin/bash shinken

從 GitHub 倉庫下載 Shinken 源代碼:

git clone https://github.com/naparuba/shinken.git cd shinken/

然后用以下命令安裝 Shinken:

git checkout 2.4.3 python setup.py install

然后,為了得到更好的效果,我們還需要從 Ubuntu 軟件庫中安裝 python-cherrypy3 軟件包:

sudo apt-get install python-cherrypy3

到這里,Shinken 已經(jīng)成功安裝,接下來我們將 Shinken 添加到系統(tǒng)啟動項并且啟動它:

update-rc.d shinken defaults systemctl start shinken

第二步 安裝 Shinken Webui2

Webui2 是 Shinken 的 Web 界面(在 shinken.io 可以找到)。最簡單的安裝 Shinken webui2  的方法是使用shinken CLI 命令(必須作為 shinken 用戶執(zhí)行)。

切換到 shinken 用戶:

su - shinken

初始化 shiken 配置文件,下面的命令將會創(chuàng)建一個新的配置文件 .shinken.ini :

shinken --init

接下來用 shinken CLI 命令來安裝 webui2:

shinken install webui2

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

至此 webui2 已經(jīng)安裝好,但是我們還需要安裝 MongoDB 和用 pip 來安裝另一個 Python 軟件包。在 root  下運行如下命令:

sudo apt-get install mongodb pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

接下來,切換到 shinken 目錄下并且通過編輯 broker-master.cfg 文件來添加這個新的 webui2 模塊:

cd /etc/shinken/brokers/ vim broker-master.cfg

在第 40 行添加一個模塊選項:

modules webui2

保存文件并且退出編輯器。

現(xiàn)在進入 contacts 目錄下編輯 admin.cfg 來進行管理配置。

cd /etc/shinken/contacts/ vim admin.cfg

按照如下修改:

contact_name    admin       # Username 'admin' password        yourpass    # Pass 'mypass'

保存和退出。

第三步 安裝 Nagios 插件和 Shinken 軟件包

在這一步中,我們將安裝 Nagios 插件和一些 Perl 模塊。然后從 shinken.io 安裝其他的軟件包來實現(xiàn)監(jiān)視。

安裝 Nagios 插件和安裝 Perl 模塊所需要的 cpanminus:

sudo apt-get install nagios-plugins* cpanminus

用 cpanm 命令來安裝 Perl 模塊。

cpanm Net::SNMP cpanm Time::HiRes cpanm DBI

現(xiàn)在我們創(chuàng)建一個 utils.pm 文件的鏈接到 shinken 的目錄,并且為 Log_File_Health 創(chuàng)建了一個新的日志目錄 。

chmod u+s /usr/lib/nagios/plugins/check_icmp ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/ mkdir -p /var/log/rhosts/ touch /var/log/rhosts/remote-hosts.log

然后,從 shinken.io 安裝 shinken 軟件包 ssh 和 linux-snmp 來監(jiān)視 SSH 和 SNMP :

su - shinken shinken install ssh shinken install linux-snmp

第四步 添加一個 Linux 主機 host-one

我們將添加一個新的將被監(jiān)控的 Linux 主機,IP 地址為 192.168.1.121,主機名為 host-one 的 Ubuntu  16.04。

連接到 host-one 主機:

ssh host1@192.168.1.121

從 Ubuntu 軟件庫中安裝 snmp 和snmpd 軟件包:

sudo apt-get install snmp snmpd

然后,用 vim 編輯 snmpd.conf 配置文件:

vim /etc/snmp/snmpd.conf

注釋掉第 15 行并取消注釋第 17 行:

#agentAddress  udp:127.0.0.1:161 agentAddress udp:161,udp6:[::1]:161

注釋掉第 51 和 53 行,然后加一行新的配置,如下:

#rocommunity mypass  default    -V systemonly #rocommunity6 mypass  default   -V systemonly rocommunity mypass

保存并退出。

現(xiàn)在用 systemctl 命令來啟動 snmpd 服務:

systemctl start snmpd

在 shinken 服務器上通過在 hosts 文件夾下創(chuàng)建新的文件來定義一個新的主機:

cd /etc/shinken/hosts/ vim host-one.cfg

粘貼如下配置信息:

define host{         use                 generic-host,linux-snmp,ssh         contact_groups      admins         host_name           host-one         address             192.168.1.121         _SNMPCOMMUNITY      mypass        # SNMP Pass Config on snmpd.conf     }

保存并退出。

在 shinken 服務器上編輯 SNMP 配置文件。

vim /etc/shinken/resource.d/snmp.cfg

將 public 改為 mypass -必須和你在客戶端 snmpd 配置文件中使用的密碼相同:

$SNMPCOMMUNITYREAD$=mypass

保存并退出。

現(xiàn)在將服務端和客戶端都重啟:

reboot

現(xiàn)在 Linux 主機已經(jīng)被成功地添加到 shinken 服務器中了。

第五步 訪問 Shinken Webui2

在端口 7677 訪問 Shinken webui2 (將 URL 中的 IP 替換成你自己的 IP 地址):

http://192.168.1.120:7767

用管理員用戶和密碼登錄(你在 admin.cfg 文件中設置的)

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

Webui2 中的 Shinken 面板:

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

我們的兩個服務器正在被 Shinken 監(jiān)控:

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

列出所有被 linux-snmp 監(jiān)控的服務:

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

所有主機和服務的狀態(tài)信息:

在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken

第6步 Shinken 的常見問題

NTP 服務器相關的問題

當你得到如下的 NTP 錯誤提示

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server) TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

為了解決這個問題,在所有 Linux 主機上安裝 ntp。

sudo apt-get install ntp ntpdate

編輯 ntp 配置文件:

vim /etc/ntp.conf

注釋掉所有 pools 并替換為:

#pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst pool 0.id.pool.ntp.org pool 1.asia.pool.ntp.org pool 0.asia.pool.ntp.org

然后,在新的一行添加如下限制規(guī)則:

# Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict 192.168.1.120 #shinken server IP address restrict ::1 NOTE: 192.168.1.120 is the Shinken server IP address.

保存并退出。

啟動 ntp 并且檢查 Shinken 面板。

ntpd

check_netint.pl Not Found 問題

從 github 倉庫下載源代碼到 shinken 的庫目錄下:

cd /var/lib/shinken/libexec/ wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl chmod +x check_netint.pl chown shinken:shinken check_netint.pl

網(wǎng)絡占用的問題

這是錯誤信息:

ERROR : Unknown interface eth\d+

檢查你的網(wǎng)絡接口并且編輯 linux-snmp 模版。

在我的 Ununtu 服務器,網(wǎng)卡是 “enp0s8”,而不是 eth0,所以我遇到了這個錯誤。

vim 編輯 linux-snmp 模版:

vim /etc/shinken/packs/linux-snmp/templates.cfg

在第 24 行添加網(wǎng)絡接口信息:

_NET_IFACES eth\d+|em\d+|enp0s8

保存并退出。

感謝各位的閱讀!關于“在Ubuntu 16.04上如何安裝和使用服務器監(jiān)控報警系統(tǒng)Shinken”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI