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
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 能夠無agent監視
- 用戶安全認證和柔軟的受權方式
- 經過WEB界面設置或查看監視結果
- email等通知功能html
- CPU負荷
- 內存使用
- 磁盤使用
- 網絡情況
- 端口監視
- 日誌監視mysql
在Ubuntu16.04中的apt-get源不能正常下載安裝 zabbix-server-mysql和php5等等,因此要更換源問的內容。sql
首先到/etc/apt/目錄對原來的source.list進行備份shell
#cp source.list source.list_16.04
而後把Ubuntu 15.10的source.list的內容數據庫
deb http://us.archive.ubuntu.com/ubuntu/ wily main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ wily main restricted deb http://us.archive.ubuntu.com/ubuntu/ wily-updates main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ wily-updates main restricted deb http://us.archive.ubuntu.com/ubuntu/ wily universe deb-src http://us.archive.ubuntu.com/ubuntu/ wily universe deb http://us.archive.ubuntu.com/ubuntu/ wily-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ wily-updates universe deb http://us.archive.ubuntu.com/ubuntu/ wily multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ wily multiverse deb http://us.archive.ubuntu.com/ubuntu/ wily-updates multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ wily-updates multiverse deb http://us.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu wily-security main restricted deb-src http://security.ubuntu.com/ubuntu wily-security main restricted deb http://security.ubuntu.com/ubuntu wily-security universe deb-src http://security.ubuntu.com/ubuntu wily-security universe deb http://security.ubuntu.com/ubuntu wily-security multiverse deb-src http://security.ubuntu.com/ubuntu wily-security multiverse
覆蓋原來的source.list的內容apache
清理一下apt緩存信息ubuntu
#apt-get clean #apt-get upgrade #apt-get update
若是zabbix-frontend-php沒法下載的話能夠切換回16.04的source.list進行下載安裝vim
首先安裝apache、php五、mysql緩存
sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install libapache2-mod-php5 sudo /etc/init.d/apache2 restart // 重啓apache,此時php5已經可用了 sudo apt-get install mysql-server//數據庫帳號:root密碼:root sudo apt-get install libapache2-mod-auth-mysql sudo apt-get install php5-mysql sudo /etc/init.d/apache2 restart // 再次重啓apache,使新服務正常激活 而後在終端輸入: sudo ls /etc/apache2/mods-enabled 看看這個目錄下(默認存在),有沒有php5.conf 和 php5.load,若是沒有則: sudo a2enmod php5 啓用 php 模塊,而後重啓apache便可。OK,apache、php五、mysql都已經可用了。 sudo /etc/init.d/apache2 restart
這裏還須要配置下/etc/php5/apache2/php.ini
;date.timezone ===>去掉註釋在=後添加 Asia/Shanghai max_input_time =600 max_execution_time= 600 post_max_size =32M sudo /etc/init.d/apache2 restart
//安裝zabbix服務端 sudo apt-get install zabbix-server-mysql //安裝過程會彈出許多窗口,默認就好了,期間要求輸入2-3次數據庫的密碼(這裏一直填root)
運行程序更新時出現報錯: 沒法得到鎖 /var/lib/dpkg/lock - open (11: 資源臨時不可用)
好吧,剛剛強制關閉,安裝程序鎖住了資源。因而:
sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/updates/* sudo apt-get update sudo apt-get upgrade sudo apt-get aotuclean sudo apt-get aoturemove sudo apt-get clean
而後從新安裝:
sudo apt-get install zabbix-server-mysql
此次安裝卻是完成了,但是過程當中一點反應也沒有,啓動時失敗
yoara@ubuntu:~$ sudo /etc/init.d/zabbix-server start * zabbix_server is disabled in /etc/default/zabbix-server.
因而打開相關文檔查看
cat /etc/default/zabbix-server #以下一段 # This is by default set to "no" because a MySQL database needs to be prepared # and configured before you can start the Zabbix server for the first time. # # Instructions on how to set up the database can be found in # /usr/share/doc/zabbix-server-mysql/README.Debian START=no
難怪,這裏被設置成no了,首先要本身去設置數據庫信息。。
cat/usr/share/doc/zabbix-server-mysql/README.Debian create database zabbix character set utf8; create user 'zabbix'@'%' identified by 'zabbix'; grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix'; zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \ | mysql -uzabbix -pzabbix zabbix
在安裝腳本時,又出了mysql的問題
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
這問題通常是把socket改到/tmp/mysqld.sock,不過我這裏先無論他,直接指定IP訪問
zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \ | mysql -h127.0.0.1 -uzabbix -pzabbix zabbix
終於zabbix-server啓動成功了。
接着安裝zabbix網站
//安裝zabbix的網站程序 sudo apt-get install zabbix-frontend-php(數據庫root,root,root)
好吧,又是安裝完沒有一點反應,果真,不知緣由的只是解壓到了/usr/share/zabbix目錄下,什麼都沒發生。因而,手動拷貝到apache目錄下
sudo cp -r /usr/share/zabbix /var/www/html/zabbix
如今訪問,終於能夠出現設置界面了
//中止zabbix-server sudo/etc/init.d/zabbix-server stop //啓動zabbix-server sudo/etc/init.d/zabbix-server start http://服務器地址或域名/zabbix
不過安裝到最後一步又出問題了,還算好,提供了下載,下載後ftp到服務器
複製過去後仍是不行,那就得文件權限的問題了,因而ls- lh 果真以下,
yoara@ubuntu:/etc$ ls -lh /etc/zabbix 總用量 36K drwxr-xr-x 2 root root 4.0K 2月 16 2014 alert.d -rw------- 1 root root 425 12月 9 22:46 dbconfig.php -rw-r--r-- 1 root root 7.4K 2月 16 2014 zabbix_agentd.conf drwxr-xr-x 2 root root 4.0K 2月 16 2014 zabbix_agentd.conf.d -rw------- 1 root root 425 12月 9 22:36 zabbix.conf.php -rw-r--r-- 1 root root 12K 12月 9 21:10 zabbix_server.conf
由於在安裝時也沒注意帳戶,實際上對於這種應用,每一個應用都要新建用戶和用戶組,這裏就先所有受權
sudo chmod -R 777 /etc/zabbix
OK,終於能夠了。登陸用戶名密碼admin/zabbix。
# vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix StartTrappers=200 CacheSize=512M
(安裝mysql時我把root帳號的密碼設置爲zabbix)
Enter passworld:zabbix mysql>create database zabbix character set utf8 collate utf8_bin; mysql>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql>flush privileges; mysql>set GLOBAL max_connections=1000; mysql>show variables like '%max_connections%'; mysql> quit; #cd /usr/share/doc/zabbix-server-mysql #zcat create.sql.gz | mysql -u root -p zabbix #cp -r /usr/share/zabbix /var/www/html/zabbix #service zabbix-server restart
sudo vim /etc/php5/apache2/php.ini修改項: post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = "Asia/Shanghai" extension_dir = "/usr/lib/php5/20131226/"(gd.so被apt在到/usr/lib/php5/20131226下) extension=gd.so 修改完成後重啓apache2 sudo service apache2 start
網頁端配置
直接按照網頁端配置執行。
地址:http://ip/zabbix
用戶名密碼:Admin/zabbix
採用主動方式來進行數據信息獲取,因此要配置一些數據
sudo vi /etc/zabbix/zabbix_server.conf 處理Agentd推送過來的數據的進程開大一些,默認是5 StartTrappers=200
Configuration-->templates-->選擇一個合適的原模板,點擊進入詳細頁面而後full clone. 命名後修改items和Discovery rules的 Type。都設置爲Zabbix agent (active)。
sudo apt-get install zabbix-agent
安裝客戶端後,若不是服務器本機,修改zabbix配置文件/etc/zabbix/zabbix_agent.conf的數據sudo vi /etc/zabbix/zabbix_agentd.conf
ServerActive=127.0.0.1
設置爲0 僅爲主動模式,若是須要發送數據等 能夠不修改此項StartAgents=0
Hostname修改成網頁裏面添加的Hostname,須要保持一致。Hostname=Zabbix server
添加agent信息便可。注意選擇剛纔1.3.4中配置的模板及上面設置的Hostname。
最後,安裝zabbix客戶端,安裝過程也就結束了。
安裝客戶端後,若不是服務器本機,都須要修改zabbix配置文件/etc/zabbix/zabbix_agent.conf和/etc/zabbix/zabbix_sagentd.conf的一行
server=zabbix服務端地址或域名
no active checks on server [127.0.0.1:10051]: host [ubuntu] not found
解決方法:
1.在頁面上設置「組態->主機」將主機設置爲監控客戶端的機器hostname。
2./etc/zabbix/zabbix_agent.conf 中的hostname與1中設置的一致。
Ubuntu 倉庫中提供的 Zabbix 軟件包已通過時了。使用官方 Zabbix 倉庫安裝最新的穩定版本。
經過執行如下命令來安裝倉庫軟件包:
# wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb # dpkg -i zabbix-release_3.0-1+trusty_all.deb # apt-get update