對於運維人員來說,監控是非常重要的,因為如果想要保證線上業務整體能夠穩定執行,那麼我們則需要實時關注與其相關的各項指標是否正常,而一個業務系統的背後,往往存在著很多的伺服器、網路裝置等硬體資源,如果我們想要能夠更加方便的、集中的監控他們,我們則需要依靠一些外部的工具,而zabbix就是一個被廣泛使用的,可以實現集中監控管理的應用程式。
我們監控的初衷就是當某些指標不符合我們的需求時,我們能夠在第一時間發現異常,所以,監控工具需要定期的對被監控主機進行檢查、資訊收集等操作,當被監控主機出現異常時,能夠及時報警、通知管理員,並且需要記錄這些異常,以便我們分析這些資料,查漏補缺,那麼,一個監控工具就應該具備採集資訊、儲存資訊、展示資訊、報警通知等功能,而zabbix就可以做到這些,除了zabbix,你可能還聽說過cacti、nagios、ganglia等類似的監控系統,但是此處,我們只聊zabbix的部署。
注:版本選用LTS(長期支援版本)
1、zabbix server(CentOS7,IP: 192.168.203.124)
2、使用者端(CentOS7,IP: 192.168.203.123)
1、臨時關閉(不用重新啟動機器):
setenforce 0
#設定SELinux 成為permissive模式
2、修改組態檔需要重新啟動機器:
修改/etc/selinux/config 檔案
將SELINUX=enforcing改為SELINUX=disabled
重新啟動機器即可
EPEL的全稱叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社群打造,為 RHEL 及衍生髮行版如 CentOS、Scientific Linux 等提供高品質軟體包的專案。裝上了 EPEL之後,就相當於新增了一個第三方源
vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum install mariadb-client mariadb-server mariadb-devel httpd php72w-mysql php72w-gd libjpeg* php72w-ladp php72w-odbc php72w-pear php72w-xml php72w-xmlrpc php72w-mbstring php72w-bcmath php72w-mhash php72w-fpm libxml2-devel libevent-devel curl-devel php72w-snmp net-snmp mod_php72w
cd /etc/httpd/conf
cp httpd.conf httpd.conf.bak # 備份
vim httpd.conf
修改後重新啟動httpd
systemctl restart httpd
在/var/www/html/編輯phpinfo.php
命令:vim /var/www/html/phpinfo.php
<?php
phpinfo();
?>
使用瀏覽器存取 IP地址/phpinfo.php,建議不要用IE瀏覽器,如果出現下圖效果,證明設定成功。
參考官方檔案(https://www.zabbix.com/download?zabbix=5.0&os_distribution=red_hat_enterprise_linux&os_version=7&db=mysql),按照檔案進行設定。下圖是我選擇的版本設定。
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
# yum install zabbix-server-mysql zabbix-agent
# yum-config-manager --enable rhel-server-rhscl-7-rpms
編輯檔案/etc/yum.repos.d/zabbix.repo,並啟用zabbix-frontend儲存庫
[zabbix-frontend]
...
enabled=1
...
安裝Zabbix前端軟體包
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
在資料庫主機上執行以下命令
mysql -uroot -p #直接按enter鍵,此時密碼為空
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password'; #預設密碼為password,可修改成自己想要的密碼,此次演示密碼使用password
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
在Zabbix伺服器主機上,匯入初始架構和資料。系統將提示您輸入新建立的密碼
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
編輯檔案/etc/zabbix/zabbix_server.conf
DBPassword=password
編輯檔案/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消註釋併為您設定正確的時區。
; php_value[date.timezone] = Europe/Riga
我這裡修改為
php_value[date.timezone] = PRC
***注: PRC是People’s Republic of China的英文縮寫,也就是中華人民共和國。簡稱「中國」
啟動Zabbix伺服器和代理程序,並使其在系統啟動時啟動
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
連線到新安裝的Zabbix前端:http://伺服器IP地址/zabbix
如果顯示組態檔OK,則進入下一步
這是Zabbix歡迎螢幕。輸入使用者名稱Admin(密碼為zabbix)以Zabbix超級使用者身份登入。將授予對「設定和管理」選單的存取許可權。
要檢視有關使用者的資訊,請轉到管理→使用者。
要新增新使用者,請單擊建立使用者。
在新使用者表單中,確保將您的使用者新增到現有使用者組之一,例如「 Zabbix管理員」。
所有必填欄位均標有紅色星號。
預設情況下,新使用者沒有為他們定義的媒體(通知傳遞方法)。要建立一個,請轉到「媒體」索引標籤,然後單擊「新增」。
在此彈出視窗中,輸入使用者的電子郵件地址。
您可以指定媒介將處於活動狀態的時間段(有關格式的說明,請參見「時間段指定」頁面),預設情況下,媒介始終處於活動狀態。您還可以自定義觸發嚴重性級別,媒介將針對該級別進行啟用,但是暫時將所有級別保持啟用狀態。
單擊新增,然後在使用者屬性表單中單擊add。新使用者將出現在使用者列表中。
預設情況下,新使用者無權存取主機。要授予使用者許可權,請在「Group」列中單擊使用者的組(在本例中為「 Zabbix管理員」)。在組屬性表單中,轉到「Permissions」索引標籤。
該使用者對Linux伺服器組具有唯讀存取許可權,因此請單擊使用者組選擇欄位旁邊的「select」。
在此彈出視窗中,選中「 Linux伺服器」旁邊的核取方塊,然後單擊「select」。 Linux伺服器應顯示在選擇欄位中。單擊「Read」按鈕以設定許可權級別,然後單擊「Add」以將該組新增到許可權列表。在使用者組屬性表單中,單擊「Update」。
在Zabbix中,對主機的存取許可權分配給使用者組,而不是單個使用者。
做完了!可以嘗試使用新使用者的憑據登入。
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agent
cd /etc/zabbix/
cp zabbix_agentd.conf zabbix_agentd.conf.bak #備份
vim zabbix_agentd.conf
systemctl start zabbix-agent
點選Create host
填入相應的資訊
填寫完成後,點選add,出現下列情況則證明新增成功。注意要出現紅圈的標誌,若沒有出現,重新整理一下頁面。
可點選主機的名字檢視情況
部分效果圖
參考:
https://www.zabbix.com/
https://blog.csdn.net/meltsnow/article/details/91908357