Zabbix服務器運行的環境爲 Linux(UNIX)+PHP+Web Service+DataBase,這裏的 Web Service 能夠爲 Nginx、Apache,DataBase 能夠爲MySQL、Oracle、PostgreSQL 等;php
對於硬盤的 要求,建議採用 SAS 硬盤 RAID10,由於其性能安全很好。固然,實際環境中也 有可能採用虛擬機來搭建 Zabbix 監控系統環境。在整個 Zabbix 監控系統的搭建 和維護中,磁盤 I/O、數據庫性能將成爲整個監控系統運行良好的關鍵因素;前端
Zabbix-Server 的數據庫大小取決於 NVPSjava
(1)歷史數據的保存 mysql
NVPS 值是每秒處理的平均數量,假設有 60000 個監控項,刷新週期爲 60 秒, 那麼每秒須要處理的數據爲 60000/60=1000(條),表示此時每秒將會向數據庫中 新增 1000 條數據,這些數據根據設置的歷史存儲時間保存。例如,保存週期爲 90 天,每秒處理 1000 條,計算方法爲: 歷史數據大小=天數×每秒處理的數據×一天 24 小時×一小時 3600 秒×50Bytes 則須要佔用的空間爲: (90×24×3600)×1000×50=388 800 000 000(B)(約 362GB,假設保存爲一年, 則有 362×4=1448GBlinux
(2)趨勢數據的保存 每個 Items 趨勢的數據大約爲 128B,這取決於數據庫類型。 假設有 60 000 個 Items,保存一年的趨勢數據,其計算方法爲: 趨勢數據大小=監控項×天天 24 小時×一年 365 天×128B 則須要的空間爲: 60 000×24×365×128=67 276 800 000B(約 67GB) ; web
趨勢數據一小時獲取一次,通常狀況下,趨勢數據一條記錄大概佔用 128字節,若是咱們想保存5年趨勢數據,3
000個監控線須要2.4GB(3000個*24小時*356 天*128字節)每一年,5年一共16.8G sql
(3)事件數據的保存 每一個事件佔用 130 B 空間,假設保存一年,則須要的空間爲: 1×24×3600×365×130=4 099 680 000B(約 4GB) 即60 000個監控項,週期爲60秒更新數據,保存一年須要362+67+4=443 (GB) 磁盤空間,實際上,比這佔用得更多,須要保存其餘更多的數據,所以,應該會 超過 500GB 的數據空間數據庫
總共須要的磁盤空間大小計算公式爲: Total space=Configuration + History + Trends + Events apache
數據庫硬盤空間=配置文件大小+歷史記錄+趨勢記錄+事件記錄vim
Zabbix 提供了網絡自動發現功能,該功能能夠基於 FTP、SSH、Web、 LDAP、POP三、IMAP、SMTP、TCP、SNMP、Telnet、zabbix_agent , IP 存活,而是否添加到監控,是由 Actions 來決定的。
Zabbix支持polling和trapping兩種方式. 全部的Zabbix報告均可以經過配置參數在WEB前端進行訪問.
Web 前端將幫助你在任何區域都可以迅速得到你的網絡及服務情況. Zabbix 能夠經過儘量的配置來扮演
監控你的IT基礎框架的角色,而無論你是來自於小型組織仍是大規模的公司.
Zabbix是零成本的. 由於 Zabbix編寫和發佈基於GPL V2協議. 意味着源代碼是免費發佈的
默認狀況下 zabbix 包含 5 個程序:zabbix_agent、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另一個zabbix_java_gateway是可選,這個須要另外安裝
zabbix_agentd
客戶端守護進程,此進程收集客戶端數據,例如cpu 負載、內存、硬盤使用狀況等
zabbix_get
zabbix 工具,單獨使用的命令,一般在 server 或者 proxy 端執行獲取遠程客戶端信息的命令。一般用戶排
錯。例如在 server 端獲取不到客戶端的內存數據,咱們可使用 zabbix_get 獲取客戶端的內容的方式來作故障
排查。
zabbix_sender
zabbix工具,用於發送數據給server 或者 proxy,一般用於耗時比較長的檢查。不少檢查很是耗時間,致使
zabbix 超時。因而咱們在腳本執行完畢以後,使用sender主動提交數據。
zabbix_server
zabbix 服務端守護進程。zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_jav
a_gateway的數據最終都是提交到server
備註:固然不是數據都是主動提交給zabbix_server,也有的是server 主動去取數據。
zabbix_proxy
zabbix 代理守護進程。功能相似 server,惟一不一樣的是它只是一箇中轉站,它須要把收集到的數據提交到server裏
zabbix_java_gateway
zabbix2.0以後引入的一個功能。顧名思義:Java網關,相似agentd,可是隻用於Java方面。須要特別注
意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到 server或者proxy。
zabbix 配置:固定大小,通常<10MB
歷史數據:天數*(監控項總數/刷新頻率)*24小時*3600 秒*50字節
趨勢數據:天數*(監控項總數/3600)*24小時*3600秒*128字節
事件數據:天數*事件個數(大概值)*24小時*3600 秒*130字節
Zabbix-Server 須要的軟件環境
依賴的軟件包
OpenIPMI 如需支持 IPMI
libssh 2 如需支持 SSH,則須要 libssh 1.0 或更高版本
fping ICMP ping 的支持
libcurl Web 監控
libiksemel Jabber 告警介質
net-snmp SNMP 的支持
時間同步
請確保你全部的服務器時間都是正確的,爲了確保時間 ok,請在 crontab 裏面加上定時
時間同步。
# crontab -l 00 00 * * * /usr/sbin/ntpdate -u 195.13.1.153
Zabbix-Server 對時間的精準要求比較高,
Zabbix經過C/S模式採集數據,經過B/S模式在web端展現和配置。
被監控端:主機經過安裝agent方式採集數據,網絡設備經過SNMP方式採集數據
Server端:經過收集SNMP和agent發送的數據,寫入MySQL數據庫,再經過php+apache在web前端展現
配置系統
一、調整系統時間
ntpdate ntp1.aliyun.com
二、調整系統時區
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
三、關閉selinux
不關閉seliunx會出現權限問題,建議關閉
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
安裝步驟
一、安裝Zabbix的yum源
rpm -i http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
二、安裝zabbix
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
三、安裝mariadb數據庫,而且啓動
yum install -y mariadb-server
systemctl start mariadb.service
剛剛安裝的root帳號沒有密碼,須要自行修改和管理帳號
四、初始化zabbix數據庫和建立訪問帳號
mysql -uroot -p
password
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
五、將zabbix的sql文件導入到數據庫中
zcat /usr/share/doc/zabbix-server-mysql-3.0.14/create.sql.gz | mysql -uzabbix -p zabbix
六、配置zabbix server鏈接數據庫
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
七、配置zabbix時區
vim /etc/httpd/conf.d/zabbix.conf
在<IfModule mod_php5.c>中添加
php_value date.timezone Asia/Shanghai
或者使用sed命令
sed -i.ori '18a php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf
八、啓動zabbix server服務
systemctl start zabbix-server
systemctl start httpd
九、寫入開機啓動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF
十、輸出訪問
echo "瀏覽器訪問 http://`hostname -I|awk '{print $1}'`/zabbix"
十一、中文亂碼解決
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
十二、防火牆處理
若是系統開啓了防火牆須要打開相應的端口
80端口開放:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
1三、zabbix web 安裝
13.一、打開瀏覽器輸入 http://ip/zabbix
13.二、下一步進行檢測信息,看具體報錯進行相應解決
13.三、下一步,配置數據庫
13.四、配置zabbix server,name 自定義
13.五、信息肯定
13.六、配置完成
13.七、登陸,帳號/密碼:Admin/zabbix
一、安裝zabbix yum源
rpm -i http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
二、安裝客戶端agent
yum install zabbix-agent -y
三、配置agent配置
四、啓動服務
systemctl start zabbix-agent.service
五、設置爲開機啓動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start zabbix-agent.service
EOF
注意:只能在服務端進行測試
一、安裝檢測工具
yum install zabbix-get
二、在服務端進行測試
測試本地服務的agent鏈接
zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"
60秒內快速搭建完整zabbix3.4.6監控系統連接:https://mp.weixin.qq.com/s/3HP9uM3tTSMVpx9HCOFKNQ