设为首页 收藏本站
查看: 1776|回复: 0

[经验分享] 实战 zabbix

[复制链接]

尚未签到

发表于 2019-1-19 07:22:45 | 显示全部楼层 |阅读模式
  实战 zabbix-3.4.11 安装,配置,部署全过程
  系统环境:CentOS Linux release 7.4.1708 (Core), 3.10.0-693.el7.x86_64
安装顺序:
1)  nginx:nginx-1.15.1 - 源码安装方式
2)  MySQL:MySQL 5.7.22-1.el7 - yum安装方式, 先要下载该yum源
3)  php:php-7.2.3 - 源码安装方式
4)  zabbix server: zabbix-3.4.11 - 源码安装方式
5)  zabbix agent: zabbix-agent-3.4.11 - rpm 安装方式
6)  zabbix web GUI:在zabbix 源码包中 frontends/php目录下
  说明:

  • 所有的源码包、压缩包和解压包都放置在 /snow/zabbix/ 目录下
  • 所有组件的安装都安装在 /usr/local/ 目录下,用yum方式安装的除外
  步骤:

  •   安装必要的依赖库等组件
      yum -y install zlib pcre pcre-devel openssl openssl-devel

  •   创建www用户
      useradd -s /sbin/nologin www

  •   下载nginx源码包, 版本:nginx-1.15.1
      wget http://nginx.org/download/nginx-1.15.1.tar.gz

  •   解压nginx源码包
      tar -zxvf nginx-1.15.1.tar.gz

  •   下载openssl源码包,版本:openssl-1.0.2o
      wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz

  •   解压openssl源码包
      tar -zxvf openssl-1.0.2o.tar.gz

  • 进入解压后的nginx目录,开始编译
      ./configure \
    --user=www \
    --group=www \
    --prefix=/usr/local/nginx \
    --sbin-path=/usr/local/nginx/sbin/nginx \
    --conf-path=/usr/local/nginx/conf/nginx.conf \
    --error-log-path=/usr/local/nginx/logs/error.log \
    --http-log-path=/usr/local/nginx/logs/access.log \
    --pid-path=/var/run/nginx.pid \
    --lock-path=/var/lock/subsys/nginx \
    --with-openssl=/snow/zabbix/openssl-1.0.2o \
    --with-http_stub_status_module \
    --with-http_ssl_module \
    --with-http_gzip_static_module \
    --with-pcre



  •   执行 make
      make

  •   执行 make install
      make install

  •   删除系统默认安装的mariadb数据库
      yum remove mariadb*

  •   通过yum源的方式安装MySQL5.7
  •   下载MySQL yum源:
      wget http://repo.mysql.com/mysql57-community-release-el7.rpm

  •   安装yum源:
      rpm -ivh mysql57-community-release-el7.rpm

  •   验证yum源已安装:确认有两个源:mysql-community.repo 和mysql-community-source.repo
      ll /etc/yum.repos.d/ | grep mysql

  •   安装MySQL5.7
      yum install mysql-server mysql mysql-devel

  • 验证MySQL5.7安装成功
      rpm -qa | grep mysql



  •   启动MySQL服务
      systemctl start mysqld

  • 验证MySQL启动成功
      ps -ef | grep mysqld



  • 获取初次安装MySQL后的root的临时密码:
      grep "password" /var/log/mysqld.log



  • 通过临时密码登录MySQL数据库后后,必须要修改密码,否则无法进行相关数据库的操作。
  •   注意新密码要符合密码复杂性要求:最小8位,包含字母大小写,数字和特殊字符
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'Your_New_Password';

  •   重新用修改后的密码登录数据库验证密码无误。
  • 查看数据库密码策略
      SHOW VARIABLES LIKE "validate_password%";



  •   源码安装php, 先安装php依赖库
      yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

  •   获取php源码包:
      wget http://am1.php.net/distributions/php-7.2.3.tar.gz

  •   解压php源码包
      tar -zxvf php-7.2.3.tar.gz

  • 切换到php解压好的目录下,开始编译配置PHP
      ./configure  \
    --prefix=/usr/local/php7  \
    --enable-fpm  \
    --with-fpm-user=www  \
    --with-fpm-group=www  \
    --with-pdo-mysql=mysqlnd  \
    --with-mysqli=mysqlnd  \
    --with-zlib  \
    --with-curl  \
    --with-gd  \
    --with-jpeg-dir  \
    --with-png-dir  \
    --with-freetype-dir  \
    --with-openssl  \
    --enable-mbstring  \
    --enable-xml  \
    --enable-session  \
    --enable-ftp  \
    --enable-pdo -enable-tokenizer  \
    --enable-zip



  •   执行php make 操作
      make

  •   执行php make install 操作
      make install

  •   拷贝两个文件到相关的目录
      cp php.ini-production  /usr/local/php7/lib/php.ini
    cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

  • 修改nginx配置文件,添加php-fpm的整合配置,如截图:
      vim /usr/local/nginx/conf/nginx.conf





  •   进入安装好的php7 的目录执行下面命令
      cp /usr/local/php7/etc/php-fpm.conf.default php-fpm.conf
    cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

  •   启动php服务
      systemctl start php-fpm.service

  •   验证php-fpm的启动端口是否为9000
      netstat -antlp | grep php

  • 测试nginx是否能正常启动,结果如图能够通过检测
      /usr/local/nginx/sbin/nginx -t



  •   启动nginx
      /usr/local/nginx/sbin/nginx

  •   验证PHP,创建info.php文件
      echo '' > /usr/local/nginx/html/info.php

  • 在客户端输入服务器的IP/info.php,如果网页能打卡正常,说明配置正确
  •   如果客户端不能访问网页,关闭服务器防火墙,然后就能打开网页
      systemctl stop firewalld

  • 网页打开效果如图


  •   php配置优化,配置完后重启php-fpm服务
      vim /usr/local/php7/lib/php.ini

  •   具体配置参数如下
      post_max_size = 16M
    max_execution_time = 300
    memory_limit = 128M
    max_input_time = 300
    date.timezone = Asia/Shanghai

  •   源码安装zabbix server, 先安装其依赖库和插件
      yum install net-snmp net-snmp-devel curl curl-devel libxml2 libevent libevent-devel

  •   创建启动zabbix的守护进程的普通用户
      groupadd zabbix
    useradd -g zabbix zabbix

  •   获取Zabbix源码包,版本:zabbix-3.4.11
      wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz

  •   解压zabbix源码包
      tar zxvf zabbix-3.4.11.tar.gz

  • 进入解压好的zabbix目录,执行编译
  •   说明:该zabbix目录包含zabbix server端和web前端 (frontends目录)
      ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2

  •   执行 zabbix make 和 make install 操作,确保没有报错信息
      make
    make install

  • zabbix启动脚本路径默认指向的是/usr/local/sbin路径,而zabbix的安装路是/usr/local/zabbix,因此,需要提前创建如下软链接
      ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
    ln -s /usr/local/zabbix/bin/* /usr/local/bin/



  • 登录MySQL数据库,创建zabbix数据库和zabbix的数据库用户
  •   密码要符合当前数据库密码策略
      create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbix@Pwd';

  • 退出数据库连接, 进入zabbix源码包中 database/mysql/ 目录下,再重新登入mysql,再在mysql命令行模式下,按顺序执行以下命令来导入sql
      use zabbix;
    source schema.sql;
    source images.sql;
    source data.sql;



  • 配置zabbix server, 编辑 /usr/local/zabbix/etc/zabbix_server.conf,修改以下配置项


  •   拷贝 zabbix_server和zabbix_agentd两个管理脚本,到/etc/init.d目录下
      cp /snow/zabbix/zabbix-3.4.11/misc/init.d/fedora/core/* /etc/init.d/
    chmod +x zabbix_server
    chmod +x zabbix_agentd

  •   让这两个服务开机自动启动
      chkconfig zabbix_server on
    chkconfig zabbix_agentd on

  • 启动zabbix server
      /etc/init.d/zabbix_server start
    或者
    systemctl start zabbix_server



  •   添加相应的zabbix服务和端口到系统配置文件中
      vim /etc/services

  • 添加下面内容
      zabbix-agent 10050/tcp # Zabbix Agent
    zabbix-agent 10050/udp # Zabbix Agent
    zabbix-trapper 10051/tcp # Zabbix Trapper
    zabbix-trapper 10051/udp # Zabbix Trapper



  • 在被监控的服务器端安装和配置 zabbix agent,版本 zabbix-agent-3.4.11
  • 注意:服务器端和客户端的zabbix版本最好一致,这里都是3.4.11的版本
  •   获取zabbix agent rpm 包
      wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.11-1.el7.x86_64.rpm

  •   安装zabbix agent
      rpm -ivh zabbix-agent-3.4.11-1.el7.x86_64.rpm

  • 安装完成后,生成 /etc/zabbix目录和相关配置文件


  •   修改zabbix agent的配置文件zabbix_agentd.conf, 主要项目如下:
      LogFile=/var/log/zabbix/zabbix_agentd.log
    Server=xxx.xxx.xxx.xxx     # zabbix server IP 地址
    StartAgents=3
    ServerActive=xxx.xxx.xxx.xxx     # zabbix server IP 地址
    Hostname=xxx.xxx.xxx.xxx         # zabbix agent 端IP
    Include=/etc/zabbix/zabbix_agentd.d/
    UnsafeUserParameters=1

  •   启动zabbix agent服务
      systemctl start zabbix-agent.service

  • zabbix server端 安装 zabbix web GUI
  • zabbix web GUI:在zabbix 源码包中 frontends/php目录下
  • 拷贝php目录到zabbix安装目录下/usr/local/nginx/html/,并重命名为zabbix
      cp -r /snow/zabbix/zabbix-3.4.11/frontends/php /usr/local/nginx/html/zabbix



  •   最后确保 mysqld, nginx, zabbix_server, zabbix_agentd 和 php-fpm 这些服务已经正常启动运行。
  • 测试 zabbix server 监控是否生效,命令中XXX表示zabbix server IP 地址,如果结果返回一串数字表示测试成功。数字的意思是客户端在线时间时长,单位是:秒
      /usr/local/zabbix/bin/zabbix_get -s XXX.XXX.XXX.XXX -p 10050 -k "system.uptime"



  • 添加在之前完成PHP的安装后缺少的四个功能模块:bcmath,sockets, LDAP和gettext
  •   这里对bcmath 模块进行配置添加作为例子,其它三个模块配置步骤完全一样,记住一点对哪个模块进行配置就在哪个模块下的目录进行操作。
      cd /snow/zabbix/php-7.2.3/ext/bcmath
    /usr/local/php7/bin/phpize
    上面命令执行完成后,在当前目录下生成bcmath的configure文件,再执行下面操作
      ./configure --with-php-config=/usr/local/php7/bin/php-config
    make
    make install
    vim /usr/local/php7/lib/php.ini
    把下面代码添加到php.ini文件中
      extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718"
    extension = bcmath.so

  • 把这四个模块都完成编译配置后,最终php.ini里添加的内容如下图
  • 注意:PHP编译配置生成的模块放置于下面的目录
      /usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/



  • 如果在编译配置LDAP的过程中遇到如下图错误,说明还缺少ldap包,执行下面命令解决该错误,然后再次执行对LDAP的编译配置
      yum install openldap openldap-devel
    cp -frp /usr/lib64/libldap* /usr/lib/



  •   重启php-fpm服务器,对php.ini所做的配置生效
      systemctl restart php-fpm.service

  • 打开浏览器,输入地址,然后就能进入Zabbix 3.4的web管理配置界面
      xxx.xxx.xxx.xxx/zabbix      # xxx.xxx.xxx.xxx 是zabbix server的IP地址



  • 在WEB 界面中,点击 Next Step 按钮,进入如下界面,并输入正确的信息,连接数据库


  •   填写zabbix server 的相关信息

  •   预览最终配置

  • 最后一步有个报错,按照提示,先下载配置文件zabbix.conf.php,然后保存到下面目录。
      /usr/local/nginx/html/zabbix/conf/



  • 刷新web页面后,显示成功完成web的前端配置。


  • 点击finish按钮成功进入界面。输入zabbix的用户名和密码
      初始用户名 :Admin
    初始密码:zabbix



  • 最后成功进入zabbix web GUI 界面!!!





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664955-1-1.html 上篇帖子: 使用zabbix监控TCP连接状态 下篇帖子: 企业级监控软件zabbix搭建部署之Zabbix自定义端口阈值配置以及应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表