首页 > 代码库 > Zabbix分布式监控系统的初步搭建

Zabbix分布式监控系统的初步搭建

昨天搞了整整一天,各种问题。搭建环境为LAMP,我天真的用LNMP去搭建,结果死活运行不起来zabbix的前台页面。

还有PHP的时区问题、mysql的连接问题。今天从开始安装,尽量整理重现碰到的所有问题,以及后续的解决办法

1.linux系统安装,用的是6.0minimal,安装过程就不写了。

2.环境搭建 LAMP

apache我直接使用的yum安装

yum -y install httpd

PHP同样也是yum 安装,也可以用源码。

yum安装

yum install php php-fpm php-gd php-bcmath php-ctype php-xml php-xmlreader php-xmlwriter php-session php-net-socket php-mbstring php-gettext php-mysqli


我这里采用的是mysql数据库,如果是别的数据,可以做相应更改,


ibm_db2
Required if IBM DB2 is used as Zabbix backend database.
mysqli
Required if MySQL is used as Zabbix backend database.
oci8
Required if Oracle is used as Zabbix backend database.
pgsql
Required if PostgreSQL is used as Zabbix backend database.
sqlite3
Required if SQLite is used as Zabbix backend database.



数据库我直接用的下载好的包

mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz       也可以yum安装,效果一样

创建mysql 用户和组

[root@localhost ~]# tar -zxvf mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz


[root@localhost mysql]# useradd -r -g mysql mysql

更改文件夹用户以及用户组

[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .


复制mysql配置文件

[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf

初始化数据库

[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql

添加数据库开机启动

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld


添加环境变量

vi /etc/profile

 最后面加上两句

PATH=$PATH:/usr/local/mysql/bin

export PATH


mysql 安装完成,启动成功。

[root@localhost mysql]# service mysqld start
Starting MySQL... SUCCESS!

创建zabbix数据库  创建zabbix 数据库用户

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.03 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;
Query OK, 0 rows affected (0.02 sec)

mysql> quit
Bye

问题汇总

[root@localhost create]# mysql -u root
-bash: mysql: command not found
[root@localhost create]#  ln -s /usr/local/mysql/bin/mysql /usr/bin


原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

到此,LAMP环境正式搭建完毕,接下来是zabbix服务端的安装。


3.Zabbix服务端安装


图省事的可以直接按照官方教程来安装,https://www.zabbix.com/documentation/2.2/manual/installation/install_from_packages 

但是我安装好以后,没发现有中文版,英文看着实在迷糊,所以安装一个有中文版的版本(2.2.2)。

[root@localhost create]# yum install zabbix-server-mysql*2.2 zabbix-web-mysql*2.2


安装完成后,进入/usr/share/doc/zabbix-server-mysql-2.2.2/create/   导入数据库

[root@localhost create]# cd /usr/share/doc/zabbix-server-mysql-2.2.2/create/

依次运行下列三条命令,导入数据库

[root@localhost create]# mysql -uroot zabbix < schema.sql
[root@localhost create]# mysql -uroot zabbix < images.sql
[root@localhost create]# mysql -uroot zabbix < data.sql


修改zabbix配置文件  

[root@localhost create]# vi /etc/zabbix/zabbix_server.conf


其中,修改以下字段


DBSocket=/tmp/mysql.sock   --------- 根据你真实mysql.sock修改

DBHost=localhost           --------- 一般不动

DBName=zabbix              --------- 刚才建立的zabbix数据库

DBUser=zabbix              --------- 数据库账号

DBPassword=zabbix          --------- 数据库密码


修改完成保存退出,然后启动zabbix服务。

[root@localhost create]# service zabbix-server start
Starting Zabbix server:                                    [  OK  ]

下面就可以直接访问 http://IP地址/zabbix   进行安装了


问题汇总

1.按照官方教程安装的,可以直接访问网页安装,但是按照我的方法安装的,貌似没有前台页面。

从官网下载RPM包,我对应版本是2.2.2    http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-web-2.2.2-1.el6.noarch.rpm

然后本地解压,得到两个文件夹


其中usr文件夹下的就是前台页面,etc文件夹下的是配置文件,复制到对应目录就可以访问了。

2. 访问不到的问题,首先看看apache是不是启动了,对应的还有php-fpm  mysql 服务,是否关掉了iptables防火墙,也可以添加规则开启。

3.  出现下面问题,是由于php.ini没有配置时区


编辑/etc/php.ini    date.timezone = PRC  重启服务。

4.数据库无法连接,这个问题困扰了我一天


首先,检查/var/lib/mysql/mysql.sock 存不存在,如果没有,做个软连接过去

[root@localhost conf]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock


如果还报错,可能是SELinux没关的原因,关掉重启就好,我就碰到这两种问题,其余的没碰到。

SELinux关闭方法:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

zabbix默认登陆账户 Admin  密码zabbix   


安装正式完成~~~!!!