zabbix監控簡介php
Zabbix 是一個基於 WEB 界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix 能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。node
優勢:mysql
開源,無軟件成本投入web
Server 對設備性能要求低sql
有圖形的web配置界面,配置簡潔數據庫
支持設備多,自帶多種監控模板vim
支持分佈式集中管理,有自動發現功能,能夠實現自動化監控centos
開放式接口,擴展性強,插件編寫容易瀏覽器
Api 的支持,方便與其餘系統結合緩存
當監控的 item 比較多服務器隊列比較大時能夠採用被動狀態,被監控客戶端主動 從server 端去下載須要監控的 item 而後取數據上傳到 server 端。 這種方式對服務器的負載比較小。
缺點:
需在被監控主機上安裝agent。
全部數據都存在數據庫裏,產生的數據很大,瓶頸只要在數據庫。
zabbix的安裝
本次部署環境爲centos7.6,zabbix版本爲3.4,服務端ip爲192.168.11.11,agent端爲192.168.11.112
#下載安裝官方yum源 yum -y install wget wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install -y zabbix-release-3.4-2.el7.noarch.rpm
安裝好以後更新一下yum倉庫能夠看到
[root@server ~]# yum repolist
安裝所需的軟件
[root@server ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql
安裝設置數據庫
yum install -y mariadb-server mariadb #編輯配置文件 [root@server ~]# vim /etc/my.cnf.d/server.cnf [mysqld] skip_name_resolve = ON #跳過主機名解析 innodb_file_per_table = ON innodb_buffer_pool_size = 256M #緩存池大小 max_connections = 2000 #最大鏈接數 log-bin = master-log #開啓二進制日誌 #啓動數據庫 [root@server ~]# systemctl restart mariadb #建立數據庫並受權帳號 #建立一個名爲zabbix的數據庫,帳號名爲zbxuser,密碼爲keer MariaDB [(none)]> create database zabbix character set 'utf8'; MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'192.168.11.%' identified by 'keer'; MariaDB [(none)]> flush privileges; #刷新權限表
導入所須要的表
這個包提供了什麼
[root@server ~]# rpm -ql zabbix-server-mysql
[root@server ~]# cp /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz ./ [root@server ~]# gzip -d create.sql.gz [root@server ~]# mysql -uzbxuser -h192.168.37.111 -p zabbix < create.sql Enter password: #密碼爲keer
導入數據後,進入數據庫查看
[root@server ~]# mysql -uzbxuser -h192.168.37.111 -p MariaDB [(none)]> use zabbix; Database changed MariaDB [zabbix]> show tables;
到這裏,能夠看出咱們的數據已經導入成功了。
配置server端
[root@server ~]# cd /etc/zabbix/ [root@server zabbix]# cp zabbix_server.conf{,.bak} #備份配置文件 [root@server zabbix]# vim zabbix_server.conf ListenPort=10051 #默認監聽端口 SourceIP=192.168.11.11 #發採樣數據請求的IP LogFile=/var/log/zabbix/zabbix_server.log #日誌存放路徑 LogFileSize=0 #日誌的論滾 DBHost=192.168.11.11 #數據庫對外的主機 DBName=zabbix #數據庫名稱 DBUser=zbxuser #數據庫用戶 DBPassword=keer #數據庫密碼 DBPort=3306 #數據庫啓動端口
配置好文件,啓動服務
[root@server zabbix]# systemctl start zabbix-server.service
開啓服務之後,確認一下端口有沒有開啓
[root@server zabbix]# ss -nutl |grep 10051
若是查到的端口沒有開啓,等待一會,再不行的話就要去檢查一下配置文件有沒有出問題了
查看 web GUI 的配置文件
cat /etc/httpd/conf.d/zabbix.conf
時區設置
時區是必定要設置的,這裏被註釋掉是由於,咱們也能夠在php的配置文件中設置時區,若是咱們在php配置文件中設置時區,則對全部的php服務均有效,若是咱們在zabbix.conf中設置時區,則僅對zabbix服務有效。因此,咱們去php配置文件中設置咱們的時區
vim /etc/php.ini
設置好時區後啓動httpd服務
[root@server ~]# systemctl start httpd
瀏覽器訪問並進行初始化設置
瀏覽器訪問http://192.168.11.11/zabbix,出現如下界面,而後按照提示操做便可
下一步進入登錄頁面,默認用戶名爲:admin,密碼爲:zabbix
登錄進來就能夠看到咱們的儀表盤了
配置agent端
當咱們把監控端配置啓動之後,咱們須要來設置一下咱們的監控端,咱們在被監控的主機安裝好agent,設置好他的server,並把他添加到server端,就能將其歸入咱們的監控系統中去了。
#安裝zabbix [root@node1 ~]# wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm [root@node1 ~]# yum install -y zabbix-release-3.4-2.el7.noarch.rpm [root@node1 ~]# yum install zabbix-agent zabbix-sender -y [root@node1 ~]# cd /etc/zabbix/ [root@node1 ~]# cd /etc/zabbix/ [root@node1 zabbix]# ls zabbix_agentd.conf zabbix_agentd.d [root@node1 zabbix]# cp zabbix_agentd.conf{,.bak} [root@node1 zabbix]# vim zabbix_agentd.conf Server=192.168.11.11 #指明服務器是誰的 ListenPort=10050 #本身監聽的端口 ListenIP=0.0.0.0 #本身監聽的地址,0.0.0.0表示本機全部地址 StartAgents=3 #優化時使用的 ServerActive=192.168.11.11 #主動監控時的服務器 Hostname=node1.keer.com #本身能被server端識別的名稱
[root@node1 zabbix]# systemctl start zabbix-agent.service #啓動服務
查看到端口代表安裝成功
到此,服務端和agent端均安裝成功!