Zabbix3.4安裝的詳細步驟
一、zabbix介紹
現在大多數公司都會用到監控軟件,主流的監控軟件就是Zabbix了,當然還會有Nagios等其他的軟件:
zabbix是一個基于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等平臺之上。
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 主動接收監視數據(trapping方式),同時還可被動接收zabbix agent 發送的數據(trapping方式)。
另外zabbix server 還支持SNMP (v1,v2),可以與SNMP軟件(例如:net-snmp)等配合使用。
Zabbix 功能:
①具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫、性能監控、FTP 等通用協議監控、多種告警方式、詳細的報表圖表繪制)?
②支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現)?
③支持自動發現(low discovery)key 實現動態監控項的批量監控(需寫腳本)?
④支持分布式,能集中展示、管理分布式的監控點?
⑤擴展性強,server 提供通用接口(api 功能),可以自己開發完善各類監控(根據相關接口編寫程序實現)編寫插件容易,可以自定義監控項,報警級別的設置。?
⑥數據收集?
可用和性能檢測?
支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET?
自定義的檢測?
自定義收集數據的頻率?
服務器/代理和客戶端模式?
靈活的觸發器?
可以定義非常靈活的問題閾值,稱為觸發器,從后端數據庫的參考值?
高可定制的報警?
發送通知,可定制的報警升級,收件人,媒體類型?
通知可以使用宏變量有用的變量?
自動操作包括遠程命令?
實時的繪圖功能?
監控項實時的將數據繪制在圖形上面?
WEB 監控能力?
ZABBIX 可以模擬鼠標點擊了一個網站,并檢查返回值和響應時間
API 功能?:
應用api功能,可以方便的和其他系統結合,包括手機客戶端的使用。?
更多功能請查看?
http://www.zabbix.com/documentation.php
二、安裝zabbix環境及準備工作
linux 系統版本 準備工作 安裝的軟件類型 服務內容
1,安裝Zabbix需要的硬件環境及軟件版本,我這里在官網上查了一下,你可以根據自己的環境和要求來選擇:
下表是幾個硬件配置的示例:
名稱 | 平臺 | CPU/內存 | 數據庫 | 監控主機數量 |
小型 | CentOS | 虛擬應用 | MySQL ? InnoDB | 100 |
中型 | CentOS | 2 CPU ? cores/2GB | MySQL ? InnoDB | 500 |
大型 | RedHat ? Enterprise Linux | 4 CPU ? cores/8GB | RAID10 ? MySQL InnoDB or PostgreSQL | >1000 |
巨大型 | RedHat ? Enterprise Linux | 8 CPU ? cores/16GB | 快速RAID10 MySQL InnoDB or PostgreSQL | >10000 |
具體的配置極其依賴于Active Item數量和輪詢頻率。如需要進行大規模部署,強烈建議將數據庫進行獨立部署。
支持平臺:
由于監控服務器的安全要求及關鍵任務的特性,UNIX是唯一可以持續提供必要性能、容錯性和擴展性的操作系統。Zabbix可以運行在市場上的主流版本。
經測試,Zabbix可運行在下列平臺:
Linux
IBM AIX
FreeBSD
NetBSD
OpenBSD
HP-UX
Mac?OS?X
Solaris
Windows: Windows 2000以后的所有桌面和服務器版本 (只可運行Zabbix agent)
備注:Zabbix可能也可以運行在其他Unix類操作系統。
軟件
Zabbix基于先進的Apache Web服務器、領先的數據庫引擎和PHP腳本語言進行構建。
數據庫管理系統
軟件 | 版本 | 備注 |
MySQL | 5.0.3或以上 | 使用MySQL作為Zabbix后端數據庫。需要InnoDB引擎。 |
Oracle | 10g或以上 | 使用Oracle作為Zabbix后端數據庫。 |
PostgreSQL | 8.1或以上 | 使用PostgreSQL作為Zabbix后端數據庫。 |
SQLite | 3.3.5或以上 | 使用SQLite作為Zabbix后端數據庫。 |
IBM DB2 | 9.7或以上 | 使用IBM DB2作為Zabbix后端數據庫。 |
對于IBM DB2的支持僅供測試!雖然Zabbix proxy可以正常使用SQLite3,但是不推薦Zabbix server使用SQLite3。自Zabbix 2.4.0起,,Zabbix server和前端同時進行數據庫訪問,甚至可能導致數據庫中斷!
備注:這里只是在官網下載的重要的一部分,有想具體了解可以上官網查看。
2,接下來我說一下我實驗環境
操作系統 | 主機IP? | 主機名稱 | 安裝軟件 | 安裝zabbix版本 | MySQL版本 |
Centos7.3 | 192.68.0.20 | zabbix | Zabbix-server | Zabbix 3.4.10 | MySQL5.7.22 |
centos6.5 | 192.168.0.157 | Test02 | zabbix-agent | zabbix-agent-3.4.10 | / |
win-server2008R2 | 192.168.0.10 | SERVERDC | zabbix-agent-wind | zabbix-agent-3.0.4 | / |
3,正式開始安裝zabbix
3.1)在監控主機上需要預先安裝yum 源,下面正式開始安裝;
[root@zabbix?~]#?rpm?-ivh?http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3.2)安裝Zabbix-server包和zabbix-agent包
[root@zabbix?~]#?yum?-y?install?zabbix-server-mysql?zabbix-web-mysql??zabbix-agent
3.3)下載安裝mysql源
[root@zabbix?~]#?rpm?-ivh?https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
3.4)查看當前可用的Mysql安裝源
[root@zabbix?~]#?yum?repolist?enabled?|?grep?"mysql.*-community.*" mysql-connectors-community/x86_64?MySQL?Connectors?Community??????????????????51 mysql-tools-community/x86_64??????MySQL?Tools?Community???????????????????????63 mysql57-community/x86_64??????????MySQL?5.7?Community?Server?????????????????267
3.5)安裝MySQL服務端
[root@zabbix?~]#?yum?-y?install?mysql-community-server
3.6)啟動mysql服務并設置開機啟動
[root@zabbix?~]#systemctl?start?mysqld [root@zabbix?~]#systemctl?enable?mysqld
3.7)進入MySQL并修改密碼
[root@zabbix?~]#cat?/var/log/mysqld.log?|?grep?password [root@zabbix?~]#mysql?-uroot?-pRir.*sJUX6M* mysql>?ALTER?USER?USER()?IDENTIFIED?BY?'Pass123!';
如果想用簡單的密碼必須先改一個變量;
mysql>?set?global?validate_password_policy=0; mysql>?ALTER?USER?USER()?IDENTIFIED?BY?'12345678';
不然你改密碼會不通過,會有密碼復雜度要求。
3.8)創建數據庫和zabbix用戶并授權
mysql>?create?database?zabbix?character?set?utf8?collate?utf8_bin; Query?OK,?1?row?affected?(10.03?sec) mysql>?grant?all?privileges?on?zabbix.*?to?zabbix@localhost?identified?by?'Pass123!'; Query?OK,?0?rows?affected,?1?warning?(0.00?sec)
3.9)導入初始架構(Schema)和數據
[root@zabbix?~]#cd?/usr/share/doc/zabbix-server-mysql-3.4.10/ [root@zabbix??zabbix-server-mysql-3.4.10?~]#zcat?create.sql.gz?|?mysql?-uzabbix?-pPass123!?-D?zabbix mysql:?[Warning]?Using?a?password?on?the?command?line?interface?can?be?insecure.
3.10)然后進入mysql查看這些內容是否導入進去
mysql>?show?tables?from?zabbix;
mysql>?select?count(*)?tables,table_schema?from?information_schema.tables?where?table_schema?="zabbix";
4.修改配置文件,給服務授權、啟動Zabbix Server服務
4.1)修改配置文件
[root@zabbix?~]#vim??/etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=Pass123! SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
備注:記得先備份 cp?/etc/zabbix/zabbix_server.conf ?/etc/zabbix/zabbix_server.conf.bak?
4.2)給服務授權
[root@zabbix?~]#chown?-R?zabbix:zabbix?/etc/zabbix/ [root@zabbix?~]#chmod?-R?755?/etc/zabbix/
4.3)啟動Zabbix Server服務
[root@zabbix?~]#systemctl?start??zabbix-server [root@zabbix?~]#systemctl?enable?zabbix-server
備注:這里會有一個坑,就是在啟動zabbix服務會失敗,Job for zabbix-server.service failed. See 'systemctl status zabbix-server.service' and 'journalctl -xn' for details.查了一下原因是gnutls-3.3的高版本問題,解決辦法是;1,先卸載這個高版本的gnutls-3.3,命令:rpm -e gnutls-3.3.24-1.el7.x86_64 --nodeps2,然后去網上下載一個gnutls-3.1的版本,然后使用命令rpm -Uvh --force gnutls-3.1.18-8.el7.x86_64.rpm
5.編輯Zabbix前端的PHP配置
5.1)zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 。一些PHP設置已經完成了配置。
[root@zabbix?~]#?vim?/etc/httpd/conf.d/zabbix.conf?+15 找到<IfModule?mod_php5.c>標簽下面 添加一條php_value?date.timezone?Asia/Shanghai
5.2)啟動apache服務,并設置開機自啟
[root@zabbix?~]#systemctl?start?httpd [root@zabbix?~]#systemctl?enable??httpd
三、登錄網頁客戶端操作添加一臺Linux機器
1,訪問ip:http://192.168.0.20/zabbix/index.php
中間省略一部分-----------------------------直接到登錄界面了。
默認的用戶名是:Admin 密碼:zabbix
2,添加一臺Linux客戶端機器(ip:192.168.0.157)
訪問zabbix官網:https://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=6&db=MySQL
2.1)添加centos6下的源:
[root@Test02?~]#?rpm?-ivh?http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
2.2)安裝客戶端agent軟件
[root@Test02?~]#?yum?-y?install?zabbix-agent
2.3)修改agent配置文件
[root@Test02?~]#?grep?-v?'^$'?/etc/zabbix/zabbix_agentd.conf?|grep?-v?'^#' PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.0.20 ServerActive=192.168.0.20:10050 Hostname=Test02 Include=/etc/zabbix/zabbix_agentd.d/*.conf
2.4)給配置文件授權
[root@Test02?~]#?chmod?775?/etc/zabbix/zabbix_agentd.conf
2.5)啟動agent服務并查看服務啟動成功沒有
[root@Test02?~]#?/etc/init.d/zabbix-agent?start? [root@Test02?~]#?netstat?-lntup?|grep?zabbix_agent
3,在回到網頁上來添加第一臺主機
3.1)在配置--主機---創建主機
3.2)添加主機詳細信息
3.3)添加主機模板信息
3.4)這樣一臺客戶端Linux基本添加完成,過幾分鐘就能開到Zabbix圖標變綠證明添加成功了。
四、登錄網頁客戶端操作添加一臺windows機器
4.1)我這里是找到一臺域控制器來監控主機的ip(192.168.0.10)在網上下載了一個windows版的agent。
4.2) 下載軟件百度云盤:鏈接: https://pan.baidu.com/s/1VCQ8tjSjIUt7bgY3Amf1lg 密碼: avmd
4.3)把下載好的軟件解壓到D盤:解壓后有兩個目錄:bin和conf bin目錄下會有win32和win64倆個文件夾,根據windows系統的版本自行進行選擇。
4.4)修改配置文件(我這里用的是win64)
修改conf文件中的zabbix_agentd.win.conf配置文件: LogFile=D:\zabbix_agentd.log Server=192.168.0.20????????????????????????????????????????????//zabbix服務端的ip地址 ServerActive=192.168.0.20:10051 Hostname=SERVERDC?????????????????????????????????????????????//windows客戶機的ip地址
4.5)使用cmd命令行進行安裝啟動-c指定配置文件
參數:-i 安裝,-s 啟動,-x 停止,-d 卸載
安裝命令:
C:\Users\admin>?D:\zabbix_agent\bin\win64\zabbix_agentd.exe?-c?D:\zabbix_agent\conf\zabbix_agentd.win.conf?-i zabbix_agentd.exe?[252]:?service?[Zabbix?Agent]?installed?successfully zabbix_agentd.exe?[252]:?event?source?[Zabbix?Agent]?installed?successfully 啟動命令: C:\Users\admin>?D:\zabbix_agent\bin\win64\zabbix_agentd.exe?-c?D:\zabbix_agent\conf\zabbix_agentd.win.conf?-s zabbix_agentd.exe?[4796]:?service?[Zabbix?Agent]?started?successfully
4.6)在WindowsServer服務器上開啟連接10050端口;具體如下:
4.6.1)創建入站規則--基于端口
4.6.2)基于tcp協議使用10050端口
4.6.3)允許連接
4.6.4)允許連接那些網絡環境,3種都選了。
4.6.4)添加一些描述就好了,配置結束了。
4.7)回到網頁進入添加windows客戶端
4.7.1)在配置----主機-----創建主機
4.7.2)在配置----主機-----添加主機詳細信息
4.7.3)添加windows主機模板
4.7.4)添加完成后過幾分鐘zabbix按鈕就會變綠了,證明添加成功了。
到此處基本上都已經添加完成了,下面就要添加報警功能。
轉載于:https://blog.51cto.com/hwg1227/2126342