zoukankan      html  css  js  c++  java
  • Centos7.5 ZABBIX4.0.3版本的编译安装

    Zabbix监控的搭建理论

    1.      Zabbix Server会去采集监控数据,采集的监控数据会写入到SQL数据库

    2.      Zabbix的WEB后端采用php语言开发,所有配置信息、用户认证信息等会写入SQL数据库

    3.      企业级Zabbix的搭建依赖的环境:主流采用LNMP环境(Centos7+Nginx+Mysql+Php) 

    LNMP web环境下用户的请求流程

    用户 -> Nginx -> php-fpm -> 运行php程序 -> 操作mysql 

    部署顺序说明

    1.      Nginx+php-fpm的环境搭建

    2.      Mysql服务器搭建

    3.      Zabbix Server搭建

    4.      Zabbix网页展示

     其中nginx和php-fpm以及mysql安装可以看我其它博文,里面都有说怎么源码安装

    1.zabbix的部署原理

    • 1.      zabbix server需要把监控数据入sql数据库,所以得Mysql环境
    • 2.      zabbix的web是基于php开发的,所以得LNMP环境
    • 3.      部署zabbix server和zabbix web
    zabbix的官网
    https://www.zabbix.com/
    2.Zabbix Server编译安装
    安装依赖
    yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
    创建zabbix用户
     useradd -s /sbin/nologin zabbix
    下载zabbix源码包
    cd /usr/local/src/
    解压编译
    tar -zxvf zabbix-4.0.3.tar.gz
    cd zabbix-4.0.3
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
    make  && make install
     
    选项说明
    1)     --prefix指定安装目录
    2)     --enable-server安装zabbix server
    3)     --enable-agent安装zabbix agent
    4)     --with-mysql用mysql来存储
     
    4.环境变量设置:
    vim /etc/profile
    export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
    source /etc/profile ###立即生效
    echo $PATH
    查看版本:zabbix_server --version
    启动:zabbix_server
    ==============================================
    启动时可能会出现如下问题报错
    解决tpcc_load 报错 error while loading shared libraries: libmysqlclient.so.20
    在刚开始导入tpcc数据仓库时,可能会遇到 error while loading shared libraries: libmysqlclient.so.20这个错误,找不到库文件。
    但是,通过find 能查找到这个文件
    [root@mysqlserver src]# find / -name libmysqlclient.so.20
    /usr/local/mysql/lib/libmysqlclient.so.20
    /usr/local/src/mysql-5.7.16/libmysql/libmysqlclient.so.20
    所以,这个文件时存在的,只是查找这个库文件的时候没有找到这个路径。
    如何解决:建一个软连接到一个常用的 lib目录
    ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20
    这个在试试还报错吗?
    如果还报这个错的话,可能还不认这个目录,那就在  /etc/ld.so.conf下添加一行  /usr/local/lib ,如下
    [root@mysqlserver src]# cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    /usr/local/lib
    然后,再使用命令重新加载一下 ldconfig -v
    这时,应该这个报错不会再出现了
    =============================================
    5.登录数据库创建zabbix用户和导入zabbix库
    Mysql数据库初始化mysql -h 127.0.0.1 -uroot -pzabbixpwd -A
    create database zabbix character set utf8 collate utf8_bin;    ##创建zabbix库和设置格式
    grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
    flush privileges;       ##刷新权限
    set names utf8;       ##设置字符集
    use zabbix;       ##切换到zabbix库中
    把源码/data/tools/zabbix-4.0.3/database/mysql安装路径下三个sql文件导入数据库中
    source /data/tools/zabbix-4.0.3/database/mysql/schema.sql;
    source /data/tools/zabbix-4.0.3/database/mysql/data.sql;
    source /data/tools/zabbix-4.0.3/database/mysql/images.sql;
     
    编辑zabbix server的配置
    vim /usr/local/zabbix/etc/zabbix_server.conf
    LogFile=/usr/local/zabbix/zabbix_server.log
    DBSocket=/data/mysql/mysql.sock ### 此处是我数据库sock的地址,如果大家不是此处,你们可以通过find / -name mysql.sock搜索把地址写到此处
    DBHost=127.0.0.1 ###此处注意了,建议大家部署同一台设备上面时,此处写环回地址,别写localhost
    DBName=zabbix ###数据库库名
    DBUser=zabbix ###数据刚创建的管理用户
    DBPassword=zabbix ###数据库管理用户密码
    DBPort=3306
    Timeout=30
    AlertScriptsPath=/usr/local/zabbix/alertscripts
    ExternalScripts=/usr/local/zabbix/externalscripts
    LogSlowQueries=3000
     
    chown zabbix:zabbix -R /usr/local/zabbix/   ###修改zabbix目录的权限
    zabbix_server   ###启动zabbix
     
    ps -ef | grep zabbix    ###查看zabbix服务是否启动
     
    6.Zabbix Web的安装
    mkdir /usr/local/nginx/html/zabbix   ##创建zabbix web 的文件目录
    cp -a /data/tools/zabbix-4.0.3/frontends/php/* /usr/local/nginx/html/zabbix/
    ###把源码安装包路径下的文件cp到zabbix web文件目录当中
    重新加载nginx服务
    systemctl reload nginx.service
    访问zabbix web,需要做一些初始化配置
    http://172.x.x.152/zabbix/
     初始化根据自己上面配置的数据库密码用户等信息填写
    zabbix web需要php做配置优化
    首先会提示如下错误:

          当zabbix初始化下一步后会出现一些检查不通过的红色提示,只需要根据提示修改参数就行,下面是根据提示修改的配置

    通过进入如下php配置文件中把对应的报错按照提示参数进行修改:
    vim /usr/local/php/etc/php.ini
    post_max_size = 32M
    max_execution_time = 350
    max_input_time = 350
    date.timezone = Asia/Shanghai
    always_populate_raw_post_data = -1
     
    systemctl restart php-fpm    ###修改完成后重启php-fpm服务
     
    出现如下错误时:

    当完成上面步骤优化后,还会有提示,提示我们把配置下载下来,然后把配置放到对应目录 

      1. 点击蓝色连接把配置文件下面下来,(其实配置文件里面内容就是上步骤填写的信息参数)
      2. 按照提示路径把刚下载下来的配置写到提示路径里面去
    vim /usr/local/nginx-1.16.0/html/zabbix/conf/zabbix.conf.php
      1. 点击完成配置,或者重新刷新配置
     
    7.访问页面及用户名和密码
    URL: http://172.x.x.152/zabbix
    默认用户名:Admin
    默 认 密 码 : zabbix
    8.登录后优化配置
      1. 禁用Zabbix server主机的监控
      1. 禁用guest用户
      1. 更改Admin的密码,改成自己的密码

    本来想把自己截图和优化的截图以及如何尽心汉化都一起放上来,但由于直接粘不来上会看不到,一直为此事发愁呀,有朋友知道怎么处理的可以留言告知,谢谢。
  • 相关阅读:
    POJ 1330 Nearest Common Ancestors (LCA,dfs+ST在线算法)
    BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 (动态树LCT)
    HDU 4010 Query on The Trees (动态树)
    SPOJ 375. Query on a tree (动态树)
    BZOJ 2049: [Sdoi2008]Cave 洞穴勘测 (动态树入门)
    HDU 3726 Graph and Queries (离线处理+splay tree)
    POJ 3580 SuperMemo (splay tree)
    Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
    mysql如何在一张表中插入一万条数据?(用存储过程解决)
    Gradle Build速度加快方法汇总
  • 原文地址:https://www.cnblogs.com/--smile/p/11054902.html
Copyright © 2011-2022 走看看