支援全平臺的伺服器監控報警系統 Shinken
導讀 | Shinken 是一個用 Python 實現的開源的主機和網路監控框架,並與 Nagios like 相容,它可以執行在所有支援 Python 程式的作業系統上,比如說 、Unix 和 Windows。Shinken 是 Jean Gabes 為了驗證一個新的 Nagios 架構思路而編寫。 |
在這篇教程中,我將會描述如何從原始碼編譯安裝 Shinken 和向監視系統中新增一臺 Linux 主機。我將會以 Ubuntu 16.04 Xenial Xerus 作業系統來作為 Shinken 伺服器和所監控的主機。
Shinken 是一個 Python 框架,我們可以透過pip安裝或者從原始碼來安裝它,在這一步中,我們將用原始碼編譯安裝 Shinken。
在我們開始安裝 Shinken 之前還需要完成幾個步驟。
安裝一些新的 Python 軟體包並建立一個名為 shinken的系統使用者:
sudo apt-get install python-setuptools python-pip python-pycurl useradd -m -s /bin/bash shinken
從 GitHub 倉庫下載 Shinken 原始碼:
git clone cd shinken/
然後用以下 安裝 Shinken:
git checkout 2.4.3 python setup.py install
然後,為了得到更好的效果,我們還需要從 Ubuntu 軟體庫中安裝python-cherrypy3軟體包:
sudo apt-get install python-cherrypy3
到這裡,Shinken 已經成功安裝,接下來我們將 Shinken 新增到系統啟動項並且啟動它:
update-rc.d shinken defaults systemctl start shinken
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 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
儲存檔案並且退出編輯器。
現在進入contacts目錄下編輯admin.cfg來進行管理配置。
cd /etc/shinken/contacts/ vim admin.cfg
按照如下修改:
contact_name admin # Username 'admin' password yourpass # Pass 'mypass'
儲存和退出。
在這一步中,我們將安裝 Nagios 外掛和一些 Perl 模組。然後從 shinken.io 安裝其他的軟體包來實現監視。
安裝 Nagios 外掛和安裝 Perl 模組所需要的cpanminus:
sudo apt-get install nagios-plugins* cpanminus
用cpanm命令來安裝 Perl 模組。
cpanm Net::SNMP cpanm Time::HiRes cpanm DBI
現在我們建立一個utils.pm檔案的連結到 shinken 的目錄,並且為Log_File_Health建立了一個新的日誌目錄 。
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來監視 SSH 和 SNMP :
su - shinken shinken install ssh shinken install linux-snmp
我們將新增一個新的將被監控的 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
儲存並退出。
現在用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 伺服器中了。
在埠 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 iburst pool 0.id.pool.ntp.org pool 1.asia.pool.ntp.org pool 0.asia.pool.ntp.org
然後,在新的一行新增如下限制規則:
# 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
從 github 倉庫下載原始碼到 shinken 的庫目錄下:
cd /var/lib/shinken/libexec/ wget chmod +x check_netint.pl chown 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
儲存並退出。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2931966/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Prometheus監控報警系統Prometheus
- 從零搭建Prometheus監控報警系統Prometheus
- Redis一站式管理平臺工具,支援叢集建立,管理,監控,報警Redis
- 我們的系統應該配置哪些監控報警項?
- 【python 監控報警】python自動發微信監控報警Python
- 如何構建智慧監控預警管理平臺?
- 使用Vmalert監控報警
- 地下管廊工程監控和報警系統:一個平臺,一根光纖,多網合一
- 基於系統融合的統一監控平臺設計
- 生產區域人數超員監控報警系統
- 智慧公安-移動警務一鍵報警系統平臺搭建
- 監控報警系統的指標、規則與執行閉環指標
- CentOS 配置OOM監控報警CentOSOOM
- 智慧校園:資料機房動環監控報警系統
- 修改glogin.sql引發的生產系統監控的虛假報警SQL
- 智慧警務系統,二維碼一鍵報警平臺研發搭建
- 情報研判系統開發方案,重點人員管控預警平臺建設
- 監控系統整合告警平臺實現郵件、簡訊、微信、電話語音和app等多方式報警APP
- zabbix監控平臺
- Zabbix監控平臺的搭建
- 重點人員預警管控系統開發,智慧公安情報研判平臺建設
- 重點人員動態管控預警系統開發,情報研判平臺建設
- 裝置故障監控報警運維工單系統有什麼功能運維
- 技術分享| 如何使用Prometheus實現系統監控報警郵件通知Prometheus
- 能耗線上管理平臺搭建能源監控系統開發
- 伺服器監控系統部署文件伺服器
- 智慧警務合成作戰平臺搭建,重點人員管控預警系統開發方案
- 智慧警務視覺化應用監控系統搭建視覺化
- linux監控平臺搭建Linux
- 「服務端」node服務的監控預警系統架構服務端架構
- Zabbix郵件預警-zabbix+grafana從零設計自己的監控平臺Grafana
- 智慧公安二維碼定位報警系統開發,微警務平臺解決方案
- 重點人員動態管控預警系統開發,情報研判分析平臺建設
- 公安情報大資料分析研判預警系統開發,重點人員管控平臺搭建大資料
- 運維文件:伺服器監控系統運維伺服器
- 伺服器監控系統部署與配置伺服器
- 煙臺工企業能源管理系統開發能耗監測預警平臺搭建方案
- Prometheus + Grafana 監控平臺搭建PrometheusGrafana