- 1系统环境(使用现有的LNMP环境)
- 1.1准备:
- 1.2所有wget下载的包默认都放在/tmp目录下
- 1.3一、修改计算机名称
- 1.4二、初始化数据库并创建数据库及授权数据库用户权限
- 1.5三、安装net-snmp-devel libevent-devel
- 1.6四、编译安装zabbix
- 1.7五、导入zabbix数据库结构
- 1.8六、导入zabbix的WEB页面并修改目录权限
- 1.9七、配置zabbix
- 1.10八、修改zabbix的WEB界面为中文,点击右上角的人物图像
- 1.11九、配置zabbix_server,zabbix_agentd
- 1.12十、添加zabbix用户、指定zabbix_server和zabbix_agentd的启动配置文件、将zabbix_server和zabbix_agentd添加到chkconfig管理,将设置为开机自启动、启动zabbix_server和zabbix_agentd
1.系统环境(使用现有的LNMP环境)
# cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) # uname -a Linux c72 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
1.1.准备:
1.2.所有wget下载的包默认都放在/tmp目录下
下载地址:https://www.zabbix.com/download_sources
包地址:https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.10/zabbix-3.4.10.tar.gz
1.3.一、修改计算机名称
# hostnamectl set-hostname zabbix
1.4.二、初始化数据库并创建数据库及授权数据库用户权限
# mysql_secure_installation # mysql -uroot -paA111111
mysql> create database zabbix character set utf8; mysql> grant all on zabbix.* to zabbix@localhost identified by 'aA111111'; mysql> flush privileges;
1.5.三、安装net-snmp-devel libevent-devel
# yum install -y net-snmp-devel libevent-devel openldap-devel
1.6.四、编译安装zabbix
# cd /tmp # tar -xzvf zabbix-3.4.10.tar.gz # cd zabbix-3.4.10 # ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl # make && make install
# ./configure --prefix=/usr/local/zabbix --enable-agent
agent端使用此编译
1.7.五、导入zabbix数据库结构
# cd database/mysql
# mysql -uzabbix -paA111111 zabbix < ./schema.sql # mysql -uzabbix -paA111111 zabbix < ./images.sql # mysql -uzabbix -paA111111 zabbix < ./data.sql
1.8.六、导入zabbix的WEB页面并修改目录权限
# cd ../../frontends/php/ # cp -R ./* /usr/local/nginx/html/ # cd /usr/local/nginx # chown -R www:www html/
1.9.七、配置zabbix
1.9.1.7.1访问WEB页面
可以使用http://172.20.10.146/zabbix.php来访问,然后点击“Next step”进入下一步
1.9.2.7.2、处理报错,错误信息如下图所示:
**************************************************************错误处理如下**************************************************
提示:如果修改了php.ini文件重启之后修改的值未改变可能是由于“Loaded Configuration File (none)”,可以参考《CentOS7.2环境源码编译安装Nginx-1.14.0》中的<8.3、测试是否成功>
复制php.ini文件到lib下
# cp /usr/local/php56/etc/php.ini /usr/local/php56/lib/
编辑配置文件:
# vim /usr/local/php56/lib/php.ini
错误一:
PHP option "post_max_size"
post_max_size = 8M修改为post_max_size = 16M
错误二:
PHP option "max_execution_time"
nmax_execution_time = 30修改为nmax_execution_time = 300
错误三:
max_input_time
max_input_time = 60修改为max_input_time = 300
错误四:
PHP option "date.timezone"
;date.timezone =修改为date.timezone = Asia/Shanghai
错误五:
PHP option "always_populate_raw_post_data"
;always_populate_raw_post_data = -1修改为always_populate_raw_post_data = -1
错误六:
PHP LDAP
# cd /tmp/php-5.6.36/ext/ldap # /usr/local/php56/bin/phpize Configuring for: PHP Api Version: 20131106 Zend Module Api No: 20131226 Zend Extension Api No: 220131226 # ./configure --with-php-config=/usr/local/php56/bin/php-config --with-ldap
报错如下:
configure: error: Cannot find ldap.h
处理方法如下:
# yum install -y openldap-devel
报错如下:
configure: error: Cannot find ldap libraries in /usr/lib.
处理方法如下:
# cp -frp /usr/lib64/libldap* /usr/lib/
完成之后显示如下:
然后输入以下命令:
# make && make install
完成之后显示如下:
然后编辑php.ini配置文件
# vim /usr/local/php56/lib/php.ini
添加如下:
extension=ldap.so
修改完成之后重启一下php-fpm然后强制刷新一下WEB页面即可
# service php-fpm restart
以下页面可以参考《CentOS7.2环境源码编译安装Nginx-1.14.0》中的<8.3、测试是否成功>,以上配置完成之后php.php文件中就应该显示如下图:
提示:如果重启出现"/usr/local/nginx/logs/nginx.pid",可以使用如下方法解决
*****************************************************************处理完成**************************************************
正常显示页面如下:
1.9.3.7.3、配置完成以上,然后点击“Next step”进入下一步,配置成如下图(上面的默认即可,只需要填写一下zabbix用户的密码):
1.9.4.7.4、点击“Download the configuration file”下载“zabbix.conf.php”文件,然后将此文件上传到“/usr/local/nginx/html/conf/”目录下,强制刷新一下WEB页面即可(或修改目录权限)。
1.9.5.![CentOS7.2现有LNMP环境源码编译安装zabbix3.4.10 CentOS7.2现有LNMP环境源码编译安装zabbix3.4.10]()
1.10.八、修改zabbix的WEB界面为中文,点击右上角的人物图像
到此zabbix的WEB前端已经配置完成。
1.11.九、配置zabbix_server,zabbix_agentd
# cd /usr/local/zabbix/etc/ # vim zabbix_server.conf
********************************************zabbix_server修改如下配置文件**********************************
# DBHost=localhost
//取消前面的注释和空格
DBName=zabbix
//填写数据库名称(默认就是zabbix)
DBUser=zabbix
//填写数据库访问的帐号(默认就是zabbix用户)
# DBPassword=
//填写数据库zabbix所对应的密码(DBPassword=aA111111)
;DBSocket=/tmp/mysql.sock
//去掉前面的注释;
***************************************************完成********************************************************
# vim zabbix_agentd.conf
********************************************zabbix_agentd修改如下配置文件**********************************
Server=127.0.0.1(此为默认配置)
ServerActive=127.0.0.1(此为默认配置)
Hostname=Zabbix server(此为默认配置)
注意:监控zabbix server自己不需要修改以上配置项
***************************************************完成********************************************************
1.12.十、添加zabbix用户、指定zabbix_server和zabbix_agentd的启动配置文件、将zabbix_server和zabbix_agentd添加到chkconfig管理,将设置为开机自启动、启动zabbix_server和zabbix_agentd
1.12.1.10.1、添加zabbix用户
# useradd -u 8005 -M -s /sbin/nologin zabbix
1.12.2.10.2、将zabbix_server和zabbix_agentd添加到chkconfig管理,将设置为开机自启动
# cd /tmp/zabbix-3.4.10/misc/init.d/fedora/core # cp zabbix_server /etc/init.d/ # cp zabbix_agentd /etc/init.d/ # vim /etc/init.d/zabbix_server
BASEDIR=/usr/local修改为BASEDIR=/usr/local/zabbix
# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local修改为BASEDIR=/usr/local/zabbix
# chkconfig --add zabbix_server # chkconfig --add zabbix_agentd # chkconfig zabbix_server on # chkconfig zabbix_agentd on
配置完成检查一下,结果显示如下:
# chkconfig 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 nginx 0:关 1:关 2:开 3:开 4:开 5:开 6:关 php-fpm 0:关 1:关 2:开 3:开 4:开 5:开 6:关 zabbix_agentd 0:关 1:关 2:开 3:开 4:开 5:开 6:关 zabbix_server 0:关 1:关 2:开 3:开 4:开 5:开 6:关
1.12.3.10.3、指定zabbix_server和zabbix_agentd的启动配置文件
# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf # /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
检查一下10051和10050端口是否启动
# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2392/php-fpm: maste tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7365/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 823/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1920/master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9180/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 8884/zabbix_server tcp6 0 0 :::3306 :::* LISTEN 1296/mysqld tcp6 0 0 :::22 :::* LISTEN 823/sshd tcp6 0 0 ::1:25 :::* LISTEN 1920/master
提示:如果发现没有10051端口,可以使用如下方法处理:
# tail -F /tmp/zabbix_server.log
查看此log文件是不是报"connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)",如果报此错误,去修改一下
# vim /usr/local/zabbix/etc/zabbix_server.conf ### Option: DBSocket # Path to MySQL socket. # # Mandatory: no # Default: # DBSocket=/tmp/mysql.sock
将配置文件中的# DBSocket=/tmp/mysql.sock修改为DBSocket=/tmp/mysql.sock
然后重新启动一下zabbix_server即可
# service zabbix_server restart
在看端口就起来了,zabbix_server.log也没有这个报错了。
到此zabbix的安装已全部结束,最终WEB页面如下图。