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

[经验分享] zabbix 搭建

[复制链接]

尚未签到

发表于 2019-1-21 13:30:00 | 显示全部楼层 |阅读模式
  zabbix 的单个Server节点可以支持上万台设备,每秒可以处理1.5万次请求,理论上可以支持5万台设备.
  zabbix 的使用可以分为三类用户:入门用户(熟悉Zabbix的安装跟配置),中级用户(熟悉LAMP和LNMP环境搭建,Mysql数据库,Shell脚本,主要难点在于触发器,数据库调优和API的使用),高级用户(熟悉PHP,C等一门脚本语言,具备二次开发能力,能修改源码,对Zabbix 从代码级别进行优化和扩展).
  第一种:yum安装
  zabbix-Server:
  1.安装zabbix server : yum install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent
  2.安装mysql server : yum -y install mysql-server
  3.配置mysql 配置文件:
  vim /etc/my.cnf
  [mysqld]
  datadir=/data01/mysql
  socket=/data01/mysql/mysql.sock
  user=mysql
  symbolic-links=0
  character-set-server=utf8
  default-storage-engine=INNODB
  innodb_file_per_table=1
  max_connections=1024
  [mysqld_safe]
  log-error=/var/log/mysql/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
  4.启动服务
  chkconfig mysqld on
  service mysqld start
  5.创建zabbix 数据库
  mysqladmin -uroot password admin
  mysql -uroot -padmin -e "create database zabbix character set utf8;"
  mysql -uroot -padmin -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
  mysql -uroot -padmin -e "flush privileges;"
   注:此处数据库的字符集必须为utf8,不然中文显示web界面会出现乱码
  6.导入zabbix-server 的数据库(创建zabbix 用户)
  mysql -uzabbix -pzabbix zabbix < /usr/share/doc/zabbix-server-mysql-X.X.X/create/schema.sql;
  如果安装zabbix-proxy,下面的sql 不用导入
  mysql -uzabbix -pzabbix zabbix < /usr/share/doc/zabbix-server-mysql-X.X.X/create/images.sql;
  mysql -uzabbix -pzabbix zabbix < /usr/share/doc/zabbix-server-mysql-X.X.X/create/data.sql;
  7.配置 zabbix_server.conf
  DBHost=localhost
  DBName=zabbix
  DBUser=zabbix
  DBPassword=zabbix
  StartPollers=5
  CacheSize=256M
  创建scripts 脚本路径:mkdir /etc/zabbix/alertscripts /etc/zabbix/externalscripts
  8.启动zabbix-server 服务
  service zabbix-server start
  service httpd start
  添加开机启动
  chkconfig zabbix-server on
  chkconfig httpd on
  9.防火墙,SELinux 和权限的设置
  1). vim /etc/sysconfig/iptables
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
  -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
  service iptables restart
  2).seLinux 设置
  chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
  setsebool -P httpd_can_network_connect=true
  semanage port -a -t http_port_t -p tcp 10051
  或者关闭seLinux
  setenforce 0 (立即生效)或者
  vim /etc/selinux/config   SELINUX=disabled(需要重启)
  3).php.ini 配置文件的设置
  vim /etc/php.ini
  配置完之后重启httpd
  10.配置 web 界面
  11.登录 默认账号 Admin , 密码 zabbix
  zabbix-Agent:
  1.安装zabbix agent : yum install -y zabbix zabbix-agent
  2.vim /etc/sysconfig/iptables
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
  -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
  service iptables restart
  3.配置 zabbix_agentd.conf
  Server=127.0.0.1,192.168.0.240  #被动模式,zabbix-server 的IP地址(可以发送给多台服务器)
  ServerActive=192.168.0.240:10051  #主动模式
  Hostname=Zabbix server
  设置开启启动
  chkconfig zabbix-agent on
  service zabbix-agent start
  第二种:源码安装
  zabbix-Server:
1、安装开发软件包
yum  -y groupinstall  "Development Tools"
2、安装所需的依赖包
  yum -y install httpd php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate  php-bcmath
  3、同步时间
       ntpdate -d cn.pool.ntp.org
  4、创建用户名跟用户组
       groupadd -g 201 zabbix
       useradd -g zabbix -u 201 -m zabbix
  5.创建zabbix 数据库
  mysqladmin -uroot password admin
  mysql -uroot -padmin -e "create database zabbix character set utf8;"
  mysql -uroot -padmin -e "grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"
  mysql -uroot -padmin -e "flush privileges;"
   注:此处数据库的字符集必须为utf8,不然中文显示web界面会出现乱码
  6.解压zabbix : tar zxf zabbix-2.2.2.tar.gz
  7.导入zabbix-server 的数据库(创建zabbix 用户)
  mysql -uzabbix -pzabbix zabbix < ./zabbix-2.2.2/database/mysql/schema.sql;
  如果安装zabbix-proxy,下面的sql 不用导入
  mysql -uzabbix -pzabbix zabbix < ./zabbix-2.2.2/database/mysql/images.sql;
  mysql -uzabbix -pzabbix zabbix < ./zabbix-2.2.2/database/mysql/data.sql;
  8.编译安装zabbix
  cd zabbix-2.2.2
       ./configure --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --enable-mbstring --with-net-snmp --with-libcurl --with-mysql --with-gd --enable-java
       make && make install
  9.复制启动脚本,修改执行权限
       cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
      cp misc/init.d/tru64/zabbix_server /etc/init.d/
       chmod +x /etc/init.d/zabbix_*
  10.拷贝zabbix 前端代码
       mkdir /var/www/html/zabbix
       cp -a  zabbix-2.2.2/frontends/php/* /var/www/html/zabbix/
       chown -R  apache.apache /var/www/html/zabbix/
  11. 配置php文件,适应zabbix安装所需的参数
      vim /etc/php.ini
       date.timezone = Asia/Shanghai
       max_execution_time = 300
       max_input_time = 300
       post_max_size = 32M
       memory_limit = 128M
       mbstring.func_overload = 2
  12. 配置apache文件,定义安装访问zabbix的虚拟主机
      vim /etc/httpd/conf/httpd.conf
     
       ServerName 127.0.0.1
       
            DocumentRoot  "/var/www/html"
            ServerName 192.168.239.130
       
  13. 配置zabbix server端的文件,定义数据库的IP、用户名、密码
       vim /etc/zabbix/zabbix_server.conf
  

       DBHost=127.0.0.1(192.168.32.83设置mysql用户的host值为%)
       DBName= zabbix
       DBUser=zabbixuser
       DBPassword=zabbixpass
  DBPort=3306
       StartPollers=30                        #开启多线程数,一般不要超过30
       StartTrappers=20                       #trapper线程数
       StartPingers=10                        #fping线程数
       StartDiscoverers=120            
       MaxHousekeeperDelete=5000      
       CacheSize=1024M                        #用来保存监控数据的缓存数,根据监控主机的数量适当调整
       StartDBSyncers=8                       #数据库同步时间
       HistoryCacheSize=1024M         
       TrendCacheSize=128M                    #总趋势缓存大小
       HistoryTextCacheSize=512M
       AlertScriptsPath=/etc/zabbix/alertscripts
       LogSlowQueries=1000
       Include=/etc/zabbix/zabbix_server.conf.d/

  14. ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
  15. 启动apache服务跟zabbix服务
        /etc/init.d/httpd start
        /etc/init.d/zabbix_server start
  16. http://192.168.32.83/zabbix/setup.php
  

  zabbix-Agent:
  1、安装开发软件包
  yum  -y groupinstall  "Development Tools"
  yum -y install ntpdate
  2、同步时间
       ntpdate -d cn.pool.ntp.org
  3、创建用户名跟用户组
       groupadd -g 201 zabbix
       useradd -g zabbix -u 201 -m zabbix
  4.tar zxf zabbix zabbix-2.2.2.tar.gz
  cd zabbix-2.2.2
  ./configure --sysconfdir=/etc/zabbix --enable-agent --enable-java
  make install
  5.复制启动脚本,修改执行权限
       cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
   chmod +x /etc/init.d/zabbix_*
  6. 配置agent端配置文件
  vim /etc/zabbix/zabbix_agentd.conf       #此处千万别写成了zabbix_agent.conf,否则配置了不生效
  

  Server=192.168.33.220                 #填写ServerIP地址
  ServerActive=192.168.33.220            #修改为ServerIP地址
  Hostname=Centos-03                      #填写本机的HostName,注意Server端要能解析
  UnsafeUserParameters=1                  #是否允许自定义的key,1为允许,0为不允许
  Include= /etc/zabbix/zabbix_agentd.conf.d/#自定义的agentd配置文件(key)可以在这里面写;
  7、启动zabbixagent
  /etc/init.d/zabbix_agentd start
  

  

  expect脚本
       同步文件:

            #!/usr/bin/expect
            set passwd 1234567
            set host [lindex $argv 0]
            set file "/root/shell/expect/buildzabbix_agent.sh"
            spawn scp $file root@$host:/root/
            expect {
               "yes/no" {
                       send "yes\r"
                       expect "password:" {send "$passwd\r"}
               }
               "password:" {send "$passwd\r"}
            }
            expect eof
       执行脚本:
            #!/usr/bin/expect
            set timeout -1
            set passwd "1234567"
            set host [lindex $argv 0]
            spawn ssh root@$host
            expect {
               "yes/no" {
                       send "yes\r"
                       expect "password:" {send "$passwd\r"}
               }
               "password:" {send "$passwd\r"}
            }
            expect "root#"
            send "sh /root/buildzabbix_agent.sh\r"
            expect "root#"
            send "exit\r"
  

  

  PS:Zabbix_Agent自动安装脚本
               yum -y groupinstall "Development Tools"
  yum -y install ntpdate
  ntpdate -d cn.pool.ntp.org
  groupadd  -g 201 zabbix
  useradd -g zabbix -u 201 -m zabbix
  cd /usr/src
  ftp -n/etc/zabbix/zabbix_agentd.conf
  sed -i "s/Server=127.0.0.1//" /etc/zabbix/zabbix_agentd.conf
  sed -i "s/ServerActive=127.0.0.1//" /etc/zabbix/zabbix_agentd.conf
  /etc/init.d/zabbix_agentd start
  





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

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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