搭建zabbix 4.0
1 [root@localhost /]# sed ‐i "s#SELINUX=enforcing#SELINUX=disabled#g"
2 /etc/selinux/config #永久关闭 重启生效
3 [root@localhost /]# setenforce 0 #临时关闭
安装数据库,老版本删除 需要5.6版本以上
rpm ‐ivh http://dev.mysql.com/get/mysql‐community‐release‐el6‐5.noarch.rpm
yum ‐y install mysql‐server
yum list installed | grep mysql
修改数据库的配置文件,以及重启
[root@localhost /]# vim /etc/my.cnf innodb_file_per_table=1
#独立表空间开启 0是关闭(每一个表都将会生成以独立的文件方式来进行存储,每一个表都有一个.frm表描述文件,还有一个.ibd文件。 其中这个文件包括了单独一个表的数据内容以及索引内容,默认情况下它的存储位置也是在表的位置之中。)
[root@localhost /]# /etc/init.d/mysqld start
1 [root@localhost /]# mysql #第一次登录mysql数据库,建议进去更改root的密码 2 mysql> use mysql; 3 mysql> update user set password='newpasswd' where user='root'; 4 重进mysql 5 #创建zabbix库,指定字符集 6 mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; 7 Query OK, 1 row affected (0.06 sec) 8 #创建zabbix用户密码:zabbix 授权拥有访问zabbix库的所有权限 9 mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix'; 10 Query OK, 0 rows affected (0.02 sec) 11 mysql> flush privileges; #刷新权限表 12 mysql> show databases; #查看是否创建成功
Zabbix 需要PHP是至少5.4或更高版本。我们的CentOS 6.5库跟php 5.3.3因此我们需要安装一个新的
[root@localhost /]# rpm ivh http://repo.webtatic.com/yum/el6/latest.rpm yum y install httpd php56w php56wgd php56wmysql php56wbcmath php56wmbstring php56wxml php56wldap #安装所需要的包 vim /etc/php.ini #配置php的各项配置 post_max_size = 16M #允许php接收最大的数据 max_execution_time = 300 #最大执行时间 秒为单位 max_input_time = 300 #允许输出最长时间 秒为单位 always_populate_raw_post_data = 1
1 vim /etc/httpd/conf/httpd.conf 2 ServerName 127.0.0.1 3 DirectoryIndex index.html index.html.var index.php 4 启动httpd服务 5 /etc/init.d/httpd start
创建zabbix用户和组
1 [root@localhost /]# groupadd zabbix 2 [root@localhost /]# useradd ‐g zabbix zabbix
安装zabbix的依赖包
yum ‐y install gcc mysql‐community‐devel libxml2‐devel unixODBC‐devel net‐snmp‐devel libcurl‐devel libssh2‐devel OpenIPMI‐devel openssl‐devel ope nldap‐devel
下载zabbix源码包
1 wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stab le/4.0.1/zabbix‐4.0.1.tar.gz 2 tar ‐zxvf zabbix‐4.0.1.tar.gz #解压包,解压到哪个地方 看个人的习惯 3 cd zabbix‐4.0.1/database/mysql/ #这个是zabbix自带的数据库的表数据,需要导入数 据库,路径在zabbix解压文件里的databases/mysql里 4 ls 5 data.sql images.sql schema.sqlwget #这三个就是要导入数据库的数据
数据库导入数据的命令格式:mysql u用户名 p密码 数据库名称 < 要导入的数据
#此时的路径是在databases/mysql里,所以<后面直接跟schema.sql这个就行了,如果不在,就需要加需要导入数据的路径
延伸知识:mysqldump u用户 p密码 数据库名 > 某路径下的某个文件 # 这个是数据库备份的
mysql ‐uzabbix ‐p zabbix < schema.sql mysql ‐uzabbix ‐p zabbix < images.sql mysql ‐uzabbix ‐p zabbix < data.sql
安装zabbix
1 cd /zabbix‐4.0.1 2 ./configure ‐‐enable‐server ‐‐enable‐agent ‐‐with‐mysql ‐‐enable‐ipv6 ‐‐with‐net‐snmp ‐‐with‐libcurl ‐‐with‐libxml2 ‐‐ with‐unixodbc ‐‐with‐ssh2 ‐‐with‐openipmi ‐‐with‐openssl ‐‐prefix=/usr/loca l/zabbix 3 make install 4 echo $?
修改配置文件:
vim /etc/zabbix/zabbix_server.conf
1 DBHost=localhost # 数据库ip地址 2 DBName=zabbix #数据库名字 3 DBUser=zabbix #数据库用户 4 DBPassword=zabbix #数据库密码 5 ListenIP=192.168.*.* #zabbix server ip地址
创建存放zabbix php访问目录,把zabbix的php放到zabbix访问路径下
1 mkdir /var/www/html/zabbix 2 cd /zabbix‐4.0.1/frontends/php/ 3 cp ‐rf * /var/www/html/zabbix/ 4 chown ‐R apache:apache /var/www/html/zabbix #用户授权 5 chmod +x /var/www/html/zabbix/conf/ #添加执行权限
启动脚本添加到/etc/init.d/下
cp /zabbix‐4.0.1/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix _server
cp /zabbix‐4.0.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix _agentd
添加服务开机自启
1 [root@localhost php]# chkconfig ‐‐add /etc/init.d/zabbix_server 2 [root@localhost php]# chkconfig ‐‐add /etc/init.d/zabbix_agentd 3 [root@localhost php]# chkconfig httpd on 4 [root@localhost php]# chkconfig mysqld on 5 [root@localhost php]# chkconfig zabbix_server on 6 [root@localhost php]# chkconfig zabbix_agentd on
启动zabbix_server
1 [root@localhost php]# /etc/init.d/zabbix_server start
重启失败报错总结
1.如果是546错误:百度上说是更改启动路径
vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix #更改下路径
此方法我试着是不行,我解决的思路是问题出在启动服务方式上,就把zabbix重新编译下,重新cp了zabbix启动脚本到/etc/init.d 下,这样试了下发现也是可行的,重启成功
2.如果是1045的错误,多半就是数据没有给zabbix这个用户权限,到数据库里授权下
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbi x'; flush privileges;
3.zabbix web页面报错连接不上数据
解决思路:查看日志,发现错误日志大概是在zabbix里找不到相关的表
把zabbix的数据重新导入数据库,或者删除数据库,从新创建数据库,重新导入数据
- 但行好事,
莫问前程 -