CentOS 6.5 64位 安装zabbix-2.2.0

安装环境: VM 10 + CentOS-6.5-x86_64-minimal

虚拟机网络是NAT方式, 动态IP

Xshell登录到Centos操作

刚装的centos,啥都没有,先配一下yum

首先安装zabbix需要一定的环境,也就是常说的的LAMP或者LNMP

LAMP = Linux + Apache + MySQL + PHP

LNMP = Linux + Nginx + MySQL + PHP

当然数据库不一定要是MySQL, 但是毕竟MySQL和PHP是好机油嘛~

Zabbix-Server对时间的精准要求比较高, 时间对数据的计算等都有影响,因此最好设置ntp时间同步.

# yum install ntp

# /usr/sbin/ntpdate pool.ntp.org

有的安装是安装用Zabbix官方源和epel源安装的, 然后用yum来装zabbix, 但是这样不太好. 因为我连php的那个文件夹都没找到, 而源码中是有这个php文件夹的, 里面有很多的页面

安装所需的依赖包

# yum -y install httpd mysql mysql-server 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  php-bcmath

数据库配置并启动服务

# vim /etc/my.cnf

在symblic-links=0后面添加两句话

character-set-server=utf8        # 设置数据库的字符集为utf8
innodb_file_per_table=1          # 让innodb的每个表文件单独存储

配置好了之后启动服务

# chkconfig mysqld on

# service mysqld start

添加用户

# groupadd zabbix

# useradd zabbix –g zabbix

下载并解压zabbix-2.2.0

先用yum安装一个wget

# yum install wget

# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz

# tar zxvf zabbix-2.2.0.tar.gz

解压之后并不着急编译安装, 还是对数据库进行设置

创建zabbix的数据库

设置MySQL的root用户密码:

# mysqladmin –uroot password admin

# mysql –uroot –padmin

登录进去后创建数据库zabbix(这里是数据库名), 并对添加的zabbix赋予权限

mysql> create database zabbix character set utf8;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;

mysql> flush privileges;

导入zabbix解压文件中的数据库

以zabbix用户登录到MySQL中

# mysql –uzabbix –pzabbix

# use zabbix     //这里一定要选则zabbix, 否则报错No Database selected

mysql> source /root/zabbix-2.2.0/database/mysql/schema.sql;

mysql> source /root/zabbix-2.2.0/database/mysql/images.sql;

mysql> source /root/zabbix-2.2.0/database/mysql/data.sql;

以上脚本导入请务必按照顺序来, 否则谁试谁知道

编译安装zabbix

进入到zabbix的解压目录

# cd ~/zabbix-2.2.0

# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl

[root@centos zabbix-2.2.0]# --with-mysql --with-net-snmp --with-libcurl
-bash: --with-mysql: command not found

如果报上面的错就安装下面的依赖包

# yum install net-snmp-devel curl curl-devel mysql-devel

刚装的系统, 忘了安装gcc...

# yum install gcc

成功的configure之后会出现一下画面

***********************************************************
*            Now run 'make install'                                                                    *
*                                                                                                                   *
*            Thank you for using Zabbix!                                                           *
*              <http://www.zabbix.com>                                                           *
***********************************************************

# make install

添加服务对应的端口

# vim /etc/services

直接在文件末尾添加如下语句:

# Zabbix
zabbix-agent    10050/tcp                 # Zabbix Agent
zabbix-agent    10050/udp                # Zabbix Agent
zabbix-trapper  10051/tcp                 # Zabbix Trapper
zabbix-trapper  10051/udp               # Zabbix Trapper

修改zabbix配置

设置如下的属性:

# vim /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbix           #数据库名称

DBUser=zabbix            #数据库用户名

DBPassword=zabbix   #数据库密码

ListenIP=127.0.0.1      #数据库ip地址

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts   #zabbix运行脚本存放目录

# vim /usr/local/zabbix/etc/zabbix_agent.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

UnsafeUserParameters=1 #启用自定义key

添加开机启动脚本

# cp /root/zabbix-2.2.0/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server

# cp /root/zabbix-2.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd

# chmod +x /etc/rc.d/init.d/zabbix_server #添加脚本执行权限

# chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限

# chkconfig zabbix_server on #添加开机启动

# chkconfig zabbix_agentd on #添加开机启动

修改zabbix开机启动脚本中的zabbix安装目录

# vim /etc/rc.d/init.d/zabbix_server  #编辑服务端配置文件

BASEDIR=/usr/local/zabbix/           #zabbix安装目录

# vim /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件

BASEDIR=/usr/local/zabbix/           #zabbix安装目录

将zabbix的页面文件copy到指定目录

# mkdir /var/www/html/zabbix

在这里root用户下cp是别名

# vim ~/.bashrc

把下面的一句注释掉

alias cp='cp -i'

然后退出shell, 重新登录

# cp -rf  ~/zabbix-2.2.0/frontends/php/* /var/www/html/zabbix/

# cd /var/www/html/

# chown -R zabbix:zabbix zabbix

# vim /etc/php.ini

找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

post_max_size = 32M

配置apache文件,定义安装访问zabbix的虚拟主机

vim /etc/httpd/conf/httpd.conf

设置如下属性

DocumentRoot  "/var/www/html"

ServerName 192.168.239.130

启动apache

# service httpd start

启动zabbix服务

service zabbix_server start #启动zabbix服务端

service zabbix_agentd start #启动zabbix客户端

vim /etc/hosts

添加

192.168.140.133 centos.test.com localhost

验证一下

[root@centos ~]# wget 192.168.140.133/zabbix/setup.php
--2016-07-31 19:48:45--  http://192.168.140.133/zabbix/setup.php
Connecting to 192.168.140.133:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2060 (2.0K) [text/html]
Saving to: “setup.php”

100%[======================================>] 2,060       --.-K/s   in 0s

2016-07-31 19:48:45 (234 MB/s) - “setup.php” saved [2060/2060]

这里在虚拟机上可以访问我们的zabbix网页, 但是在虚拟机的宿主主机上却访问不了,

但是呢, 虚拟机和宿主主机和以相互ping通, 我判断是防火墙有问题

然后就是关闭防火墙, 据说一般工程上是不允许这样做的, 但是我们是实验嘛, 先把防火墙都关了, 一下是方法

永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

重新启动启动apache

# service httpd restart

在windows上也可以访问http://192.168.140.133/zabbix/setup.php

CentOS 6.5 64位 安装zabbix-2.2.0

接下来可以进行下面的设置了

CentOS 6.5 64位 安装zabbix-2.2.0

可以看到这里都是OK呢, 说明配置木有问题, 如果你配的不对的话,请自行检查问题, 嘻嘻

CentOS 6.5 64位 安装zabbix-2.2.0

这里的192.168.140.133是我自己配上去的, 原来是localhost, 这里大伙就不要改了, 就用localhost, 后面有坑

CentOS 6.5 64位 安装zabbix-2.2.0

我觉得是数据库没配好,

vim /usr/local/zabbix/etc/zabbix_server.conf

一看端口号还没指定了, 赶快给了一个3306

DBPort=3306

然后重启zabbix_server

# service zabbix_server restart

然后接着测试数据库,发现仍然连不上

难道是这里配错了?

CentOS 6.5 64位 安装zabbix-2.2.0

苦恼中, 后来心一横, 把原来配的ip改成localhost, 居然就成了

CentOS 6.5 64位 安装zabbix-2.2.0

我原本以为这个参数是要配为ip, localhost会指的是宿主的windows, 所以才改的ip, 我表示很纳闷

接着进行下一步

CentOS 6.5 64位 安装zabbix-2.2.0

然后next的时候又出错了

CentOS 6.5 64位 安装zabbix-2.2.0

出现Fail的原因是zabbix的配置文件没有,需要点击"Download configuration file", 将zabbix.conf.php下载到本地在上传到服务器的

/var/www/html/zabbix/conf/目录下,然后在web页面Retry即可

上传之前先安装一个工具:

# yum install lrzsz

这个传文件特别方便呢

# rz          // 打开windows的文件选择框

选中下载的zabbix.conf.php, 传到/var/html/zabbix/conf/目录下

# cp zabbix.conf.php /var/www/html/zabbix/conf/

然后就是重试, 然后就妥妥的OK了

如果因为手误,数据库密码或者用户名等的填写错了,后面会一直报错,我们可以手动的去编辑配置文件vim /var/www/html/zabbix/conf/zabbix.conf.php

手动定义相关的参数即可

CentOS 6.5 64位 安装zabbix-2.2.0

点击finish, 会跳转到登录页面了, 也就是本次安装成功了

CentOS 6.5 64位 安装zabbix-2.2.0

进入登录界面点击登录,默认用户名是admin, 密码是zabbix

CentOS 6.5 64位 安装zabbix-2.2.0

更改zabbix默认语言为简体中文、替换监控图像上系统默认的中文字体

1、修改系统配置文件,让web页面支持简体中文显示 

如果已经是下面这样的就不用改了

vi /usr/local/nginx/html/zabbix/include/locales.inc.php #编辑修改

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改为

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

CentOS 6.5 64位 安装zabbix-2.2.0

CentOS 6.5 64位 安装zabbix-2.2.0

CentOS 6.5 64位 安装zabbix-2.2.0

稀里糊涂的搞出来了, 真是虎头蛇尾

我在这里主要是zabbix_server

# vim /usr/local/zabbix/etc/zabbix_server.conf

只设置了

LogFile

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

刚刚其实我的想法是对的, 在验证数据库的时候, 确实还是应该数据虚拟机的ip, 但是为什么输入localhost就行我也不得而知

上一篇:we are happy 把空格换成 %20 剑指offer P44


下一篇:HTML中标签的正确使用