在這篇教程中,我將會描述如何從源代碼編譯安裝 Shinken 和向監視系統中添加一台 Linux 主機。我將會以 Ubuntu 16.04 Xenial Xerus 操作系統來作為 Shinken 服務器和所監控的主機。
第一步 安裝 Shinken 服務器Shinken 是一個 Python 框架,我們可以通過pip安裝或者從源碼來安裝它,在這一步中,我們將用源代碼編譯安裝 Shinken。
在我們開始安裝 Shinken 之前還需要完成幾個步驟。
安裝一些新的 Python 軟件包並創建一個名為shinken的系統用戶:
sudo apt-get install python-setuptools python-pip python-pycurluseradd -m -s /bin/bash shinken
從 GitHub 倉庫下載 Shinken 源代碼:
git clone https://github.com/naparuba/shinken.gitcd shinken/
然後用以下命令安裝 Shinken:
git checkout 2.4.3python setup.py install
然後,為了得到更好的效果,我們還需要從 Ubuntu 軟件庫中安裝python-cherrypy3軟件包:
sudo apt-get install python-cherrypy3
到這裡,Shinken 已經成功安裝,接下來我們將 Shinken 添加到系統啟動項並且啟動它:
update-rc.d shinken defaultssystemctl start shinken第二步 安裝 Shinken Webui2
Webui2 是 Shinken 的 Web 界面(在 shinken.io 可以找到)。最簡單的安裝 Shinken webui2 的方法是使用shinken CLI 命令(必須作為shinken用戶執行)。
切換到 shinken 用戶:
su - shinken
初始化 shiken 配置文件,下面的命令將會創建一個新的配置文件.shinken.ini:
shinken --init
接下來用 shinken CLI 命令來安裝webui2:
shinken install webui2
至此 webui2 已經安裝好,但是我們還需要安裝 MongoDB 和用pip來安裝另一個 Python 軟件包。在 root 下運行如下命令:
sudo apt-get install mongodbpip 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
保存文件並且退出編輯器。
現在進入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 安裝其他的軟件包來實現監視。
安裝 Nagios 插件和安裝 Perl 模塊所需要的cpanminus:
sudo apt-get install nagios-plugins* cpanminus
用cpanm命令來安裝 Perl 模塊。
cpanm Net::SNMPcpanm Time::HiRescpanm DBI
現在我們創建一個utils.pm文件的鏈接到 shinken 的目錄,並且為Log_File_Health創建了一個新的日志目錄 。
chmod u+s /usr/lib/nagios/plugins/check_icmpln -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來監視 SSH 和 SNMP :
su - shinkenshinken install sshshinken install linux-snmp第四步 添加一個 Linux 主機 host-one
我們將添加一個新的將被監控的 Linux 主機,IP 地址為 192.168.1.121,主機名為 host-one 的 Ubuntu 16.04。
連接到 host-one 主機:
ssh [email protected]
從 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:161agentAddress udp:161,udp6:[::1]:161
注釋掉第 51 和 53 行,然後加一行新的配置,如下:
#rocommunity mypass default -V systemonly#rocommunity6 mypass default -V systemonlyrocommunity mypass
保存並退出。
現在用systemctl命令來啟動snmpd服務:
systemctl start snmpd
在 shinken 服務器上通過在hosts文件夾下創建新的文件來定義一個新的主機:
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
保存並退出。
現在將服務端和客戶端都重啟:
reboot
現在 Linux 主機已經被成功地添加到 shinken 服務器中了。
第五步 訪問 Shinken Webui2在端口 7677 訪問 Shinken webui2 (將 URL 中的 IP 替換成你自己的 IP 地址):
http://192.168.1.120:7767
用管理員用戶和密碼登錄(你在 admin.cfg 文件中設置的)
Webui2 中的 Shinken 面板:
我們的兩個服務器正在被 Shinken 監控:
列出所有被 linux-snmp 監控的服務:
所有主機和服務的狀態信息:
當你得到如下的 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 iburstpool 0.id.pool.ntp.orgpool 1.asia.pool.ntp.orgpool 0.asia.pool.ntp.org
然後,在新的一行添加如下限制規則:
# Local users may interrogate the ntp server more closely.restrict 127.0.0.1restrict 192.168.1.120 #shinken server IP addressrestrict ::1NOTE: 192.168.1.120 is the Shinken server IP address.
保存並退出。
啟動 ntp 並且檢查 Shinken 面板。
ntpdcheck_netint.pl Not Found 問題
從 github 倉庫下載源代碼到 shinken 的庫目錄下:
cd /var/lib/shinken/libexec/wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.plchmod +x check_netint.plchown shinken:shinken check_netint.pl網絡占用的問題
這是錯誤信息:
ERROR : Unknown interface eth/d+
檢查你的網絡接口並且編輯linux-snmp模版。
在我的 Ununtu 服務器,網卡是 “enp0s8”,而不是 eth0,所以我遇到了這個錯誤。
vim編輯linux-snmp模版:
vim /etc/shinken/packs/linux-snmp/templates.cfg
在第 24 行添加網絡接口信息:
NET_IFACES eth/d+|em/d+|enp0s8
保存並退出。
原文來自:https://linux.cn/article-7821-1.html
本文地址:http://www.linuxprobe.com/server-monitoring-system.html
http://xxxxxx/Linuxjc/1184670.html TechArticle