zhouu 发表于 2019-1-21 13:30:00

zabbix 搭建

  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
  
  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
  
  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 ntpdatephp-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 -azabbix-2.2.2/frontends/php/* /var/www/html/zabbix/
     chown -Rapache.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               #填写Server的IP地址
  ServerActive=192.168.33.220            #修改为Server的IP地址
  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
            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
            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]
查看完整版本: zabbix 搭建