您好,登錄后才能下訂單哦!
一、簡介
zabbix(音同 zbix)是一個基于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等平臺上。
二、實驗環境
主機 | 操作系統 | IP地址 | 主要軟件 |
Zabbix Server | Centos7.2 | 192.168.1.103 | zabbix-3.2.4、httpd、mariadb、php等。 |
Zabbix Agent | Centos7.2 | 192.168.1.105 | zabbix-3.2.4 |
Zabbix Agent | Windows Server 2008 R2 | 192.168.1.106 |
三、搭建Zabbix Server并添加主機
1、安裝Zabbix Server
安裝所需軟件包
[root@bogon ~]# yum -y install gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel vim
創建zabbix用戶
[root@bogon zabbix-3.2.4]# useradd zabbix
關閉防火墻(由于本次是實驗環境為了調試方便所以關閉防火墻,生產環境中一定要打開防火墻,并配置相關規則)
[root@bogon zabbix-3.2.4]# systemctl stop firewalld.service
[root@bogon ~]# tar xf zabbix-3.2.4.tar.gz
[root@bogon ~]# cd zabbix-3.2.4
[root@bogon zabbix-3.2.4]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc
[root@bogon zabbix-3.2.4]# make install
啟動數據庫
[root@bogon zabbix-3.2.4]# systemctl start mariadb.service
給數據庫設置密碼(本次試驗中是新安裝的數據庫,所以將密碼設置為linux.com123)
[root@bogon zabbix-3.2.4]# mysqladmin -u root -p password linux.com123
Enter password: ←直接敲回車即可(新安裝的數據庫默認是沒有密碼的)
[root@bogon zabbix-3.2.4]# mysql -u root -p
Enter password: ←輸入剛剛設置的密碼
創建新用戶,用戶名為“zabbix”密碼“zabbix”,并將zabbix數據庫授權給zabbix用戶
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix'));
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
導入Sql語句
[root@bogon zabbix-3.2.4]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
[root@bogon zabbix-3.2.4]# mysql -uzabbix -pzabbix zabbix < database/mysql/p_w_picpaths.sql
[root@bogon zabbix-3.2.4]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
在/etc/php.ini中添加或修改如下內容
[root@bogon zabbix-3.2.4]# vim /etc/php.ini
878 date.timezone= Asia/Shanghai
384 max_execution_time = 300
672 post_max_size = 32M
407 memory_limit = 128M
1707 mbstring.func_overload = 1
將httpd、mariadb添加到系統啟動
[root@bogon ~]# systemctl enable httpd.service
[root@bogon ~]# systemctl enable mariadb.service
[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_server
[root@bogon zabbix-3.2.4]# chkconfig zabbix_server on
[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig zabbix_agentd on
[root@bogon zabbix-3.2.4]# cp -r ./frontends/php/ /var/www/html/zabbix
[root@bogon zabbix-3.2.4]# chown -R apache.apache /var/www/html/zabbix
啟動httpd服務
[root@bogon ~]# systemctl start httpd.service
Zabbix Agent配置(被監控端)
[root@bogon ~]# yum -y install gcc* make vim
[root@bogon ~]# setenforce 0
[root@bogon ~]# vim /etc/sysconfig/selinux
[root@bogon ~]# systemctl stop firewalld.service
[root@bogon ~]# setenforce 0
[root@bogon ~]# vim /etc/sysconfig/selinux
[root@bogon ~]# systemctl stop firewalld.service
編譯安裝Zabbix Agent
[root@bogon zabbix-3.2.4]# ./configure --enable-agent
[root@bogon zabbix-3.2.4]# make install
[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig zabbix_agentd on
[root@bogon zabbix-3.2.4]# chkconfig --list zabbix_agentd
[root@bogon zabbix-3.2.4]# useradd zabbix
更改如下三項
[root@bogon zabbix-3.2.4]# vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.1.104
ServerActive=192.168.1.104
Hostname=Linux ←需要和下文Web中添加的主機名一致
[root@bogon ~]# systemctl start zabbix_agentd.service
Web端配置
通過瀏覽器訪問“http://192.168.0.104/zabbix”
點擊“next step”(如果出現紅色選項需要在/etc/php.ini中將相應的值修改為與required相等)
輸入數據庫名、用戶名以及密碼
輸入主機名
確認信息是否正確
zabbix對網頁目錄權限不足,所以需要我們手動下載配置文件,并放到網頁中提示的位置(1、點擊Download the configuration file。 2、將該文件存放到“/var/www/html/zabbix/conf/zabbix.conf.php”)
刷新網頁發現已經找到該配置文件
默認用戶名“Admin”、密碼“zabbix”
進入到zabbix首頁面發現zabbix服務顯示沒有啟動,但通過shell查看服務的狀態發現服務已經啟動
[root@bogon ~]# systemctl status zabbix_server.service
● zabbix_server.service - SYSV: Starts and stops Zabbix Server using chkconfig
Loaded: loaded (/etc/rc.d/init.d/zabbix_server; bad; vendor preset: disabled)
Active: active (running) since 三 2017-03-15 09:20:20 CST; 30min ago
這是由于selinux機制限制所造成的,關閉selinux機制即可
[root@bogon ~]# setenforce 0
將SELINUX項更改為disabled
[root@bogon ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
刷新頁面即可
點擊“configuration → Host groups”并點擊右上角的“create host group”創建一個新的host group
數據新建host group的名稱,并選擇需要用到的模板(添加到該組的主機默認會使用添加該模板)
2、添加主機
點擊“configuration→hosts”然后點擊右上角的create host新建主機
輸入主機名、選擇主機組、填寫被監控主機的IP地址
點擊templates并添加相應模板
等待Availability中的ZBX變為綠色即表示可以與被監控主機正常通信
點擊“Monitoring→graphs在右上角選擇主機后即可查看被監控主機的數據
添加網卡監控項目
進入到“configuration→templates→選擇需要添加網卡監控的模板→itmes”本次筆者選擇的是Template OS Linux模板添加網卡監控
添加網卡監控需要添加兩個Item(因為網卡流量是一進一出)
添加In方向item
1、在Name中填寫In方向的名字本次實驗使用的是“Incoming network traffic on Networkinterfacecard”
2、type中選擇“Zabbix_agent”
3、key中輸入“Net_incoming”
4、Type of information中選擇“Numeric(float)”
5、Units選擇Bps
6、其他按照下圖中更改即可
添加Out方向item
1、在Name中填寫In方向的名字本次實驗使用的是“Net_Outgoing network traffic on Networkinterfacecard”
2、type中選擇“Zabbix_agent”
3、key中輸入“Net_Outgoing”
4、Type of information中選擇“Numeric(float)”
5、Units選擇Bps
6、其他按照下圖中更改即可
添加完In、Out方向的item之后需要回到“configuration→templates→選擇需要添加網卡監控的模板→graphs”
點擊右上角的"Create graph"并在items中添加剛剛添加的兩個item
在“monitoring→graphs”中查看
添加Windows監控
在官網下載Zabbix Agent windows版http://www.zabbix.com/download
將文件解壓放到windows的c盤下
編輯conf/zabbix_agentd.win.conf(建議使用notepad++編輯)
修改如下項:(和linux上類似)
Hostname=WindowsServer2008R2
ServerActive=192.168.1.104
Server=192.168.1.104
打開cmd,輸入如下信息(將zabbix_agent添加到服務中)
c:\bin\win64\zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf -i
啟動服務
c:\bin\win64\zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf -s
使用netstat -an | find "10050"查看端口是否啟用
打開服務控制臺也可以看到
在Zabbix Server web界面中添加主機
進入到“configuration→hosts”點擊“create host”輸入主機名、主機IP等信息
點擊templates選擇windows模板
添加完成
點擊“monitoring→graph”并在右上角選擇剛剛添加的windows主機查看圖像
3、添加郵件報警
[root@bogon ~]# yum -y install mailx
添加如下幾行
[root@bogon ~]# vim /etc/mail.rc
set from=1861097xxxx@163.com ←發送郵件的郵箱地址
set smtp=smtp.163.com
set smtp-auth-user=1861097xxxx@163.com ←同上,發送郵件的郵箱地址
set smtp-auth-password=lx3768150 ←筆者使用的是163的郵箱,需要使用授權碼登錄
set smtp-auth=login
[root@bogon ~]# systemctl start mailx.service
發送郵件測試
[root@bogon ~]# echo "zabbix test" | mail -s "zabbix" 1247718627@qq.com
編寫發送腳本
[root@bogon ~]#vim /usr/local/share/zabbix/alertscripts/sendmail.sh
#!/bin/sh
#
#echo "$3" | mail -s "$2" $1
echo "$3" | sed s/'\r'//g | mail -s "$2" $1
[root@bogon ~]# chmod +x /usr/local/share/zabbix/alertscripts/sendmail.sh
接下來需要在Web中配置報警
打開“Administrator→media type →create media type”
打開“Administrator→user”點擊admin,選擇“media”并點擊“add”
點擊update更新
關閉Windows Server 2008 R2郵箱收到報警信息
問題匯總:
將zabbix更改為中文之后圖像亂碼
解決方法:
這個問題是由于zabbix的web端沒有中文字庫,我們最需要把中文字庫加上即可。
1、選擇C:\Windows\Fonts\選擇一種中文字庫例如“簡體字”。點擊右鍵復制
將字體上傳到“Zabbix Server”的zabbix自體庫中
將剛剛上傳的文件名改為小寫
[root@bogon fonts]# mv SIMFANG.TTF simfang.ttf
在如下兩行中將默認的“DejaVuSans”更改為剛剛上傳的“simfang”
[root@bogon ~]# vim /var/www/html/zabbix/include/defines.inc.php
//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'simfang');
//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
define('ZBX_GRAPH_FONT_NAME', 'simfang');
刷新網頁
相關資料:
百度知道zabbix
zabbix中文亂碼
《Zabbix監控深度實踐》
筆者最近剛剛開始使用Zabbix,還不是特別的熟悉,如有哪里寫錯或者忘寫的地方還請大家指出,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。