搜狐媒体平台-搜狐网站>IT

他一出家就成中国最帅和尚

眼眸深邃、轮廓分明、身材颀长,活生生的一幅画。

大学副教授与在押服刑女结婚

这在监狱民警看来,那么令人不可思议。

Zabbix源码安装流程及报错解决方法

声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。举报

  1

  zabbix的介绍

1zabbix是什么

  zabbix是一款基于web页面的、开源的、企业级的,支持分布式部署的监控软件。

2zabbix的作用

  •   监控windows和Linux主机上的软硬件状态。

      监控各网络设备,如路由器、交换机、防火墙、f5、打印机等。

      支持邮件短信微信等平台发送告警通知。

      通过web页面及图形展示监控数据。

3zabbix的特性

  由zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装zabbix proxy程序

  zabbix分为主动监控(agent active)和被动监控:

  Zabbix主动模式

  Agent主动请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,zabbix agent首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy;

  Zabbix被动模式

  Server向agent请求获取监控项的数据,agent返回数据,Server打开一个TCP连接,Server发送请求agent.ping,Agent接收到请求并且响应,Server处理接收到的数据。

  • 监控手段(server或proxy通过什么方式来收集监控到的数据)常用的有:

  SNMP(polling,trapping)

  IPMI(监控硬件状况)

  JMX(监控java应用)

  自定义监测(自定义各类监控脚本监测)

  •   灵活的阈值设定:支持自定义问题阈值,即触发器(trigger),储存于数据库中。

      高级的报警设置:自定义报警升级、接受者以及报警的方式,在配置中允许使用宏变量,可以通过远程命令来实现自动化动作。

      实时图像:课通过内置的绘图方式实现监控数据绘图,并可以自定义视图等。

      模板:支持模板中添加组监控,并允许继承使用。

      网络自动发现及自动注册:自动发现主机、网卡设备、SNMP等

      zabbix API:提供程序级别的访问接口,第三方程序可以很快接入

4zabbix系统的组成

  •   zabbix_server : 服务端守护进程, 负责处理zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy提供的数据,并通过web界面呈现这些数据。

      zabbix_agentd :客户端守护进程,负责收集客户端上的数据并发送给server或proxy。

      zabbix_get : 服务端工具,在服务器上执行,用于手动收集客户端的监控数据,可以用于监控测试或者排错。

      zabbix_sender: 客户端工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据;

      zabbix_proxy : 类似于server,但它只是一个中转站,当跨地区,跨机房部署zabbix系统时,需要用到它,以将它收集到的数据发送给server。

5zabbix的监控流程

  Zabbix监控完整流程包括:Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。

  2

  zabbix安装前准备zabbix3.2

1zabbix安装不同硬件配置环境样例

  

2zabbix安装需要的数据库版本

  

3zabix安装需要的前端软件版本

  

4zabbix安装需要的php扩展

  

  下面是我源码安装php的流程及编译参数:

  # wget

  # tar -zxf mirror # cd php-5.6.31/

  # ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/usr/local/php5.6/etc

  --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local/ --with-png-dir=/usr/local/

  --with-freetype-dir=/usr/local/ --enable-gd-native-ttf

  --with-iconv-dir=/usr/local/ --enable-mbstring --enable-calendar

  --with-gettext --with-libxml-dir=/usr/local/ --with-zlib

  --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd

  --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath

  --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs

  报错

  checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution

  解决

  # yum -y install bzip-devel

  报错

  configure: error: Cannot find libmysqlclient_r under /usr/local/mysql/. Note that the MySQL client library is not bundled anymore!

  其实这跟PHP没有关系,那是因为在编译APACHE的时候,使用--with-mpm模块 所以就必须在编译MYSQL的时候加上--enable-thread-safe-client.参数就行 下面是一些比较简便的办法:

  网上主流的办法

  1. # cd /usr/local/mysql/lib/mysql/

  # ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so

  #可是我并在/lib下并没有mysql这个库。所有此种方法没有成功#最后用下面这种办法解决:

  2.# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64

  整合PHP和Apache

  # cp php.ini-development /usr/local/php5.6/etc/php.ini

  # 在apachede的主配置文件中添加下面两条指令:

  AddType application/x-httpd-php .php //设置PHP文件类型

  LoadModule php5_module modules/libphp5.so //加载PHP模块

  #指明index.php文件:

  <IfModule dir_module>

  DirectoryIndex index.php index.html

  </IfModule>

  测试PHP是否加载成功:(通过浏览器访问IP)

  #echo "<?php phpinfo(); ?>" /usr/local/apache2/htdocs/index.php

  3

  安装zabbix

  1)安装环境:

  centos7 httpd2.4.27 php5.6.31 mysql5.5.20

  2)安装zabbix_server:

  下载安装zabbix

  # wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

  # groupadd zabbix# useradd -g zabbix zabbix

  # tar zxf zabbix-3.2.6.tar.gz

  # cd zabbix-3.2.6

  #./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl# make&&make install# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

  创建zabbix数据库并授权

  # /etc/init.d/mysqld restart

  # mysql -uroot -p

  mysql> CREATE DATABASE zabbix charset=utf8;

  mysql> GRANT ALL ON zabbix.* to zabbix@localhost IDENTIFIED BY 'jiajie';mysql> FLUSH PRIVILEGES; mysql> EXIT#cd zabbix-3.2.6

  将Zabbix基础SQL文件导入mysql数据至Zabbix数据库,注意server端应该导入下面三个数据库文件

  # cd zabbix-3.2.6 # mysql -uzabbix -pjiajie zabbix<database mysql="" schema.sql =""

  # mysql -uzabbix -pjiajie zabbix<database="" images.sql ="" data.sql<="" p="">

  备份zabbix_server配置文件,并打开配置文件修改为上面设置的数据库密码DBPassword=jiajie

  # cd /usr/local/zabbix/etc/

  # cp zabbix_server.conf{,.bak}# vim zabbix_server.conf

  DBPassword=jiajie //数据库授权的密码

  同时复制zabbix_server启动脚本至/etc/init.d/下

  # cd ../zabbix-3.2.6

  # cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server

  # chmod o+x /etc/init.d/zabbix_server

  接下来配置web端,并重启zabbix以及mysql服务 并查看相关端口是否起来。zabbix_server的端口是10051,agent的端口是10050

  # cp -a zabbix-3.2.6/frontends/php/* /usr/local/apache2/htdocs/

  # /etc/init.d/mysqld restart

  # /etc/init.d/zabbix_server restart

  然后修改PHP的配置文件,使其支持zabbix。这个上面就有说明。之后重启httpd服务即可。

  # vim /usr/local/php5.6/etc/php.ini

  date.timezone = PRC

  post_max_size =16M

  max_execution_time=300

  max_input_time=300

  always_populate_raw_post_data = -1

  # /etc/init.d/httpd restart

  开始安装zabbix_web页面,浏览器访问httpd服务的IP地址即可。根据提示安装即可。

  

  错误

  修改了php.ini参数依然报错,显然是那些参数没有生效。这时候查看php.ini的路径是否正确。

  如果php.ini的路径是正确。查看了php.ini的路径是正确的,但是还是没有生效。

  这时候你可以在apache的配置文件中指明php.ini的路径。加上PHPIniDir "/usr/local/php5.6/etc/" 这条指令即可。

  重启apache,获取到路径。完美解决。

  

  

  配置数据库连接,输入数据库名、用户、密码,单击Test connection,显示OK,单击下一步即可。

  

  填写Zabbix Title显示,可以为空,可以输入自定义的名称:

  

  

  单击下一步,出现需修创建zabbix.conf.php文件,执行如下命令,或者单击“Download the configuration file”下载zabbix.conf.php文件,将该文件上传到/usr/local/apache2/htdocs/conf,并设置可写权限,刷新WEB页面,最后单击Finish即可:

  

  登录Zabbix WEB界面,默认用户名和密码为:admin/zabbix

  zabbix安装完成后,但是显示服务没有起来一直显示 zabbix server is not running ,这时候查看端口和进程,没有任何显示。

  排错首先查看日志和端口:

  # ss -tnl|grep 10051

  # ps -ef|grep zabbix

  # tail -f /tmp/zabbix_server.log

  54587:20170821:151740.795 [Z3001] connection todatabase 'zabbix' failed: [2002]

  Can't connect to local MySQL server throughsocket '/var/lib/mysql/mysql.sock' (13)

  54587:20170821:151740.795 database is down:reconnecting in 10 seconds

  解决办法:一看就是找不到mysql.sock的路径,找到mysql.sock的路径并打开zabbix_server的配置文

  件指明DBSocket的路径。重启服务即可

  # find / -name mysql.sock

  /tmp/mysql.sock

  # vim/usr/local/zabbix/etc/zabbix_server.conf

  DBSocket=/tmp/mysql.sock

  3)安装zabbix_agent端:安装客户端和服务端的差不多,这里就直接给出脚本吧:

  #!/bin/bash#auto install zabbix agent

  #by jiajie 20170822#############

  ZABBIX_SOFT="zabbix-3.2.6"

  INSTALL_DIR="/usr/local/zabbix"

  URL=https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

  IP=`ifconfig ens33|sed -n '2p'|awk '{print $2}'`

  read -p "Please input zabbix_server IP:" SERVER_IP

  ###jump IP is rightful

  if [[ $SERVER_IP =~ ^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]];then

  continue

  else

  echo -e "033[31mIP format error!033[0m"

  exit 0

  fi

  AGENT_INSTALL(){

  if [ -d $INSTALL_DIR ];then

  echo "zabbix_agent is already install..."

  exit 1

  else

  if [ ! -d /software ];then

  mkdir /software

  fi

  fi

  cd /software

  yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

  groupadd zabbix ;useradd -g zabbix zabbix

  wget $URL tar -xf download

  cd $ZABBIX_SOFT

  ./configure --prefix=/usr/local/zabbix --enable-agent

  if [ $? -eq 0 ];then

  make install

  else

  echo "./configure is error,please check..."

  exit 2

  fi

  ln -s $INSTALL_DIR/sbin/zabbix_* /usr/local/sbin/

  cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd &&

  chmod o+x /etc/init.d/zabbix_agentd

  #config zabbix agentdcat >$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF

  LogFile=/tmp/zabbix_agentd.log

  Server=$SERVER_IP

  ServerActive=$SERVER_IP

  Hostname = $IP

  EOF

  #start zabbix agentd

  iptables -F

  setenforce 0

  /etc/init.d/zabbix_agentd restart

  }

  AGENT_INSTALL

  本文出自 “dianel简单不简单” 博客,请务必保留此出处https://dianel.blog.51cto.com/12170393/1958456

加入云技术社区运维技术讨论QQ群,群共享有N多资料,加群主QQ:502207183,并注明城市、行业、技术方向。

mt.sohu.com true 云技术实践 https://mt.sohu.com/20170901/n509318183.shtml report 18773 1zabbix的介绍1zabbix是什么zabbix是一款基于web页面的、开源的、企业级的,支持分布式部署的监控软件。2zabbix的作用监控windows和
阅读(0) 举报
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。

热门关注

搜生活

搜生活+关注

搜狐公众平台官方账号

MAGIC杨梦晶

MAGIC杨梦晶+关注

生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者

搜狐教育

搜狐教育+关注

搜狐网教育频道官方账号

星吧GEO

星吧GEO+关注

全球最大华文占星网站-专业研究星座命理及测算服务机构

热门图片

  • 热点视频
  • 影视剧
  • 综艺
  • 原创
锦绣缘

同步热播-锦绣缘

主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
神雕侠侣

大结局-神雕侠侣

主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
封神英雄榜

同步热播-封神英雄榜

主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓

六颗子弹

主演:尚格·云顿/乔·弗拉尼甘/Bianca Bree
龙虎少年队2

龙虎少年队2

主演:艾斯·库珀/ 查宁·塔图姆/ 乔纳·希尔

《奔跑吧兄弟》

baby14岁写真曝光

《我看你有戏》

李冰冰向成龙撒娇争宠

《明星同乐会》

李湘遭闺蜜曝光旧爱

《非你莫属》

美女模特教老板走秀

《一站到底》

曝搬砖男神奇葩择偶观

搜狐视频娱乐播报

柳岩被迫成赚钱工具

大鹏嘚吧嘚

大屁小P虐心恋

匆匆那年第16集

匆匆那年大结局

隐秘而伟大第二季

乔杉遭粉丝骚扰

The Kelly Show

男闺蜜的尴尬初夜

我来说两句排行榜

客服热线:86-10-58511234

客服邮箱:kf@vip.sohu.com