zabbix_server启动报错---解决方法

转载2015-07-21 17:24:15

[root@zabbix_server sbin]# /etc/init.d/zabbix_server start

Starting Zabbix Server: /opt/app/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

                                                           [FAILED]

解决方法:

[root@zabbix_server sbin]# cp /opt/app/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16

或者ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/


安装zabbix过程中

configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

通过

yum install net-snmp-devel

解决


配置nginx

修改nginx配置文件/usr/local/nginx/conf/nginx.conf:

server {

         listen 80;

          server_name  ys.zabbix.com;

         access_log /usr/local/nginx/logs/zabbix.access.log;                                                                                                                                                                      

          

         index index.php index.html index.html;

         root /usr/local/nginx/html/zabbix;

          

         location /

         {

                   try_files $uri $uri/ /index.php?$args;

         }

          

         location ~ .*\.(php)?$

         {

                   expires -1s;

                   try_files $uri =404;

                   fastcgi_split_path_info ^(.+\.php)(/.+)$;

                   include fastcgi_params;

                   fastcgi_param PATH_INFO $fastcgi_path_info;

                   fastcgi_index index.php;

                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                   fastcgi_pass unix:/tmp/php-fpm.sock;

          

         }

}


安装好lnmp后,编辑PHP相关的 /etc/php.ini 文件。


#sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
#sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
#sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
#sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
#sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
#sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2\n" /etc/php.ini

数据库:


建立zabbix所需的数据库

root身份等人到mysql数据库中,并执行以下命令建立zabbix数据库:

mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql>flush privileges;

而后在下载的源文件中存在一个database/mysql 子目录,中间存放在建立zabbix数据库结构的SQL脚本文件。先进入到zabbix源文件所在的目录,并执行以下语句:

要按照下面顺序导入:

#mysql -u zabbix -p zabbix < ./database/mysql/schema.sql
#mysql -u zabbix -p zabbix < ./database/mysql/p_w_picpaths.sql
#mysql -u zabbix -p zabbix < ./database/mysql/data.sql

PS:以上三条指令将目的执行sql脚本,构建zabbix数据库的结构,每次都要输入mysql中zabbix账户的密码

5、创建zabbix的的日志文件和连接

#mkdir /var/log/zabbix
#chown zabbix.zabbix /var/log/zabbix
#ln -s /usr/local/zabbix/etc /etc/zabbix
#ln -s /usr/local/zabbix/bin/* /usr/bin/
#ln -s /usr/local/zabbix/sbin/* /usr/sbin/

6、拷贝与配置zabbix启动文件

#cp misc/init.d/fedora/core/zabbix_* /etc/init.d/#chmod 755 /etc/init.d/zabbix_*#sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_server
#sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd

7、配置zabbix_server.conf服务端文件

编辑并修改 /etc/zabbix/etc/zabbix_server.conf 文件,并修改如下条目:

DBName=zabbix 数据库名称
DBUser=zabbix 数据库用户
DBPassword=zabbix 数据库密码(这里为了演示,先前设置了zabbix数据库密码为zabbix)

tmp/zabbix_server.log  改 var/log/zabbix/zabbix_server.log #更改日志路径

或者用 sed 方式替换文件内容:

#sed -i "s/DBUser\=root/DBUser\=zabbix/g" /etc/zabbix/etc/zabbix_server.conf 
#sed -i "/# DBPassword=/aDBPassword=zabbix\n" /etc/zabbix/etc/zabbix_server.conf 
#sed-i "s#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g" /etc/zabbix/etc/zabbix_server.conf

8、配置 zabbix_agentd.conf 文件 (这里是为了监控 server 本身, 如对其他服务器进行监控,配置文件相类似)

PS:这里要住的的是zabbix_agentd.conf是客户端配置文件,这里是为了演示,因此这里配置这个文件的目的就是为了能够实现对本地服务器的监控。该文件需要修改如下四个条目:

Server=127.0.0.1 此处添加服务端的 ip,如服务器不为本机,则需要填写远端 zabbix_server 的 ip 地址
ServerActive=127.0.0.1 此处修改为服务端的 ip,这里应该修改为该服务器对外的ip地址
/tmp/zabbix_agentd.log 修改日志路径
UnsafeUserParameters=0 默认是不启用自定义脚本功能的,要自定义 key ,需开启,设置为1
Include=/etc/zabbix/zabbix_agentd.conf.d/ 自定义的 agent d 配置文件可以写在这个目录下面

利用sed 方式内容替换的执行命令如下:

#sed -i "s/Server\=127.0.0.1/Server\=127.0.0.1,192.168.1.89/g" /etc/zabbix/etc/zabbix_agent.conf 
#sed -i "s/ServerActive\=127.0.0.1/ServerActive\=192.168.1.89:10051/g" /etc/zabbix/etc/zabbix_agent.conf 
#sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" /etc/zabbix/etc/zabbix_agentd.conf
#sed -i "#UnsafeUserParameters=0#aUnsafeUserParameters=1\n" /etc/zabbix//etc/zabbix_agentd.conf

9、拷贝php网页文件到nginx中

#cp -r ./frontends/php/ /usr/local/nginx/html/zabbix

10、修改nginx.conf配置文件

server{

  service_name xxx.xxx.xxx

  index index.html index.htm index.php

  root  /usr/local/nginx/html/zabbix;

 

  fastcgi_param SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

改为:fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;

要是搭建的不是nginx,是 Apache如下:

#cp -r ./frontends/php/ /var/www/html/zabbix

#chown -R apache.apache /var/www/html/zabbix

11、开启zabbix

#/etc/init.d/zabbix_server start
#/etc/init.d/zabbix_agent start

至此,zabbix的安装完成。

四、通过Web设置zabbix

浏览器中输入地址:http://ip/zabbix,则可看到如下初始化欢迎界面。

PS:其中ip代表本地服务器对外开放的ip地址

1、出现如下错误是说缺少.php文件

点击下载, Download the configuration file

下载到本地后上传到/usr/local/nginx/html/zabbix/conf目录下。