zabbix安裝

前期安裝:

mysql:http://blog.csdn.net/locky_lll/article/details/78529363

apapche:http://blog.csdn.net/locky_lll/article/details/78537950

php7:http://blog.csdn.net/locky_lll/article/details/78548704


官網上有使用rpm包安裝過程,這篇文章使用的是源碼包安裝.


首先,因爲zabbix在使用mysql的時候默認的用戶名是zabbix,所以,先在mysql中添加zabbix用戶名,和zabbix databases.


mysql -uroot -p
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> show databases;   
+--------------------+     
| Database           |     
+--------------------+     
| information_schema |     
| mysql              |     
| performance_schema |     
| zabbix             |     
+--------------------+

在使用
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';

時可能會報錯

Your password does not satisfy the current policy requirements

使用5.7的彙報這樣的錯誤,這時候需要修改

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

這樣就可以了.

安裝zabbix

首先在zabbix官網上下載.tar.gz包.

https://www.zabbix.com/download      Zabbix Sources



yum install httpd libxml2-devel net-snmp-devel libcurl-devel  #安裝需要的依賴包
groupadd  -g 201  zabbix    #添加zbbix用戶組與用戶名
useradd  -g zabbix  -u 201 -m zabbix
tar zxvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql       #建立zabbix文件鏈接
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
/usr/bin/mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql


./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql --with-libxml2
make &&make install


編譯 zabbix 如果報下面錯誤,就做以下操作
configure: error: Not found mysqlclient library
#find / -name libmysqlclient*
ln -s /usr/lib64/mysql/libmysqlclient.so.18.1.0 /usr/lib64/mysql/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient_r.so.18.1.0 /usr/lib64/mysql/libmysqlclient_r.so
checking for libpcre support... no
configure: error: Unable to use libpcre (libpcre check failed)   如果出現這個錯誤,而且使用 find / -name libpcre* 你也裝了的時候

使用:yum -y install pcre*   就好了


配置zabbix

vim /etc/zabbix/zabbix_server.conf
DBHost=localhost  數據庫ip地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1,192.168.10.10  zabbix server ip地址


iptables -I INPUT -p tcp -m multiport --dports 10050:10051 -j ACCEPT 
service iptables save &&service iptables restart
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp /home/sources/zabbix-3.0.3/misc/init.d/fedora/core/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_server


配置WEB
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
ServerName 192.168.10.10
DocumentRoot  "/var/www/html"


mkdir -p /var/www/html/zabbix
cp -r /home/sources/zabbix-3.0.3/frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
chkconfig zabbix_server on
/etc/init.d/zabbix_server start
service httpd restart


下面就是在web上的配置了就不細說了.默認賬戶 Admin  密碼 zabbix

說一下我遇到的一個問題,解決了很長時間,查了很多東西才搞明白.


在web上面設置的時候會卡在第一頁或者第三頁無法next,我是卡在了第三頁,顯示

在zabbix的lo個裏面完全沒有報錯.  查找mysql的error.log的時候有一個  [Note] Aborted connection 16830 to db: 'zabbix' user: 'zabbix' host: 'localhost' (Got timeout reading communication packets)  

問題顯然出現在zabbix對MySQL的連接上 。但是當我進入MySQL中查詢連接數show full processlist; 的時候會發現,zabbix請求的進程已經連接到MySQL中了,所以肯定不是連接不上數據庫的問題。


這時候你只要把Database host改爲:127.0.0.1 就可以了.


解釋:

複製一份zabbix.conf.php.example文件爲zabbix.conf.php,因爲zabbix.conf.php.example在WEB頁面而設置後會生成zabbix.conf.php這樣的頁面,所以我們可以直接通過手動修改該配置頁面,就可以直接訪問zabbix的登錄頁了。但事實上,我並沒有成功。我發現WEB頁面會提示MySQL失去連接。

        現在談到一個問題,當我在LAMP中進行zabbix的WEB頁面配置時發現,如果配置MySQL的地址爲localhost,則不能成功進入下一步設置,頁面會提示MySQL連接失敗,但是我改爲127.0.0.1就可以成功連接並完成zabbix的所有setup頁面配置。由此我在這點聯想到:在LNMP環境中手動修改配置文件不成功的原因是否也是如此。By the way,肯定有人疑問:服務器中一文件 /etc/hosts 會解釋 localhost 到 127.0.0.1 中,爲毛使用 locahost 不行呢?並且,我在 zabbix_server.conf 配置DB MySQL 的地址是localhost,而在 WEB setup 頁面中配置的DB MySQL 的地址在 localhost 和 127.0.0.1 中只有 127.0.0.1 正常連接,並且WEB頁面中配置的和配置文件中添加的DB 地址不一樣。這個問題嘛,我也的確沒有去研究,希望能有人給我解答,畢竟我也是個小白。然而,我在此和大家說明一點,在 MySQL 中,貌似由版本5.0開始,(有些版本) '%' 不包括localhost,要單獨對 @'localhost' 進行賦值。對用了 % 則代表了所有的 host 都能遠程訪問該 MySQL 。

        其中 MySQL 官方文檔有說明:% 並不包括 localhost ,此處配置 % 遠程其他 host 有權限訪問,那麼在 MySQL 的配置文件中 my.cnf,也需要做一些配置,將 bind_address=0.0.0.0 或者直接屏蔽掉此項。

        當主機填寫爲 localhost 時 MySQL 會採用 unix domain socket連接

        當主機填寫爲 127.0.0.1 時 MySQL 會採用tcp方式連接

        經搜查表明 MySQL 設計到的很多應用,比如wordpress這些默認訪問localhost的應用,都會不可用,需要更改 host 爲 127.0.0.1 才行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章