宝塔7.1安装zabbix4.4.5 2020-03-07 网络 暂无评论 2981 次阅读 本文具体安装和使用的均为当前最新版,具体如下 宝塔7.1.0,配置LNMP,具体版本号后述 ``` yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ``` Zabbix4.4.5 ``` https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.5/zabbix-4.4.5.tar.gz ``` CentOS7.7.1908 ``` http://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Everything-1908.iso ``` 官方建议具体配置如下手册 https://www.zabbix.com/documentation/4.0/zh/manual/installation/requirements ![centos-baota-zabbix01.png](https://blog.moper.net/usr/uploads/2020/03/3023198590.png) 1、安装centos,安装时选择最小安装,无图形界面。 2、安装宝塔面板。如果不成功,可查看官方安装方式。 ``` yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ``` 安装完成后,注意记录提示的登陆网址、用户名和密码。 3、登录宝塔面板,按照所需环境进行选择,并一键安装。 默认的调整了php的版本为7.3,其他未改动。 安装完成后具体版本号为 nginx1.16.0 mysql5.6.44 php7.3.13 ![centos-baota-zabbix02.png](https://blog.moper.net/usr/uploads/2020/03/2444917395.png) 4、在宝塔上设置zabbix所需要的相关参数。 ①网站-添加站点。 ![centos-baota-zabbix03.png](https://blog.moper.net/usr/uploads/2020/03/3178801997.png) ![centos-baota-zabbix04.png](https://blog.moper.net/usr/uploads/2020/03/3654885212.png) 填入所需的域名,或者IP,创建数据库,注意保存Mysql数据库用户名和密码,PHP版本为7.3。 ②软件商店-PHP7.3-更新,进行PHP版本的更新,当前最新的会由7.3.13升级到7.3.14,大约需要10分钟,要耐心等待。 ![centos-baota-zabbix05.png](https://blog.moper.net/usr/uploads/2020/03/4059684489.png) ③根据zabbix要求,调整 max_input_time 由60改为300。 ![centos-baota-zabbix06.png](https://blog.moper.net/usr/uploads/2020/03/3095818445.png) ④根据zabbix要求,开放PHP运行putenv()函数的权限。 ![centos-baota-zabbix07.png](https://blog.moper.net/usr/uploads/2020/03/2310949352.png) ⑤安装PHP的snmp扩展,此项其实也不一定要安装。 ![centos-baota-zabbix08.png](https://blog.moper.net/usr/uploads/2020/03/3160559181.png) 5、由于宝塔没有默认安装ldap,需要重新编译ldap模块,安装PHP的ldap扩展 目前最新的版本为7.3.14,与宝塔升级的PHP版本一致。 如果是7.2版本及更新的版本,https://www.php.net/downloads.php 找到下载地址。 如果是7.2版本以前的老版本,https://www.php.net/releases/ 找到下载地址。 以7.3.14为例,依次执行下列命令。 ``` cd \ #转到root文件夹 wget https://www.php.net/distributions/php-7.3.14.tar.gz #进行PHP源码下载 tar -zxvf php-7.3.14.tar.gz #解压源码 cd ./php-7.3.14/ext/ldap/ #进入源码目录 cp -frp /usr/lib64/libldap* /usr/lib/ #需要先运行,否则会出现configure: error: Cannot find ldap libraries in /usr/lib /www/server/php/73/bin/phpize #准备扩展库的编译环境 ./configure --with-php-config=/www/server/php/73/bin/php-config #编译配置 make && make install #编译安装,完成后会提示相应的文件目录,注意记录目录时间,以免下一命令目录名错误 ls /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/ # 查看编译好的ldap.so文件 ``` 打开宝塔面板,软件商店-PHP7.3-设置-配置文件。搜索ldap,将`;extension=ldap`前面的分号删除并保存。 ![centos-baota-zabbix09.png](https://blog.moper.net/usr/uploads/2020/03/4154497736.png) 重启php-fpm。 ``` service php-fpm-73 restart ``` 6、转到系统命令行下,进行zabbix相关依赖软件安装。 ``` yum -y install libcurl-devel net-snmp-devel php-bcmath php-ldap php-mbstring php-gd php-xmlwriter libevent-devel libevent pcre* yum -y install libssh2-devel OpenIPMI-devel openldap openldap-devel yum -y install vim ``` 7、根据zabbix要求,添加zabbix用户 ``` groupadd zabbix useradd -g zabbix zabbix ``` 8、下载和编译zabbix。如果有更新版本,直接修改下列链接和版本号。 官方下载地址为https://www.zabbix.com/cn/download_sources ``` cd \ #转入root目录 wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.5/zabbix-4.4.5.tar.gz tar -zxvf zabbix-4.4.5.tar.gz cd zabbix-4.4.5 ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-openssl --with-libcurl --with-libxml2 --with-ldap --with-ssh2 make install ``` 如果需要特殊的模块,也可以查看编译帮助`./configure --help`,以上命令已经包含了绝大多数模块。 说明: ①、对于虚拟机监视--with-libcurl和--with-libxml2配置选项是必需的 ②、enable proxy,agent是启用代理 ③、with-net-snmp with-mysql是配置snmp和mysql支持 ④、在编译过程中,如果提示错误,则是某些扩展包没有安装,进行yum安装即可 可选功能: --enable-static #构建静态链接的二进制文件 --enable-server #打开Zabbix服务器的构建 --enable-proxy #打开Zabbix代理的构建 --enable-agent #打开Zabbix代理和客户端实用程序的构建 --enable-java #打开Zabbix支持监控java,zabbix 监控jmx 需要--enable-java --enable-ipv6 #打开zabbix对ipv6的支持 可选包: --with-mysql[=ARG] #使用MySQL客户端库[default = no],可选指定mysql_config的路径 --with-jabber[=DIR] #包括Jabber支持[default = no]。 DIR是iksemel库安装目录。如果要使用Jabber协议进行消息传递. --with-libxml2[=ARG] #使用libxml2客户端库[default = no],可选地指定xml2-config的路径.如果要使用XML库 --with-unixodbc[=ARG] #使用ODBC驱动程序对unixODBC包[default = no],可选地指定odbc_config二进制的完整路径。如果要使用unixODBC库 --with-net-snmp[=ARG] #使用Net-SNMP包[default = no],可选地指定net-snmp-config的路径.如果要使用Net-SNMP库 --with-ssh2[=DIR] #使用SSH2包[default = no],DIR是SSH2库的安装目录。如果要使用基于SSH2的检查 --with-openipmi[=DIR] #包括OPENIPMI支持[default = no]。 DIR是OPENIPMI基本安装目录,默认是通过OPENIPMI文件的一些常见位置进行搜索。如果要检查IPMI设备 --with-mbedtls[=DIR] #使用mbed TLS(PolarSSL)软件包[default = no],DIR是libpolarssl安装目录。如果要使用由mbed TLS(PolarSSL)库提供的加密 --with-gnutls[=DIR] #使用GnuTLS包[default = no],DIR是libgnutls的安装目录。如果要使用GnuTLS库提供的加密 --with-openssl[=DIR] #使用OpenSSL包[default = no],DIR是libssl和libcrypto的安装目录。如果要使用OpenSSL库提供的加密 --with-ldap[=DIR] #包括LDAP支持[default = no]。DIR是LDAP基本安装目录,默认是通过LDAP文件的多个常见位置进行搜索。如果要检查LDAP服务器. --with-libcurl[=DIR] #使用cURL包[default = no],可选地指定curl-config的路径.如果要使用cURL库 如果要指定iconv安装目录: --with-iconv=[DIR] #使用iconv从给定的基本安装目录(DIR),默认是通过一些常见的地方搜索iconv文件。 --with-iconv-include=[DIR] #使用iconv包含给定路径的头。 --with-iconv-lib=[DIR] #从给定的路径使用iconv库。 9、导入Mysql数据库。 ``` mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql ``` 注意替换参数中的zabbix为对应的-u数据库用户名,-p数据库密码,-h第二个参数,数据库名称。 导入速度比较慢,耐心等待。 10、进入zabbix安装目录/usr/local/zabbix配置zabbix.conf配置文件 ![centos-baota-zabbix10.png](https://blog.moper.net/usr/uploads/2020/03/4272412468.png) ``` vim /usr/local/zabbix/etc/zabbix_server.conf ``` 修改成对应的数据库用户名、数据库密码、数据库名称。 11、关闭centos上防火墙,selinux等 ``` systemctl stop firewalld systemctl disable firewalld ``` 12、Zabbix前端是用PHP编写的,因此要运行它需要PHP支持的Web服务器。只需将PHP文件从frontends / php复制到webserver HTML文档目录即可完成安装。在使用宝塔面板安装LNMP环境后,会自动配置nginx,同时会在跟目录下创建WWW目录,存放WEB服务器等信息。由于前面已经配置好相关信息,我们只需把对应的前台文件拷贝到发布的目录中即可。 ``` cd /root/zabbix-4.4.5 cp -r frontends/php/* /www/wwwroot/172.16.5.234/ #此文件就是之前创建的站点 ``` 13、解决mysql.sock路径问题 使用find / -name mysql.sock命令查找mysql.sock所在的路径是在/tmp/文件夹内,我们在zabbix看到的/var/lib/mysql/mysql.sock这个路径不符,为此我们对mysql.sock采用软链接的方式去处理。 ``` mkdir /var/lib/mysql #建立mysql文件夹 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #软连接 /etc/rc.d/init.d/mysqld restart #重启数据库 ``` 方法二,也可以尝试修改mysql和php中的相应地址。 ①修改mysql的my.cnf ``` [client] socket = /tmp/mysql.sock [mysqld] socket = /tmp/mysql.sock ``` ②修改php的php.ini ``` pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock ``` 重启mysql和php服务。 14、启动zabbix和zabbix-agent ``` /usr/local/zabbix/sbin/zabbix_server /usr/local/zabbix/sbin/zabbix_agentd ``` 15、在浏览器中输入172.16.5.234/setup.php(服务器IP地址),进行配置zabbix 默认账户名:Admin,密码:zabbix ![centos-baota-zabbix11.png](https://blog.moper.net/usr/uploads/2020/03/1306999926.png) 填入对应的mysql连接信息。 ![centos-baota-zabbix12.png](https://blog.moper.net/usr/uploads/2020/03/3461839199.png) 根据提示下载PHP文件,然后用宝塔里面的文件工具,上传到提示的目录中。 16、修改语言为中文,修改默认登陆密码。可以正常使用了。 如果无法正常启动服务,可以用如下命令查询错误信息。 ``` tail /tmp/zabbix_server.log ``` 17、此时系统已经可以正常使用,但因为没有加入自启动,重启后进程会关闭。如想开启,详见下一篇文章《zabbix_server 开机自启动》https://blog.moper.net/1552.html 参考了网友的文章,欢迎相互交流。 https://blog.51cto.com/11555417/2415805 https://blog.51cto.com/81703069/1859200 http://www.mamicode.com/info-detail-2593885.html 注意,有遇到如下问题,可参考。 ``` 18125:20200208:232916.786 [Z3001] connection to database 'zabbix' failed: [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 104 ``` 解决方式 1、先找到mysql数据库的my.cnf ``` whereis my.cnf ``` 2、找到my.cnf进行编辑 ``` vi my.cnf ``` 3、在mysqld配置项增加如下配置 ``` skip-name-resolve ``` 4、重启mysql服务 ``` service mysqld restart ``` mysql参数意义 skip-name-resolve 跳过DNS反向解析过程.(这样就不能使用主机名连接mysql了,只能使用ip连接) skip-grant-tables 跳过授权表(当mysql登陆密码忘记时的解决办法) skip-networking 跳过TCP/IP连接 skip-host-cache 禁用主机名缓存;要想清除主机名缓存,执行FLUSH HOSTS语句或执行mysqladmin flush-hosts命令 标签: centos, zabbix, 宝塔面板 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。