或参考:
https://www.lagou.com/lgeduarticle/74352.html
http://www.yishimei.cn/network/1012.html?tdsourcetag=s_pctim_aiomsg
https://www.cnblogs.com/flytor/p/11437989.html
一、安装环境:以LNMP环境为基础(Linux Cenots7.5.1804、mariadb-10.1.19.tar、nginx-1.9.9.tar.gz、php-7.2.4.tar.bz2
https://www.topunix.com/post-42.html
https://www.topunix.com/post-158.html
https://www.topunix.com/post-151.html
二、安装版本:Zabbix 3.4.8
三、安装zabbix
1、解压安装包
[root@zabbix data]# tar xf zabbix-3.4.8.tar.gz //解压zabbix
2、创建用户和组
对于所有Zabbix的守护进程,需要一个无特权的用户。
如果Zabbix守护进程以一个无特权的用户账户启动,那么它会使用该用户运行。
然而,如果一个守护进程以‘root’用户启动,它会切换为‘zabbix’用户账户,且这个用户必须存在。
在Linux系统中,可以使用下面命令建立一个用户(该用户属于自己的用户组,“zabbix”):
[root@localhost ~]# groupadd zabbix [root@localhost ~]# useradd -g zabbix zabbix
3、创建数据库用户并导入数据库
对于Zabbix server 和 proxy 守护进程以及Zabbix前端,都需要连接到一个数据库。Zabbix agent不需要数据库的支持。
SQL 脚本 用于创建数据库架构(schema)并插入数据集(dataset)。
Zabbix proxy数据库只需要数据库架构(schema),而Zabbix server数据库在建立数据库架构(schema)后,还需要数据集(dataset)。
建立Zabbix数据库后,可以开始对Zabbix进行编译。
a.进入数据库
[root@zabbix data]# mysql -u root -p //输入密码
b.创建数据库,库名:zabbix
MariaDB [(none)]> create database zabbix character set utf8; Query OK, 1 row affected (0.00 sec) c.对mysql的用户zabbix(非系统用户,数据库用),授权所有数据库zabbix下的表操作,mysql用户zabbix密码为"zabbix"
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option; Query OK, 0 rows affected (0.02 sec)
d.导入zabbix结构表(如果只为proxy代理创建数据库,则只需要schema.sql即可
shell> cd database / mysql shell> mysql -uzabbix -pzabbix zabbix <schema.sql #如果要为Zabbix代理创建数据库,请在此处停止 shell> mysql -uzabbix -pzabbix zabbix <images.sql shell> mysql -uzabbix -pzabbix zabbix <data.sql
4、安装依赖包
[root@localhost mysql]# yum install net-snmp-devel curl curl-devel mysql-devel libevent-devel -y
5、预编译包
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config
显示如下代表成功:
6、编译与安装
[root@zabbix zabbix-3.4.8]# make && make install
显示如下代表成功:
7、添加启动程序软连接
[root@zabbix zabbix-3.4.8]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ [root@zabbix zabbix-3.4.8]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
8、配置文件修改(增加数据库,用户,密码)
[root@zabbix zabbix-3.4.8]# vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix #数据库名称 DBUser=zabbix #数据库用户名 DBPassword=123456 #数据库密码 ListenIP=127.0.0.1 #数据库ip地址 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录
9、添加开机启动脚本
[root@localhost ~]# cp zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server [root@localhost ~]# cp zabbix-3.4.8/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd [root@localhost ~]# chmod +x /etc/rc.d/init.d/zabbix_server [root@localhost ~]# chmod +x /etc/rc.d/init.d/zabbix_agentd [root@localhost ~]# chkconfig zabbix_server on [root@localhost ~]# chkconfig zabbix_agentd on
10、修改开机脚本文件
[root@zabbix zabbix-3.4.8]# vim /etc/rc.d/init.d/zabbix_server
[root@zabbix zabbix-3.4.8]# vim /etc/rc.d/init.d/zabbix_agentd
11、配置WEB站点
[root@localhost ~]# cd zabbix-3.4.8 [root@localhost zabbix-3.4.8]# cp -r frontends/php/ /usr/local/nginx/html/zabbix [root@localhost zabbix-3.4.8]# chown -R web:web /usr/local/nginx/html/zabbix/
12、启动服务
[root@zabbix zabbix-3.4.8]# /etc/init.d/zabbix_agentd start [root@zabbix zabbix-3.4.8]# /etc/init.d/zabbix_server start
13、查看服务端口,排查问题
a.只有agent端口,
b.查看zabbix_server 日志
[root@localhost init.d]# cat /tmp/zabbix_server.log
12557:20190604:225949.670 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
根据上述问题,copy文件到/var/lib/mysql/mysql.sock
解决办法: [root@localhost lib]# mkdir /var/lib/mysql [root@localhost lib]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock [root@localhost lib]# /etc/rc.d/init.d/mysqld restart Restarting mysqld (via systemctl): [ OK ]
c.重启zabbix server,服务启动成功
四、Web段配置zabbix
1、输入地址:http://172.18.1.53/zabbix/setup.php
2、修改配置文件:php.ini默认加载位置是/usr/local/php-pfm/lib,并对相关参数做修改,重启PHP服务
[root@test ~]# cp php-7.2.4/php.ini-development /usr/local/php-fpm/lib/php.ini [root@zabbix lib]# vim php.ini post_max_size = 16M max_execution_time = 300 date.timezone = Asia/Shanghai
3、完成上述,还有几个问题:bcmatch,sockets,gettext(翻译)模块需要安装
4、模块安装
a.bcmatch模块安装,使用/usr/local/php-fpm/bin/phpsize生成configure文件,进行下一步预编译
[root@test ~]# cd php-7.2.4/ext/bcmath/ [root@test bcmath]# /usr/local/php-fpm/bin/phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 [root@test bcmath]# ./configure --with-php-config=/usr/local/php-fpm/bin/php-config [root@test bcmath]# make && make install [root@test bcmath]# echo "extension=bcmath.so" >>/usr/local/php-fpm/lib/php.ini
b.安装sockets模块,
[root@test ~]# cd php-7.2.4/ext/sockets/ [root@test sockets]# /usr/local/php-fpm/bin/phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 [root@test sockets]# ./configure --enable-sockets --with-php-config=/usr/local/php-fpm/bin/php-config [root@test sockets]# make && make install [root@test sockets]# echo "extension=sockets.so" >>/usr/local/php-fpm/lib/php.ini
c.安装gettext模块,
[root@test gettext]# /usr/local/php-fpm/bin/phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 [root@test sockets]# ./configure --enable- --with-php-config=/usr/local/php-fpm/bin/php-config [root@test sockets]# make && make install [root@test sockets]# echo "extension=gettext.so" >>/usr/local/php-fpm/lib/php.ini
c.安装ldap模块,预编译时出现报错(configure: error: Cannot find ldap.h,转到此处解决:https://www.topunix.com/post-227.html)
[root@test ldap]# /usr/local/php-fpm/bin/phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 [root@test ldap]# ./configure --with-php-config=/usr/local/php-fpm/bin/php-config [root@test ldap]# make && make install [root@test ldap]# echo "extension=ldap.so" >>/usr/local/php-fpm/lib/php.ini
5、重启PHP,所有都通过
d.
文章评论