zabbix(音同 zæbix)是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server能夠經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它能夠運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。php
zabbix agent須要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操做系統有關的內存,CPU等信息的收集。zabbix agent能夠運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系統之上。
zabbix server能夠單獨監視遠程服務器的服務狀態;同時也能夠與zabbix agent配合,能夠輪詢zabbix agent主動接收監視數據(agent方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。
另外zabbix server還支持SNMP (v1,v2),能夠與SNMP軟件(例如:net-snmp)等配合使用。html
要想搭建一個Zabbix的工做環境,須要從服務器入手。與服務器通訊,管理員須要使用一個Zabbix前端界面,與Zabbix服務器和數據庫進行通訊。三個關鍵(界面、服務器和數據庫)能夠安裝在同一臺服務器上,可是若是你擁有一個更大更復雜的環境,將它們安裝在不一樣的主機上也是一個選項。Zabbix服務器可以直接監控到同一網絡中的設備,若是其餘網絡的設備也須要被監控,那還須要一臺Zabbix代理服務器。前端
實驗環境(能夠經過DNS服務或修改hosts文件)mysql
NAME | HOST | OSVersions | PROGRESS |
---|---|---|---|
ZABBIX-server | zabbix.example.com | CentOS7.2 | zabbix-server |
WEB-Server | www.example.com | CentOS7.2 | LAMP,zabbix-web,zabbix-agent |
WINDOWS-Server | win.example.com | Windows 2008 R2 | zabbix-agent |
Client6 | client.example.com | CentOS6.7 | zabbix-agent |
[extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
全部LINUX系統配置系統基本環境linux
hostnamectl set-hostname zabbix.example.com #設置主機名稱 yum install epel-release -y #安裝EPEL源 配置SELINUX環境 setenforce 0 vim /etc/sysconfig/selinux SELINUX=permissive 關閉iptables相關防火牆 for PROGRESS in iptables ip6tables ebtables ;do systemctl mask $PROGESS ;done
安裝zabbix倉庫的並安裝zabbix服務web
yum install http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm yum install zabbix-server -y
修改server配置文件sql
vim /etc/zibbix/zabbix-server.conf DBHost=www.example.com #數據庫主機 DBName=zabbix #數據庫名稱 DBUser=zabbix #數據庫鏈接用戶 DBPassword=zabbixpass #數據庫用戶密碼
將Server中的數據庫文件拷貝至web服務器數據庫
scp /usr/share/doc/zabbix-server-mysql-3.2.6/create.sql.gz root@www.example.com:/root
配置防火牆開啓響應端口vim
firewall-cmd --permanent --add-port=1051/tcp firewall-cmd --permanent --add-port=1051/udp firewall-cmd --reload
啓動zabbix服務windows
systemctl start zabbix-server
安裝zabbix客戶端程序監控本機
yum install zabbix-agent zabbix-sender
修改客戶端程序配置文件
vim /etc/zabbix/zabbix_agentd-conf Server=zabbix.example.com #zabbix服務器地址 Hostname=client.example.com #本機主機名(要求全局惟一)
打開客戶端程序所需的端口
firewall-cmd --permanent --add-port=1050/tcp firewall-cmd --permanent --add-port=1050/udp firewall-cmd --reload
啓動客戶端程序
systemctl start zabbix-agent
1、配置LAMP環境,也能夠使用LNMP
yum install httpd mariadb mariadb-server php php-mysql
(1)配置httpd配置文件,使能處理動態界面
vim /etc/httpd/conf/httpd.conf ServerName www.example.com <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
(2)配置優化php配置文件
vim /etc/php.ini max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = Asia/Shanghai
(3)拷貝mysql示例配置文件
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 優化配置文件 vim /etc/my.cnf [mysqld] innodb_file_per_table=on
(4)啓動服務
systemctl start mariadb
(5)數據庫安全初始化
mysql_secure_installation
(6)建立數據庫設置字符集,設置相應的用戶權限並刷新權限
MariaDB [(none)]> create database zabbix character set utf8; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%.example.com' identified by 'zabbixpass'; MariaDB [(none)]> flush privileges;
(7)將從zabbix拷貝過來的sql腳本導入至zabbix數據庫
zcat create.sql.gz |mysql -p zabbix
(8)編輯動態測試文件,測試php與數據庫的鏈接
vim /var/www/http/index.php <?php $link=mysql_connect("localhost","zabbix","zabbixpass"); if(!$link) { echo "mysql connnect error!"; } else { echo "mysql connect succeed!"; mysql_close(); } ?>
(9)配置防火牆
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=mysql firewall-cmd --reload
(10)測試沒問題
2、安裝zabbix倉庫rpm包,並安裝zabbix-web程序
yum install http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm yum install zabbix-web zabbix-web-mysql -y
(1)安裝後會在httpd配置文件下生成zabbix的虛擬目錄配置文件
ls /etc/httpd/conf.d/zabbix.conf /etc/httpd/conf.d/zabbix.conf
(2)重啓httpd服務,加載新生成的配置文件
systemctl restart httpd
(3)安裝zabbix客戶端使能監控本機
yum install zabbix-agent
(4)修改配置文件如下內容
vim /etc/zabbix/zabbix_agentd-conf Server=zabbix.example.com Hostname=www.example.com
(5)開啓客戶端所需端口
firewall-cmd --permanent --add-port=1050/tcp firewall-cmd --permanent --add-port=1050/udp firewall-cmd --reload
(6)啓動客戶端程序
systemctl start zabbix-agent
1、下載zabbix客戶端
地址:http://www.zabbix.com/downloads/3.2.0/zabbix_agents_3.2.0.win.zip
進入到目標主機的c:\zabbix目錄下,執行以下命令完成客戶端的安裝:
(1)確保網絡連通
(2)修改在conf下的zabbix_agentd.conf文件,寫入以下基本內容:
切記!不要使用記事本修改此文件,會有換行格式問題,最好使用sablime text編輯
LogFile=c:\zabbix\zabbix_agentd.log Server=zabbix.example.com Hostname=win.example.com<客戶端主機名>
(3)啓動命令提示符,切換至C:\zabbix\bin目錄,執行如下命令
zabbix_agentd.exe –c c:\zabbix\zabbix_agentd.win.conf -i zabbix_agentd.exe –c c:\zabbix\zabbix_agentd.win.conf –s 參數含義: -c #制定配置文件所在位置 -I #是安裝客戶端 -s #啓動客戶端 -x #中止客戶端 -d #卸載客戶端
(4)查看相應端口是否開啓
安裝ZABBIX客戶端程序包
yum install http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm yum install zabbix-agent zabbix-sender
(1)編輯客戶端文件
vim /etc/zabbix/zabbix_agentd-conf Server=zabbix.example.com Hostname=client.example.com
(2)清空iptables防火牆規則
iptables -F
(3)啓動客戶端程序
service zabbix-agent restart
建立主機
建立主機詳解
①主機地址,或者主機名稱
②顯示的名稱,可隨意
③將建立的主機添加到分組
④輸入主機地址或名稱
⑤選擇IP或者DNS
⑥點擊模板,選擇主機的檢測模板
①點擊選擇
②更新主機類型選擇不一樣的模板
③更新主機類型選擇不一樣的模板
④點擊添加至鏈接
⑤點擊添加完成新增主機配置
windows主機沒法鏈接,經排查後,是用windows的記事本編輯配置文件致使文件格式錯誤,修改重啓後問題解決
所有主機都沒有檢測到數據
顯示zabbix服務沒有運行,問題不詳
解決辦法:將zabbix-server移動至web服務器,以前也作過將zabbix-server單獨一臺機器,不知道爲何此次不能夠了,至死不渝!!