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

[经验分享] zabbix监控环境搭建指南---网上最最详细搭建过程

[复制链接]

尚未签到

发表于 2015-11-23 12:48:55 | 显示全部楼层 |阅读模式
一、ZABBIX 安装
  原创:Perry.Zhang   
  修改:Jane.Hoo
  本文未经许可严禁转载。
  注:涉及到的可自定义的部分均使用变量表示。如zabbix安装路径为$ZABBIX_HOME。
1.LNMP环境搭建
1.1.Nginx安装
1.1.1.环境依赖
  1)   支持rewrite功能必须安装pcre perl兼容的正则表达式库。
  # yum install pcre*
  [iyunv@zabbix ~]# rpm -qa|grep pcre*
  pcre-static-7.8-6.el6.x86_64
  pcre-7.8-6.el6.x86_64
  pcre-devel-7.8-6.el6.x86_64
  2)   如需要SSL支持则还需要安装openssl包。
  # yum install openssl*
  [iyunv@zabbix ~]# rpm -qa|grep openssl
  openssl-static-1.0.1e-30.el6.11.x86_64
  openssl098e-0.9.8e-18.el6_5.2.x86_64
  openssl-1.0.1e-30.el6.11.x86_64
  openssl-devel-1.0.1e-30.el6.11.x86_64
  openssl-perl-1.0.1e-30.el6.11.x86_64
1.1.2.下载源码包
  (本文使用1.9.3版本)
  # wgethttp://nginx.org/download/nginx-1.9.3.tar.gz
1.1.3.解压与编译安装
  $NGINX_HOME=/data/nginx
  # tar -zxvf nginx-1.9.3.tar.gz
  # ./configure--prefix=$NGINX_HOME \
  --with-http_ssl_module--with-http_spdy_module \
  --with-http_stub_status_module\
  --with-pcre
  # make&& make install
  #ln –s $NGINX_HOME  /usr/local/nginx
  
1.1.4.修改配置文件
  详情参见nginx.conf和sites-enabled/$YOUR_VHOST.conf, $NGINX_HOME/sites-enabled是自定义的目录,用来存放虚机配置。
1.1.5.检测
  1)  在修改完nginx的配置文件后,应该先使用# $NGINX_HOME/sbin/nginx –t 验证配置文件是否没有报错
  2)  如果配置文件修改无误的话,应使用# $NGINX_HOME/sbin/nginx –S reload命令热启动,重新加载新的配置文件即可,无需重启服务。
1.1.6.配置开机启动
  # vim /etc/rc.local
  加入:$NGINX_HOME/sbin/nginx
  启动服务:
  $NGINX_HOME/sbin/nginx
  
1.2.PHP安装
1.2.1.环境依赖
  # yuminstall gcc make gd-devellibjpeg-turbo-devel libpng-devel libxml2-devel  bzip2-devellibcurl-devel–y
  注意:gd-devel是zabbix运行环境非必需软件,但是其它复杂php程序运行的必需软件
  
1.2.2.下载源码包
  (本文使用5.5.27版本)
  #wget http://cn2.php.net/distributions/php-5.5.27.tar.gz
1.2.3.解压与编译安装
  # tar zxvf php-5.5.27.tar.gz
  $PHP_HOME=/data/php
  # ./configure--prefix=$PHP_HOME\
  --enable-fpm  \
  --with-fpm-user=daemon\
  --with-fpm-group=daemon\
  --with-config-file-path=/usr/local/php/etc\
  --with-mysql=mysqlnd\
  --with-mysqli=mysqlnd  \
  --with-pdo-mysql=mysqlnd\
  --with-iconv\
  --with-iconv-dir  \
  --with-freetype-dir  \
  --with-jpeg-dir  \
  --with-png-dir  \
  --with-gd  \
  --with-zlib  \
  --with-libxml-dir  \
  --with-curl  \
  --with-curlwrappers  \
  --with-mhash  \
  --with-xmlrpc  \
  --with-mcrypt\
  --with-openssl  \
  --enable-xml\
  --disable-rpath  \
  --enable-safe-mode  \
  --enable-bcmath\
  --enable-shmop  \
  --enable-sysvsem  \
  --enable-inline-optimization  \
  --enable-mbregex  \
  --enable-mbstring\
  --enable-gd-native-ttf  \
  --enable-ftp  \
  --enable-pcntl  \
  --enable-sockets  \
  --enable-zip\
  --enable-soap  \
  --disable-debug  \
  --disable-ipv6\
  --with-gettext\
  --enable-calendar\
  --enable-dom
  # make && make install
  #ln –s  $PHP_HOME/usr/local/php
  注:
  1) 特别需要注意libmcrypt包。由于CentOS没有版权所以通用的官方源里都没有这个包。推荐大家使用atomic的第三方源,或者使用源码包安装(没有编译安装过的不建议)。
  2) 第三方源地址:wget http://www.atomicorp.com/installers/atomic(是shell脚本,应该将其放在yum.repos.d下)
  # sh ./atomic(执行脚本获取最新源)
  3) 其他缺少依赖包的报错请自行处理,直接通过yum安装相应的devel包即可。
  4) 这里编译的PHP使用的是fpm的启动类型,而没有选择fastcgi的形式。二者的区别可以百度。
1.2.4.安装完成验证
  # php –version
  如环境变量中没有,则执行下面的操作:
  1)  # vim /etc/profile
  2)  加入:
  export PHP_HOME=/usr/local/php
  export PATH=$PATH:$PHP_HOME/bin
  3)  . /etc/profile
  验证:
  # php --version(显示版本信息正确时安装完成)
  
1.2.5.PHP启动环境配置
  # cd $PHP_SRC
  拷贝源码包中的配置文件到安装目录:
  # cp -rf sapi/fpm/php-fpm.conf /usr/local/php/etc/
  拷贝启动文件到启动目录:
  # cp -rf sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  拷贝生产环境配置文件到安装目录:
  # cp -rf php.ini-production /usr/local/php/etc/php.ini
  
1.2.6.加入到system V服务控制
  # chkconfig --add php-fpm
  修改启动目录下的启动文件的执行权限为755:
  # chmod 755 /etc/init.d/php-fpm
  配置开机启动:
  # vim/etc/rc.local
  加入:/etc/init.d/php-fpm  start
  
1.2.7.Php-fpm.conf优化
  Php-fpm.conf:
  error_log = /usr/local/php/var/log/php-fpm.log
  log_level = notice
  emergency_restart_threshold = 10
  emergency_restart_interval = 1m
  process_control_timeout = 5
  daemonize = yes
  listen.owner = daemon
  listen.group = daemon
  listen.mode = 0666
  pm = dynamic
  pm.max_children = 256
  pm.min_spare_servers = 128
  pm.max_spare_servers = 256
  pm.max_requests = 1024(*)
  request_terminate_timeout = 600s(*)
  request_slowlog_timeout = 300s
  rlimit_files = 65536
  rlimit_core = 65536
  注意:
  在PHP与NGINX整合时,VHOST的fastcgi_pass不要使用本地回环地址,因为TCP协议的传输速度很慢,因此建议使用unixsocket协议做程序间信息传输。
  如果在nginx与php结合时出现形如connect() to unix:/dev/shm/php.socket failed找不到socket文件的错误时,请按以下步骤修复:
  1)修改nginxvhost配置文件,将对127.0.0.1:9000的监听转换为使用socket协议监听:
  如原为:fastcgi_pass    127.0.0.1:9000;
  改为:fastcgi_pass    /dev/shm/php.socket;
  2)手动创建/dev/shm/php.socket文件:
  # touch/dev/shm/php.socket
  3)修改socket文件权限(修改的用户必须与php-fpm.conf文件中的usergroup一致):
  # chown daemon:daemon/dev/shm/php.socket
  # chmod 777 /dev/shm/php.socket
  4)修改php-fpm.conf文件中监听对象:
  原为:listen = 127.0.0.1:9000
  改为:listen=/dev/shm/php.socket
  5)重启服务:
  # nginx –s reload
  # /etc/init.d/php-fpmrestart
  
1.2.8.Php.ini优化
  max_execution_time = 300                 
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone PRC
1.3.PHP与NGINX整合:
  NGINX详情参见每个vhost的配置文件
  PHP详情如前所述。
  
1.4.MYSQL安装:
  二进制包或源码安装方式,本文不赘述。
  


2.zabbix server环境搭建
2.1.下载安装包
  (本文采用zabbix 2.4.5)
  # wget
  http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
  

2.2.解压与编译安装
  $ZABBIX_HOME=/data/zabbix
  # ./configure --prefix=$ZABBIX_HOME/ \
  --enable-server \      //开启server端,做zabbixserver的机器编译时必须加入
  --enable-agent \ //开启agent端,被监控的机器编译时必须加入,server端也应加入
  --enable-proxy \ //开启proxy端,打算使用zabbixproxy功能的机器编译时必须加入
  --with-mysql=/usr/local/mysql/bin/mysql_config \       //整合mysql。编译时报找不到mysql_config时,应当加入源码安装路径中的绝对路径
  --with-net-snmp \     //整合邮件发送模块。编译时报找不到net-snmp-config时,应当加入绝对路径
  --with-libcurl \    //整合curl模块
  --with-libxml2              //整合libxml2模块
  #make && make install
  #ln –s $ZABBIX_HOME /usr/local/zabbix
2.3.安装辅助包fping
  下载zabbix源,无需源码安装:
  # yum install fping
  

2.4.创建ZABBIX所在用户与组
  # groupadd zabbix
  # useradd zabbix
  
2.5.初始化ZABBIX数据库
  注:
  1)只有server 和 proxy需要使用数据库。Proxy只需要导入一个schema.sql文件,而server在导入schema.sql外还需导入images.sqldata.sql.
  2)创建数据库时,如果没有在配置文件中默认定义库字符集为utf8的话,那么需要手动指定,否则会出现中文乱码。
  3)上述三个文件的路径为源码包中的database/mysql中。
  4)三个文件的导入顺序,schema.sql必须最先导入。
  
  mysql>create database zabbix default charset utf8;
  
  # mysql –u$USER –p$PASSWD zabbix < schema.sql
  # mysql –u$USER –p$PASSWD zabbix <images.sql
  # mysql –u$USER –p$PASSWD zabbix <data.sql
  
2.6.创建ZABBIX的MYSQL用户
  mysql>grant all privileges on zabbix.* to zabbix@localhostidentified by 'zabbix';
  mysql > flush privileges;
  
2.7.优化ZABBIX_SERVER配置文件
  注:文件路径在源码包下。
  # cp $ZABBIX_SRC/config/zabbix_server.conf $ZABBIX_HOME/etc/
  # mkdir -p $ZABBIX_HOME/alertscripts
  # mkdir -p $ZABBIX_HOME/externalscripts
  # mkdir -p $ZABBIX_HOME/log
  
  # vim $ZABBIX_HOME/etc/zabbix_server.conf
  ListenPort=10051
  LogFile=$ZABBIX_HOME/log/zabbix_server.log
  LogFileSize=1024
  DebugLevel=3   
  PidFile=$ZABBIX_HOME/zabbix_server.pid
  DBHost=localhost
  DBName=zabbix
  DBUser=zabbix
  DBPassword=zabbix
  DBSocket=/tmp/mysql.sock
  DBPort=3306
  StartPollers=10
  StartPollersUnreachable=10
  StartTrappers=10
  StartPingers=5
  ListenIP=0.0.0.0
  HousekeepingFrequency=1
  CacheSize=1024M
  StartDBSyncers=10
  HistoryCacheSize=1024M
  TrendCacheSize=512M
  ValueCacheSize=32M
  Timeout=20
  AlertScriptsPath=$ZABBIX_HOME/alertscripts
  ExternalScripts=$ZABBIX_HOME/externalscripts
  LogSlowQueries=3000
  注:以上参数都已优化,且在实际生产环境测试检验。
  注:PROXY的配置没有列在本文的讨论范围内。
  
2.8.配置ZABBIX SERVER服务
  配置自启动:
  # cp$ZABBIX_SRC/misc/init.d/fedora/core5/zabbix_* /etc/init.d/
  注:CentOS和RedHat均使用fedora下的脚本。
  # chmod&#43;x /etc/init.d/zabbix_*
  # chown-R zabbix:zabbix $ZABBIX_HOME/
  # vim/etc/init.d/zabbix_server
  修改ZABBIX_BIN=&quot;$ZABBIX_HOME/sbin/zabbix_server&quot;
  
2.9.防火墙规则配置
  如果开启防火墙,则需要增加针对zabbix_server的规则:
  # iptables-A INPUT -p tcp -m tcp --dport 10050:10051 -j ACCEPT
  # iptables-A INPUT -p udp -m udp --dport 10050:10051 -j ACCEPT
  #service iptables save
  
2.10.启动ZABBIX_SERVER
  # /etc/init.d/zabbix_serverstart
  若无报错则配置ZABBIX SERVER服务成功。
  
  配置开机自启动[建议]:
  # vim/etc/rc.local
  /etc/init.d/zabbix_serverstart
  或
  # chkconfig--addzabbix_server
  #chkconfig --level 3 5 zabbix_server on
  
3.配置ZABBIX WEB
  1.    前面已经配置并启动了nginx服务器。
  2.    Zabbix web工程全部拷贝到之前配置的vhost指定的路径中。
  如:
  vhost指定的工程路径为:root  $ZABBIX_HOME/frontends;
  则应执行:
  # cp –r $ZABBIX_SRC/frontends/php/* $ZABBIX_HOME/frontends
  注:
  1)        在上述安装配置结束后,请务必保证zabbix的安装路径的属主为zabbix:zabbix
  nginx的安装路径的属主为daemon:daemon
  2)        修改完nginxzabbix的配置后,记得重启服务(nginx为热加载配置文件,无需重启服务)。
  
  3.    登录之前配置的虚拟主机域名: test.zabbix.com
  出现首次安装界面则安装成功。
  
  
DSC0000.jpg
  
  
DSC0001.jpg

  如果出现配置错误会如下图所示:

DSC0002.jpg

  这里的错误是php.ini中的max_input_time参数设置过小,推荐&#20540;为300.
  修改后重启PHP-FPM:# /etc/init.d/php-fpmrestart
  修复后报错消失,如无其他报错则执行下一步。
DSC0003.jpg
DSC0004.jpg
DSC0005.jpg
  

  Next后进入信息检查页
DSC0006.jpg

  无误的话点击next。
  如果出现$ZABBIX_HOME/frontends/conf/zabbix.conf.php&quot;created: Failed的报错的话,则需要给你存放zabbix前端代码的文件夹更高的权限。这里我给了777.
  # chmod –R 777 $ZABBIX_HOME/frontends/
DSC0007.jpg
  
  
  安装成功。进入下图的登录界面。
  默认的用户密码为admin/zabbix
  
DSC0008.jpg
  欢迎使用~
DSC0009.jpg
4.安装ZABBIX AGENT端
  1.      下载与SERVER端相同。
  2.      解压与编译安装:
  如果是SERVER服务器的话,那么我们在上面的安装过程中已经介绍了如何编译。可以跳过此步。
  独立的需要被监控的机器上需要如下过程安装ZABBIX AGENT端:
  # ./configure --prefix=$ZABBIX_HOME --enable-agent
  # make && make install
  3.    优化ZABBIX_AGENTD的配置文件:
  # vim $ZABBIX_HOME/etc/zabbix_agentd.conf
  LogFile=$ZABBIX_HOME/log/zabbix_agentd.log
  LogFileSize=1024
  DebugLevel=3
  PidFile=$ZABBIX_HOME/zabbix_agentd.pid
  Server=127.0.0.1     
  ServerActive=127.0.0.1
  注:ServerServerActive指定的都是SERVER端的地址。不同的是Serve是被动而ServerActive是主动。即Server=127.0.0.1允许127.0.0.1这个IP来取数据,而ServerActive=127.0.0.1则表示客户端主动提交数据给这个IP。如果SERVER端和AGENT端不在同一台机器(如监控机),则需要将该机器上zabbix_agentd.conf文件的这两个&#20540;设置为SERVERIP地址。
  ListenPort=10050
  UnsafeUserParameters=1
  EnableRemoteCommands=1
  Timeout=10
  Hostname=$YOUR_HOST
  
  4.    拷贝启动脚本到init.d:
  # cp $ZABBIX_SRC/misc/init.d/fedora/core5/zabbix_agentd \
  /etc/init.d/zabbix_agentd
  
  5.    启动ZABBIX_AGENTD:
  # /etc/init.d/zabbix_agentd start
  注:提示找不到~~/sbin/zabbix_agentd文件时,修改/etc/init.d/zabbix_agentd脚本中的$ZABBIX_BIN变量为$ZABBIX_HOME/sbin/zabbix_agentd
  
  6.    加入自启动:
  # vim /etc/init.d/rc.local
  /etc/init.d/zabbix_agentd start
  
  7.    检查web页面中zabbix_agent是否启动成功:
DSC00010.jpg
  

  如果所监控的机器的agent端图标一直没有点亮,则需要查看它的日志。
  日志路径:$ZABBIX_HOME/log/zabbix_agentd.log
  错误类&#20284;:
DSC00011.jpg
  

  说明zabbix里面监控的主机名和在配置文件里面的保存的主机名不一样默认没有开启监控。
  开启监控的方法如下:
  configuration->Hosts面板中Status,启用monitored,才能监控server
  
DSC00012.jpg
  正确监控后,被监控主机的 avalibility 会变成绿色。
  开启监控也可以直接在主机面板下方开启,如下:
DSC00013.jpg

  
  安装教程到此为止。后续会继续SOP教程。

运维网声明 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-142635-1-1.html 上篇帖子: linux 安装zabbix监控工具 下篇帖子: ubuntu安装zabbix
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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