服務器監控的構建之路


服務器監控的構建之路大致分三個階段:

    一.200台以內

    需求如下:

        1.簡單, 易用

        2.穩定運行

        3.能夠報警, 郵件, 短信

    基於以上需求,可以使用比較流行開源的監控軟件Nagios, Cacti, Zabbix, Ganglia, ect 。熱門開源產品有較多文檔,可快速上手,並且有大量前人使用經驗,可避免許多問題,遇到問題也容易找到解決辦法。

 

    二.200~1000台

    需求如下:在原需求下變的復雜(通知, 告警)

        1.統一監控內容

        2.覆蓋式監控

        3.及時通知

    基於以上需求,1.統一監控內容:將基礎監控進行統一,默認每個機器都包含CPU, 內存, 磁盤空間等基礎信息監控。

                             2.覆蓋式監控:將所有機器均納入監控, 除去基礎監控以外, 最重要的當屬業務監控,盡可能的覆蓋業務流程,通過自定義監控減少和去除重復的問題,保障業務穩定運行。

                             3.及時通知:確保無遺漏。將所有監控分類, 更具重要程度,緊急程度等。分別用郵件, 微信, 短信, 電話等不同級別的方式通知,確保每個監控都有人處理,並且對於重要的業務采用call死你的方式, 不處理就一直通知。

                             在這個時期對Nagios進行深入研究, 編寫自定義腳本, 大量增加各種監控, 將Nagios大部分的插件如:nrpe, nsca 的功能充分使用。

                             隨着機器越來越多,需要監控的服務也越來越多, 告警信息出現爆發式增長。

 

    三.1000+(1000+和2000+沒啥區別)

    兩條路:

        1.根據需求,繼續深度開發Nagios

        2.自建監控(至少需要了解Nagios的整體架構和運作模式)

    到這個階段開始開發自己的監控系統, 解決痛點, 完成需求, 主要有如下事情:

        

        1.具備目前在用的Nagios所有功能: 比照Nagios去做, 覆蓋原來功能, 並針對Nagios的問題進行優化改進, 然后替代了Nagios之后再升級。
(這一步最重要,如果連之前的Nagios的功能都不能替代,自建之路只能在這里就停下了)。

        2.將告警進行整理:  化簡為繁, 減少重復警告。當出現轟炸式告警信息之后, 如果不進行及時整理勢必將會正真需要處理的事情耽誤,並且由於某些原因,比如線路問題, 會發生重復警告, 所以必須要將告警信息進行處理在發出。

(如: 預警信息由之前的3000+下降到300)。

        3.分離告警和顯示: 前面監控系統, 基本上告警功能和顯示功能均在一起, 不同的機房也需要匯總在中心節點后統一顯示和告警。重要的告警處理是分秒必爭的, 也跟界面顯示無關, 所有作者在設計的時候將顯示和告警功能進行了一次分離, 在本地機房進行報警, 然后在集中展示。

        4.分布式部署: 避免單點。 每個機房設置一個分節點, 就是上面說的報警節點, 設置一個中心節點,先在各個機房告警, 然后匯總在中心展示。分節點與中心節點互備, 通過智能DNS進行切換。

(如: 中心節點宕機, DNS自動切換到一個分中心節點, 分節點升級為中心節點。)

 

    四.總結

    自建系統好處:

        可以充分利用數據, 組合數據, 分析數據, 解釋數據, 將晦澀難懂的數據解讀成人人能懂的數據, 讓產品人員, 銷售人員, 老板統統明白當前的業務狀態是怎么樣的。

 

    五.實際操作

    

    本人經過在服務器上實踐無誤后,在虛擬機上重新配置的干凈系統環境(centos7,windows)一步步截圖來的,如果按照步驟來是不會報錯的,如果出錯,請檢查自己的網絡配置以及防火牆,殺毒軟件等(檢查網絡配置常用命令:ping;telnet)

    安裝zabbix 監控主機

    配置環境:虛擬機上安裝的centos7

    zabbix官網下載地址

    https://www.zabbix.com/cn/download

 

 

 

        本次安裝的版本是4.0版本,以下是安裝步驟:

 

        一.關閉selinux和防火牆

 

  檢測selinux是否關閉

 

  [hunter@localhost ~]$ getenforce

 

  Disabled

 

  臨時關閉

 

  [root@localhost hunter]# setenforce 0

 

  永久關閉

 

  [root@localhost hunter]# vi /etc/selinux/config

 

  將SELINUX=enforcing改為SELINUX=disabled 

 

  設置后需要重啟才能生效

 

 

 

  查看默認防火牆狀態

 

  [root@localhost hunter]# firewall-cmd --state

 

  running #關閉后顯示not running,開啟后顯示running

 

  停止firewall

 

  [root@localhost hunter]# systemctl stop firewalld.service

 

  禁止firewall開機啟動

 

  [root@localhost hunter]# systemctl disable firewalld.service

 

  Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

 

  Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 

 

  二.Zabbix4.0程序安裝

 

  配置zabbix的yum源

 

  yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

 

  安裝zabbix程序包,安裝mysql、zabbxi-agent

 

  rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

 

  (此處可能會有下載失敗,多次嘗試即可)

 

 

  安裝成功

 

 

  啟動mariadb並設置開機啟動,創建數據庫實例,授權

 

 

 

  [root@localhost hunter]# systemctl start mariadb      #啟動mariadb

 

  [root@localhost hunter]# systemctl enable mariadb  #設置開機啟動

 

  [root@localhost hunter]# mysql                             #登入數據庫

 

  MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;   #創建數據庫實例

 

  Query OK, 1 row affected (0.00 sec)

 

  MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';   #授權所有主機訪問數據庫實例zabbix,用戶名/密碼:zabbix/zabbix

 

  Query OK, 0 rows affected (0.00 sec)

 

  MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';   #授權localhost主機名訪問數據庫實例zabbix,用戶名/密碼:zabbix/zabbix

 

  Query OK, 0 rows affected (0.00 sec)

 

  MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost.localdomain identified by 'zabbix';  #授權localhost.localdomain主機訪問數據庫實例zabbix,用戶名/密碼:zabbix/zabbix

 

  Query OK, 0 rows affected (0.00 sec)

 

 

 

  導入初始模式和數據

 

  [root@localhost hunter]# cd /usr/share/doc/zabbix-server-mysql-4.0.10/              #進入create.sql.gz所在目錄

 

  [root@localhost zabbix-server-mysql-4.0.10]# zcat create.sql.gz |mysql -uroot zabbix    #導入出事模式

 

 

  三.啟動zabbix-server服務

 

  配置zabbix-server的配置文件zabbix_server.conf

 

  [root@localhost zabbix-server-mysql-4.0.10]# vi /etc/zabbix/zabbix_server.conf

 

  DBHost=localhost          # 數據主機名

 

  DBName=zabbix            # 數據庫實例

 

  DBUser=zabbix              # 用戶名

 

  DBPassword=zabbix      # 密碼

 

 

 

  啟動zabbix-server服務

 

  [root@localhost zabbix-server-mysql-4.0.10]# systemctl start zabbix-server #啟動zabbix-server服務

 

  [root@localhost zabbix-server-mysql-4.0.10]# systemctl enable zabbix-server #設置zabbix-server服務開機自啟動

 

 

  編輯Apache的配置文件,消注釋設置正確的時區

 

  [root@localhost zabbix-server-mysql-4.0.10]# vi /etc/httpd/conf.d/zabbix.conf

 

 

 

  啟動httpd服務 ,設置開機啟動httpd服務

 

  [root@localhost ~]# systemctl start httpd #啟動httpd服務 

 

  [root@localhost ~]# systemctl enable httpd #設置開機啟動httpd服務

 

 

[root@localhost ~]# systemctl start zabbix-agent # 啟動zabbix-agent服務

 

[root@localhost ~]# systemctl enable zabbix-agent # 設置zabbix-agent服務開機自啟動

 

 

  四.Zabbix Web網頁安裝

 

  在瀏覽器輸入地址http://服務器ip/zabbix/setup.php,出現歡迎界面,點擊下一步;

 

 

點擊Next step,出現必要條件檢測界面,正常都是OK,點擊Next step

 

 

配置DB連接,與zabbix_server.conf文件中主機、數據庫名稱、用戶名、密碼保持一致,點擊Next step(之前我們設置的密碼是zabbix)

 

 

zabbix服務器詳細信息,點擊Next step(Name是可選項)

 

 

安裝前匯總,檢查信息無誤,點擊Next step

 

 

安裝成功

 

 

進入登錄頁面,用戶由於沒有設置,默認是Admin,根據之前配置,密碼是zabbix

 

 

登錄成功

 

 

設置里切換語言

 

 

至此,zabbix 的主機就安裝成功了。

 

 

 

2.在windows7 上安裝zabbix agent配置

(windows記得關閉防火牆,控制面板 -->系統和安全 -->Windows defender 防火牆 -->啟用或關閉防火牆)

 

下載zabbix agent

 

https://www.zabbix.com/download_agents

 

主機是4.0版本的,客戶端我選的是3.4版本的,因為軟件一般都是上下兼容,所以3.4是可以用的

 

 

 

 

在c盤(其他盤也可以)新建zabbix文件夾,把下載好的文件放進去,解壓

 

 

進入conf文件夾,修改配置文件zabbix_agentd.win.conf(用記事本或者寫字板打開)

 

 

 

  LogFile=c:\zabbix\zabbix_agentd.log

 

 

 

       Server=192.168.220.130 (填寫監控主機ip地址)

 

 

 

       ServerActive=192.168.220.130 (填寫監控主機ip地址)

 

 

 

       Hostname=LAPTOP-E12K29O8(右擊我的電腦-屬性,看看hostname)

 

 

 

保存。

 

 

 

打開命令提示符界面:(鍵盤快捷鍵win+R,輸入cmd)

 

 

 

cd \zabbix\bin\win64

 

zabbix_agentd.exe -i -c C:\zabbix\conf\zabbix_agentd.win.conf(安裝zabbix客戶端)

 

zabbix_agentd.exe -s -c C:\zabbix\conf\zabbix_agentd.win.conf(開啟zabbix服務)

 

都返回successfully 則成功

 

如果失敗,可能需要卸載agent,命令:

 

cd \zabbix\bin\win64

 

zabbix_agentd.exe -d -c C:\zabbix\conf\zabbix_agentd.win.conf(刪除zabbix客戶端)

 

 

 

在被監控機上安裝好zabbix agent后,下一步則是在主機上配置連接

 

 

配置------主機---------創建主機

 

 

主機名稱與在agent里配置的hostname名稱要一致

 

agent代理程序的接口 ip地址填被控機的ip地址

 

添加 再選擇該主機-----模板

 

 

添加模板 Template OS Windows

 

------更新

 

等待兩分鍾左右,刷新頁面,主機的ZBX變綠,就ok了

 

 

這是監控的cpu ulimitization圖像

 

 

至此,在windows7 上安裝zabbix agent配置已完畢。

 

 

 

 

 

3.在centos7 上安裝zabbix agent配置

先關閉防火牆和selinux

 

一.關閉selinux和防火牆

 

檢測selinux是否關閉

 

[hunter@localhost ~]$ getenforce

 

Disabled

 

臨時關閉

 

[root@localhost hunter]# setenforce 0

 

永久關閉

 

[root@localhost hunter]# vi /etc/selinux/config

 

將SELINUX=enforcing改為SELINUX=disabled 

 

設置后需要重啟才能生效

 

 

 

查看默認防火牆狀態

 

[root@localhost hunter]# firewall-cmd --state

 

running #關閉后顯示not running,開啟后顯示running

 

停止firewall

 

[root@localhost hunter]# systemctl stop firewalld.service

 

禁止firewall開機啟動

 

[root@localhost hunter]# systemctl disable firewalld.service

 

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

 

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 

 

安裝zabbix 軟件源

 

rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

 

 

 

安裝zabbix-agent

 

 

 

yum install zabbix-sender zabbix-agent zabbix-get

 

 

 

中途有提示選擇y/n 選y

 

 

vi /etc/zabbix/zabbix_agentd.conf #修改conf配置

 

Server=192.168.220.130 #監控主機的ip

 

ServerActive=192.168.220.130 #監控主機的ip

 

Hostname=localhost.localdomain #本機的名字

 

 

 

設置啟動和開機項

 

 

 

systemctl start zabbix-agent.service

 

systemctl enable zabbix-agent.service

 

 

在監控主機web頁面上添加主機

 

 

 

主機名是被監控的centos7的主機名(查看主機名命令 hostname)

 

ip地址是被監控的centos7的ip地址

 

模板選擇Template OS Linux

 

 

等待幾分鍾,刷新頁面,zbx變成綠色,就ok了

 

點擊圖形進入

 

 

隨便選擇一個進入,可以發現已經有圖像了

 

 

 

至此 在centos7 上安裝zabbix agent配置已完畢。

 

注意:如需轉載,請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM