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

[经验分享] zabbix管理二之zabbix的安装

[复制链接]

尚未签到

发表于 2019-1-17 12:41:48 | 显示全部楼层 |阅读模式
       zabbix的安装
  

  

  

  简述:
  本章介绍Zabbix的安装和配置,这是在一个Server/Agent的架构环境中进行部署的,采用RPM包进行安装(推荐使用此种方法)
  

  

  环境:
  Zabbix服务器运行的环境为Linux+PHP+WebService+DataBase,这里的WebService可以是Nginx、Apache;DataBase可以为MySQL、Oracle、PostgreSQL等。
  

  

  硬件要求:
环境平台CPU/内存数 据 库硬盘监控主机数量
小型LinuxPII 350MHz 256MBSQLite普通20
中型Linux 64 bitAMD Athlon 3200 2GBMySQL InnoDB普通500
大型Linux 64 bitIntel Dual Core 6400 4GBMySQL InnoDBSAS或SSD> 1000
超大型Linux 64 bitIntel Xeon 2xCPU 8GBMySQL InnoDBSAS或SSD> 10000
  

  

  准备工作:

  时间同步:
  Zabbix-Server对时间的精准要求比较高,时间对数据的计算等都有影响,因此,最好设置ntp自动同步时间。也可以用crontab 进行同步(在实际的生产环境中不推荐这么做),如下所示,使用crontab 进行时间同步,如:
  */30 * * * * /usr/sbin/ntpdate pool.ntp.org
  

  

  

  

  部署:

  服务端配置:(centos6.5)
  zabbix server安装
  采用RPM包安装方式(推荐)
  安装Zabbix官方源和epel源:
  rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
  rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  注意:由于软件版本的更新,以上链接可能会失效,请读者下载并安装相应的版本。
  yum install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent  (注意:由于服务器端也是需要监控的,故这里也一并安装Zabbix-Agent)
  注意:yum安装时,epel源可能会报错,如下:
  Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
  解决方法:vi /etc/yum.repos.d/epel.repo
  将所有baseurl行注释去掉
  将所有mirrorlist行注释掉
   注意安装zabbix的官方yum源后,在执行yum install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent这个命令时会把httpd,mysql,php等相关的软件一并安装(若之前已经安装了httpd,先把之前安装的httpd卸载了: rpm -e httpd --nodeps,不然后面httpd的配置文件会有问题
  mysql的配置

  vi /etc/my.cnf
  [mysqld]
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  user=mysql
  # Disabling symbolic-links is recommended to prevent assorted security risks
  symbolic-links=0
   character-set-server=utf8 #设置字符集为utf8
  innodb_file_per_table=1 #让innodb的每个表文件单独存储
  [mysqld_safe]
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
###和上面mysql配置文件的数据是一样的:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
innodb_file_per_table=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid  chkconfig mysqld on             (启动服务)

  service mysqld start
  ps -ef | grep mysql             (看是否启动)
  创建zabbix库:
  mysqladmin -uroot password  "xxxxx"     (设置密码)
  mysql -uroot -pxxxxx           (登录mysql)
  create database zabbix character set utf8;
  grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';                                     (创建zabbix用户并授权)
  flush privileges;
   注意:这里容易出现的问题是创建Zabbix的数据库字符集不为utf8,这会导致Web界面切换到中文环境时出现乱码。
  导入Zabbix Server的数据库:
  mysql -uzabbix -pzabbix        (以zabbix用户登录mysql)
  use zabbix
  source /usr/share/doc/zabbix-server-mysql-X.X.X/create/schema.sql;
  注意:如果安装Zabbix-Proxy,只导入schema.sql即可,无须导入下面的SQL,否则Zabbix-Proxy 无法正常工作。
  source /usr/share/doc/zabbix-server-mysql-X.X.X/create/images.sql;
  source /usr/share/doc/zabbix-server-mysql-X.X.X/create/data.sql;
  show tables;
  配置zabbix_server.conf:
  mv  /etc/zabbix/zabbix_server.conf  /etc/zabbix/zabbix_server.conf.old                          (备份原配置文件)
  vi /etc/zabbix/zabbix_server.conf
  LogFile=/var/log/zabbix/zabbix_server.log
  LogFileSize=0
  PidFile=/var/run/zabbix/zabbix_server.pid
  DBHost=localhost                    #可修改
                                DBName=zabbix                       #默认
                                DBUser=zabbix                       #默认
                                DBPassword=zabbix                   #需修改
  DBSocket=/var/lib/mysql/mysql.sock  #默认
  DBPort=3306                         #默认
  StartPollers=5
  StartIPMIPollers=10
  StartPollersUnreachable=10
  StartTrappers=10
  StartPingers=10
  StartDiscoverers=10
  VMwareFrequency=60
  VMwareCacheSize=8M
  SNMPTrapperFile=/var/log/snmptt/snmptt.log
  ListenIP=127.0.0.1
  MaxHousekeeperDelete=500
   CacheSize=256M
  StartDBSyncers=40
  HistoryCacheSize=128M
  TrendCacheSize=128M
  HistoryTextCacheSize=128M
  ValueCacheSize=128M
  Timeout=30
  TrapperTimeout=300
  UnreachablePeriod=45
  UnavailableDelay=60
  UnreachableDelay=15
  AlertScriptsPath=/etc/zabbix/alertscripts
  ExternalScripts=/etc/zabbix/externalscripts
  FpingLocation=/usr/sbin/fping
  LogSlowQueries=10000
  StartProxyPollers=50
  ProxyConfigFrequency=3600
###和上面zabbix配置文件数据一样:
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
StartPollers=5
StartIPMIPollers=10
StartPollersUnreachable=10
StartTrappers=10
StartPingers=10
StartDiscoverers=10
VMwareFrequency=60
VMwareCacheSize=8M
SNMPTrapperFile=/var/log/snmptt/snmptt.log
ListenIP=127.0.0.1
MaxHousekeeperDelete=500
CacheSize=256M
StartDBSyncers=40
HistoryCacheSize=128M
TrendCacheSize=128M
HistoryTextCacheSize=128M
ValueCacheSize=128M
Timeout=30
TrapperTimeout=300
UnreachablePeriod=45
UnavailableDelay=60
UnreachableDelay=15
AlertScriptsPath=/etc/zabbix/alertscripts
ExternalScripts=/etc/zabbix/externalscripts
FpingLocation=/usr/sbin/fping
LogSlowQueries=10000
StartProxyPollers=50
ProxyConfigFrequency=3600  注意:只需关注红色字部分,这部分为性能参数,需根据实际情况进行调整。默认只需修改DBPassword=zabbix即可
  mkdir -p  /etc/zabbix/{alertscripts,externalscripts}  (创建两个脚本目录,邮件报警和短信报警的脚本都放在这个目录里)
  service zabbix-server start           (启动zabbix server)
  service httpd start
  chkconfig zabbix-server on
  chkconfig httpd on
  防火墙,Selinux和权限的设置:
  iptables -P INPUT ACCEPT          注意顺序,设置INPUT链默认为全接受)
  iptables -F
  chkconfig iptables on
  iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT                                                         (很重要,确保可以连接外网)
  iptables -A INPUT -p tcp --dport 22 -j ACCEPT  (非常重要,确保可以远程登录)
  iptables -P INPUT DROP            (设置INPUT链默认为全拒绝)
  iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
  iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
  iptables -A OUTPUT -p tcp --dport 10050 -j ACCEPT
  /etc/init.d/iptables save
  /etc/init.d/iptables status
  注意:10050是Agent的端口,Agent采用被动方式,Server主动连接Agent的10050端口;10051是Server的端口,Agent采用主动或Trapper方式,会连接Server的10051端口
  selinux:直接关闭

  php.ini配置文件的设置:
  vim /etc/php.ini              (注意下面,这个文件不用)
  date.timezone = Asia/Shanghai
  max_execution_time = 300
  post_max_size = 16M
  max_input_time=300
  memory_limit = 128M
  mbstring.func_overload = 2
  注意:在LAMP环境中,可以按上述方式配置PHP的参数,比修改php.ini 更方便。而在Zabbix的官方RPM中,这一步已经配置过了,所以无须修改。如:
  vim /etc/httpd/conf.d/zabbix.conf
  
  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
  php_value date.timezone Asia/Shanghai
  php_value max_execution_time 300
  php_value post_max_size 16M
  php_value max_input_time 300
  php_value memory_limit 128M
  php_value upload_max_filesize 2M
  
  service httpd restart          (重启httpd即可)
   注意:如果在后面配置Web时提示任何参数不满足安装配置要求,修改/etc/php.ini文件里对应的参数后重启Httpd即可
  配置web界面:

  打开浏览器,输入“http://IP地址/zabbix”
  可能会有如下报错:

  解决办法:
  vi /etc/php.ini
  找到date.timezone参数
  添加一行
  date.timezone = Asia/Shanghai
  /etc/init.d/httpd  restart                 (OK)
  

  刷新后如下图:

  点击next下一步后,出现如图:

  根据上图所示,填写各参数的值

  

  

  点击Test connection,无错误后,点击next下一步,出现如下图:


  如上图:填写相应的值

   注意:name参数的值的含义:zabbix在web界面的名称,如下图:

  

  

  点击next--->next---->finish完成,如下图:


  

  

  点击finish后,出现登录界面,如下图:

  默认的账号是:admin,密码是zabbix
  

  

  登录后进入zabbix,如下图:

  

  

  注意:登录后,可能会出现如下图所示的错误:

  解决方法:由上图画圈中发现,localhost的10051端口可能有问题,用telnet进行测试,如下:

  由上图发现localhost的10051端口是不通的,而127.0.0.1的10051是通的,修改配置文件zabbix.conf.php
  [root@scj ~]# find / -name zabbix.conf.php
  /etc/zabbix/web/zabbix.conf.php       (找到文件路径)
  vi /etc/zabbix/web/zabbix.conf.php
  找到下面几行:

  将localhost改为127.0.0.1
  /etc/init.d/httpd restart           (重启httpd)
  

  

   注意:刚安装完zabbix后,web界面默认会有installation选项,重新安装zabbix的web界面,如下图:

  为了安全我们需要将其去掉,方法如下:
  [root@scj ~]# find / -name menu.inc.php
  /usr/share/zabbix/include/menu.inc.php   (找到文件位置)
  vi /usr/share/zabbix/include/menu.inc.php
  找到Installation,如下图:

  将其注释掉,如下图:

  /etc/init.d/httpd restart           (重启httpd)
  刷新下浏览器,发现没了,如下图:


  

  

  将web界面的英文改为中文:
  对于初学者或者英语水平不是很好的运维人员来说,英文界面可能不是很好,那如何将英文界面改为中文界面呢?方法如下:
  1、 在web界面的右上角有个profile选项,如下图:

  2、 点击profile,进入如下图所示:

  3、 选择Chinese,点击save保存即可

   注意:对于zabbix-2.2版本来说,默认没有Chinese这个选项 (被隐藏了),解决方法如下:
  [root@scj ~]# find / -name locales.inc.php
  /usr/share/zabbix/include/locales.inc.php   (找到文件路径)
  vi /usr/share/zabbix/include/locales.inc.php
  找到zh_CN,如下图:                                   

                                       将false改为true即可

                                  /etc/init.d/httpd restart           (重启httpd)
                                       如下图:
  

  

  

  解决中文乱码:

  参考:http://blog.chinaunix.net/uid-11121450-id-3296646.html
  

  

  

  

  

  

  客户端配置:
  注意:Zabbix可以采用Agent/Server的架构,客户端的采集方式分为Agent、SNMP等,这里采用Agent方式对客户端服务器进行监控采集数据(推荐)
  Zabbix-Agent客户端的安装 :
  这里依然采用RPM方式安装(安装Zabbix官方的yum源)
  rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
  yum -y install zabbix zabbix-agent
  防火墙的设置:
  iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
  iptables -A OUTPUT -p tcp --dport 10050 -j ACCEPT
  selinux:直接关闭
  配置zabbix_agentd.conf:
  mv  /etc/zabbix/zabbix_agentd.conf   /etc/zabbix/zabbix_agentd.conf.old                          (备份下原配置文件)
  vi /etc/zabbix/zabbix_agentd.conf
  PidFile=/var/run/zabbix/zabbix_agentd.pid
  LogFile=/var/log/zabbix/zabbix_agentd.log
  LogFileSize=0
  Server=127.0.0.1,192.168.186.130       #被动模式
  ServerActive=192.168.186.130:10051     #主动模式
  Hostname=Zabbix server
  Include=/etc/zabbix/zabbix_agentd.d/
  UnsafeUserParameters=1
###和上面zabbix客户端配置文件数据一样
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,192.168.186.130
ServerActive=192.168.186.130:10051
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/
UnsafeUserParameters=1  注意:获取数据的方式分为主动模式(ServerActive)和被动模式(Server),(主动,被动是以agent为中心的),如上:server端ip是192.168.186.130,agent端ip是192.168.186.128;主动模式是指:agent端会主动把数据推送给server端,因此要指定server端ip和监听端口;被动模式是指:agent端搜集本机相应数据,server端会到agent端获取agent端搜集的数据,所以要指定server端ip(允许哪台机器能连接agent端)
  chkconfig zabbix-agent on             (启动zabbix agent)
  service zabbix-agent start   

  配置SNMP监控方式:
  注意:因为我们上面已经采用了agent方式监控采集数据,所以snmp这步不需要安装,忽略即可
  yum -y install net-snmp
  mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.old
  vi /etc/snmp/snmpd.conf
  com2sec mynetwork 192.168.186.130 public_monitor
  com2sec mynetwork 127.0.0.1 public
  group MyROGroup v2c mynetwork
  access MyROGroup "" any noauth prefix all none none
  view all included .1 80
  chkconfig snmpd on                     (启动snmpd)
  service snmpd restart
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  





运维网声明 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-664410-1-1.html 上篇帖子: zabbix报表统计 下篇帖子: 安装zabbix报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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