1、LNMP环境准备与配置
安装好lnmp后,编辑PHP相关的 /etc/php.ini 文件。(这里必须做响应的修改,否则在之后的web初始化过程中会报错。)
vim /usr/local/php/etc/php.ini
修改如下条目或者通过 sed 命令进行内容替换
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 16M ###有时候这里会被设置成32M,但是这里根据后面初始化提示中的信息,被要求设置成16M max_input_time=300memory_limit = 128M
mbstring.func_overload = 2
或通过 sed 方式进行内容替换:
#sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /usr/local/php/etc/php.ini
#sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /usr/local/php/etc/php.ini
#sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /usr/local/php/etc/php.ini
#sed -i "s#max_input_time = 60#max_input_time = 300#g" /usr/local/php/etc/php.ini
#sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /usr/local/php/etc/php.ini
#sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2\n" /usr/local/php/etc/php.ini
2、为centos系统创建zabbix用户
#groupadd zabbix -g 501
#useradd -g zabbix -u 501 -m zabbix
PS:这里将zabbix用户的UID与GID均设置为501。
三、Zabbix Server的安装
1、zabbix源文件的下载 https://fossies.org/linux/misc/zabbix-3.2.1.tar.gz/
关于zabbix的最新版本源文件可以访问其官方网站并下载,地址为:http://www.zabbix.com/download.php
2、zabbix的解压缩与编译安装
#yum install net-snmp-devel
#tar -zxvf zabbix-3.2.7.tar.gz
#./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/localmysql/bin/mysql_config --with-net-snmp --with-libcurl
#make
#make install
PS:第一行shell语句的“3.2.7”代表所下载的zabbix源文件的版本号。
3、检查zabbix是否被添加进入系统服务文件中
tail -n4 /etc/services
如果看到如下信息则代表已经添加成功,或者可以自行手动查询一下/etc/services 文件,真没有手动添加到 /etc/services 文件中:
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trappe
4、建立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/images.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/zabbix_server.conf
#sed -i "/# DBPassword=/aDBPassword=zabbix\n" /etc/zabbix/zabbix_server.conf
#sed-i "s#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g" /etc/zabbix/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/zabbix_agent.conf
#sed -i "s/ServerActive\=127.0.0.1/ServerActive\=192.168.1.89:10051/g" /etc/zabbix/zabbix_agent.conf
#sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" /etc/zabbix/zabbix_agentd.conf
#sed -i "#UnsafeUserParameters=0#aUnsafeUserParameters=1\n" /etc/zabbix/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目录下。
2、zabbix使用普通用户+密码登陆MYSQL失败
[root@localhost mysql]# mysql -uzabbix -p
Enter password:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
解决方案:
增加普通用户后,执行:
mysql> use mysql
mysql> delete from user where user='';
mysql> flush privileges;
意思是删除匿名用户。
3、zabbix界面安装时无法连接到MYSQL
解决方案:
查看本机的hostname是否为localhost,或者修改/etc/zabbix/zabbix_servser.conf的DBhostname =
查看本机hostname为localhost.localdomain
将Database host修改为localhost.localdomain,可正常连接数据库。
本文转自 IT_外卖小哥 51CTO博客,原文链接:http://blog.51cto.com/jinlong/1952249