• CentOS7.2设置zabbix


    准备工作

    1、lnmp或lamp环境,本机环境:CentOS 7.2 64位,nginx1.10.2 php5.6.26 mysql5.7.15

    2、软件Zabbix

    wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.1/zabbix-3.2.1.tar.gz

    安装部署:

    一、创建、导入zabbix数据库

    cd /usr/loca/src #进入软件包下载目录

    wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.1/zabbix-3.2.1.tar.gz

    tar zxvf zabbix-3.2.1.tar.gz #解压

    cd zabbix-3.2.1/database/mysql/ #进入mysql数据库创建脚本目录

    ll  #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件

    mysql  -h localhost  -uroot -p #输入密码,进入MySQL控制台

    create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8

    create user zabbix identified by '123456'; #新建账户zabbix,密码123456

    grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456' with grant option; #新建账户zabbix,密码123456

    flush privileges; #刷新系统授权表

    use zabbix;  #进入数据库

    source /usr/local/src/zabbix-3.2.1/database/mysql/schema.sql #导入脚本文件到zabbix数据库                               

    source /usr/local/src/zabbix-3.2.1/database/mysql/images.sql #导入脚本文件到zabbix数据库                             

    source /usr/local/src/zabbix-3.2.1/database/mysql/data.sql #导入脚本文件到zabbix数据库

    注意:请按照以上顺序进行导入,否则会出错。

    exit;  #退出

    二、安装zabbix

    1、添加用户

    groupadd zabbix #创建用户组zabbix

    useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中

    2、安装依赖包

    #CentOS使用yum命令安装

    yum install net-snmp-devel curl curl-devel mysql-devel

    备注:以上软件包如果在安装Web环境LAMP或者LNMP时已经安装过,此步骤可忽略

    3、安装zabbix

    ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2  #添加软连接

    /sbin/ldconfig #使配置立即生效

    cd /usr/local/src/zabbix-3.2.1 #进入安装目录

    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql  #配置

    报错:configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

    解决:yum install net-snmp-devel

    说明:若使用--with-mysql=/usr/bin/mysql_config

    find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel

    make #编译

    make install #安装

    ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接

    ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接

    4、添加zabbix服务对应的端口

    vi /etc/services #编辑,在最后添加以下代码

    #zabbix

    zabbix-agent   10050/tcp  # Zabbix Agent

    zabbix-agent   10050/udp  # Zabbix Agent

    zabbix-trapper  10051/tcp  # Zabbix Trapper

    zabbix-trapper  10051/udp  # Zabbix Trapper

    :x #保存退出

    5、修改zabbix配置文件

    cd /usr/local/zabbix/etc

    vi /usr/local/zabbix/etc/zabbix_server.conf

    LogFile=/tmp/zabbix_server.log #日志保存位置

    PidFile=/tmp/zabbix_server.pid #进程PID

    DBName=zabbix #数据库名称

    DBUser=zabbix #数据库用户名

    DBPassword=123456 #数据库密码

    ListenIP=127.0.0.1 #数据库ip地址(写localhost登陆后会有错误信息)

    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录

    :x #保存退出

    vi /usr/local/zabbix/etc/zabbix_agentd.conf

    PidFile=/tmp/zabbix_agentd.pid

    LogFile=/tmp/zabbix_agentd.log

    EnableRemoteCommands=1 #允许执行远程命令

    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

    UnsafeUserParameters=1 #启用自定义key

    :x #保存退出

    6、添加开机启动脚本

    cp  /usr/local/src/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_server  /etc/rc.d/init.d/zabbix_server    #服务端

    cp  /usr/local/src/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_agentd  /etc/rc.d/init.d/zabbix_agentd  #客户端

    chmod +x /etc/rc.d/init.d/zabbix_server   #添加脚本执行权限

    chmod +x /etc/rc.d/init.d/zabbix_agentd  #添加脚本执行权限

    chkconfig zabbix_server on #添加开机启动

    chkconfig zabbix_agentd on #添加开机启动

    7、修改zabbix开机启动脚本中的zabbix安装目录

    vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件

    BASEDIR=/usr/local/zabbix/ #zabbix安装目录

    :x #保存退出

    vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件

    BASEDIR=/usr/local/zabbix/ #zabbix安装目录

    :x #保存退出

    三、配置web站点

    cd /usr/local/src/zabbix-3.2.1

    cp -r /usr/local/src/zabbix-3.2.1/frontends/php /usr/local/nginx/html/zabbix

    chown -R www:www  /usr/local/nginx/html/zabbix

    chmod -R 755 /usr/local/nginx/html/zabbix

    备注:/usr/local/nginx/htmlNginx默认站点目录 wwwNginx运行账户

    service zabbix_server start #启动zabbix服务端 (systemctl start zabbix_server.service)

    启动警告:

    Starting zabbix_server (via systemctl):  Warning: zabbix_server.service changed on disk. Run 'systemctl daemon-reload' to reload units.      [  确定  ]

    解决:systemctl daemon-reload

    service zabbix_agentd start #启动zabbix客户端 (systemctl start zabbix_agentd.service)

    四、修改php配置文件参数

    1、vi /etc/php.ini #编辑修改

    post_max_size =16M

    max_execution_time =300

    max_input_time =300

    :x #保存退出

    2、vi /usr/local/php/etc/php-fpm.conf #编辑修改

    request_terminate_timeout = 300

    :x #保存退出

    service php-fpm reload #重启php-fpm

    五、安装web

    在浏览器中打开:ip/zabbix

    错误1:

    页面报错403

    原因分析:查看nginx错误日志,是因为modsecurity阻拦next step了,详细查看modsecurity日志(/var/log/modsec_audit.log)确实是这样

    解决:修改站点的配置文件,暂停modsecurity,重启nginx

    错误2:

    PHP option "always_populate_raw_post_data" must be set to "-1"

    解决:vi /usr/local/nginx/html/zabbix/include/classes/setup/CFrontendSetup.php

    添加 : $current = -1;  

    结果如下:

    public function checkPhpAlwaysPopulateRawPostData() {                

        $current = ini_get('always_populate_raw_post_data');  

        $current = -1; 

                  

        return [

            'name' => _('PHP always_populate_raw_post_data'),

            'current' => ($current != -1) ? _('on') : _('off'),                        

            'required' => _('off'),                        

            'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,                        

            'error' => _('PHP always_populate_raw_post_data must be set to -1.')                

        ];        

    }

     检查系统环境设置,必须全部都为ok,才能继续

    数据库:

    mysql,localhost,3306,zabbix,zabbix,123456

    Zabbix server detail 页面保持默认

    finish后登陆

    账号:admin

    密码:zabbix

    有报错:

    zabbix监控报错zabbix server is not running: the information displayed may not be current

    解决方法:

    查看zabbix_server日志:/tmp/zabbix_server.log有这样一句话:

    listener failed: incorrect IPv4 address [localhost]

    修改配置文件:vi /usr/local/zabbix/etc/zabbix_server.conf

    ListenIP=127.0.0.1

    保存,重启即可

    修改web界面为中文

    vi /usr/local/nginx/html/zabbix/include/locales.inc.php #编辑修改

    'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false), 修改为

    'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

    :x #保存退出

     2、替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码

    在Windows系统中的C:WindowsFonts目录中复制出一个中文字体文件,例如msyh.ttf

    把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中

    例如:/usr/local/nginx/html/zabbix/fonts

    备份默认的字体文件:DejaVusSans.ttf-bak

    修改msyh.ttf名称为DejaVusSans.ttf

    页面右上角有个人头一样的图标,点击设置

    最后,修改配置信息,把默认语言修改为中文,update即可

    至此,Zabbix3.2.1安装图解教程完成。

    再切换中文时的页面下方报错:

    scandir() has been disabled for security reasons [profile.php:199 → CView->render() → include() → getSounds() → scandir() in include/sounds.inc.php:24]

    原因分析:php.ini中禁用scandir()这个函数了

    解决:修改/usr/local/php/etc/php.ini ,去掉scandir保存并重起php-fpm即可。

  • 相关阅读:
    剑指offer思路总结
    redis为什么设计成单线程
    vscode 常用工具
    redis 数据结构的实现
    记一次rm -rf 的悲伤故事
    netstate端口连接状态
    查询mysql最后更新时间
    boost库安装
    docker镜像不支持常用命令
    消息队列--线程安全
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/6138642.html
Copyright © 2020-2023  润新知