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 才行。


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