zabbix 源码安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix 源码安装相关的知识,希望对你有一定的参考价值。

  • 下载地址
    https://www.zabbix.com/download?zabbix=4.4&os_distribution=centos&os_version=7&db=mysql&ws=nginx
  • 2.无法安装的yum
    安装的时候带上-y 不然我去喝杯水回来,服务器都断开了

    yum install zabbix-server-mysql zabbix-agent -y
    zabbix-server-mysql-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.
    zabbix-agent-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.
    好好的官方软件步骤,安装出个这个问题,又是我们神奇的网络,无法连接。

    第一步就走不走了,发现安装不下去。报错

    试图修改,步骤 更换官方的源, 无效

    cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core)
    ?
    ?
    cd /etc/yum.repos.d
    ?
    wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
    ?
    yum clean all
    ?
    yum makecache
    无效

    网上有说更换DNS能解决的,DNS换成4.4.4.4 因为我的服务器是阿里云的看了半天不敢乱动,怕重启动网络,连不上就麻烦了。

    1. 源码安装
      以我之前对其他软件的理解,linux其实都有源码安装的办法,只要能yum

    3.1 选择zabbix Sources 2020年3月7日版本为4.4.6

    https://www.zabbix.com/documentation/3.4/zh/manual/installation/install

    转存失败
    重新上传
    取消
    tar -zxvf zabbix-4.4.6.tar.gz
    3.2 创建用户和组zabbix
    提示:使用root,bin或其他特殊权限的账户运行Zabbix是一个安全风险,这句话来自官方文档

    groupadd zabbix
    useradd -g zabbix zabbix
    3.3 创建Zabbix数据库

    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to zabbix@localhost identified by ‘Zabbi111!‘;
    如果mysql出现
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    说明密码强度不够,包含大写字母,数字,特殊字符就好了

    3.4. 编译
    官方文档有点啰嗦,直接这句话就好了

    ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    踩坑1:mysql库的问题

    configure: error: MySQL library not found
    这里的关键不是去找Mysql的事儿,是要看mysql_config

    我找了mysql的事儿

    which mysql
    ?
    mysqladmin -u root -p variables
    找到类似日志的地方,就能判断mysql到底安装在哪里了。

    | slow_query_log_file | /var/lib/mysql/rh64-slow.log |
    | socket | /var/lib/mysql/mysql.sock |
    ?
    mysql
    结果

    yum install mysql-devel
    whereis mysql_config
    就好了

    踩坑2.libxml2

    ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    报错

    configure: error: Not found libxml2 library
    这个页面下载
    http://www.xmlsoft.org/downloads.html

    wget ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz
    ?
    /configure
    make
    make install
    踩坑3.Curl (注意不是curl)

    ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    configure: error: Curl library not found

    yum install curl
    yum install curl-devel
    踩坑4. libxml无法执行
    ./configure 成功运行,到了make的时候

    make && make install

    ?
    expression.c:31:28: fatal error: libxml/parser.h: No such file or directory
    ?
    ?

    find / -name parser.h

    ?
    /usr/local/include/libxml2/libxml/parser.h
    发现安装到了/usr/local/include/下了

    一般情况下都是查找 /usr/lib在这个下面的库

    所以在/usr/include下建一个软连接libxml

    ln -s /usr/local/include/libxml2/libxml /usr/include/libxml

    make && make install

    服务器成功安装

    3.5 启动服务端和客户端
    在 Zabbix server 端运行 zabbix_server:

    zabbix_server

    在此编辑 Zabbix server 的配置文件 /usr/local/etc/zabbix_server.conf

    zabbix_agentd

    在此编辑 Zabbix agent 的配置文件 /usr/local/etc/zabbix_agentd.conf

    如果您安装了 Zabbix proxy,请运行 zabbix_proxy:(月小升手工编译的文件,并没有这个玩意)

    zabbix_proxy

    3.6 配置php

    前端文件路径

    cd /backup/soft/zabbix-4.4.6/frontends/php
    ?
    cp -a . /var/www/zabbix
    配置自己的nginx 这里不多说 路径/var/www/zabbix即可。

    在您的浏览器打开 Zabbix 链接:http:///zabbix

    https://java-er.com/zabbix/setup.php
    踩坑1.修改php.ini半天无效,最终修改了php-fpm的www.conf

    转存失败
    重新上传
    取消
    安装的时候出错,php的选项都在php.ini里改一遍然后重启php-fpm

    whereis php.ini
    ?
    whereis php-fpm.conf
    部分属性在php-fpm配置里,这个文件比php.ini优先级别高。

    php -i | grep php.ini
    ?
    php-fpm -i | grep php.ini
    反复修改/etc/php.ini 重启php-fpm 无效

    修改
    /etc/php-fpm.d/www.conf 立即生效了

    php_value[post_max_size] = 16M
    ?
    php_value[max_execution_time] = 300
    ?
    php_value[date.timezone] = Asia/Shanghai
    ?
    php_value[always_populate_raw_post_data] = -1
    php_value[always_populate_raw_post_data] = -1 #提示里把off 改成on,我写了on没用,查了下,写-1 有效

    bcmath 我开始以为是个变量,查了一下才知道是个插件

    安装bcmath

    yum install php-bcmath
    ?
    yum provides php-bcmath
    php56w-bcmath-5.6.40-1.w7.x86_64 找到我的版本

    yum install php56w-bcmath-5.6.40-1.w7.x86_64
    重启php-fpm 就都显示OK了

    踩坑2.说前端数据库不匹配
    下一步出来(月小升有时候觉得能遇到的问题都被我撞上了)
    The frontend does not match Zabbix database

    我最终去下载的源代码的包里,找到了mysql文件

    ls /backup/soft/zabbix-4.4.6/database/mysql
    ?
    data.sql images.sql Makefile Makefile.am Makefile.in schema.sql
    一共三个

    1. /backup/soft/zabbix-4.4.6/database/mysql/schema.sql

    2. /backup/soft/zabbix-4.4.6/database/mysql/data.sql

    3. /backup/soft/zabbix-4.4.6/database/mysql/images.sql

    最原始的办法导入数据库

    mysql -u zabbix -p
    source /backup/soft/zabbix-4.4.6/database/mysql/schema.sql
    相继倒入文件刷新直接过去了

    转存失败
    重新上传
    取消
    默认账号Admin

    默认密码为zabbix

    踩坑3.说时区设置不对

    DateTime::construct(): Invalid date.timezone value ‘Asia/Shaihang‘, we selected the timezone ‘UTC‘ for now.
    ?
    ?
    DateTime::
    construct(): Invalid date.timezone value ‘Asia/Shaihang‘, we selected the timezone ‘UTC‘ for now.
    vi /etc/php-fpm.d/www.conf
    修改为UTC

    php_value[date.timezone] = UTC

    转存失败
    重新上传
    取消

    结束

    https://java-er.com/blog/zabbix-source-install/

    以上是关于zabbix 源码安装的主要内容,如果未能解决你的问题,请参考以下文章

    源码安装zabbix

    Zabbix源码安装与yum安装

    Zabbix的安装(源码安装)

    源码安装zabbix(lnmp+zabbix)

    源码编译安装zabbix安装

    zabbix4.4.4源码编译安装