title: CentOS环境搭建zabbix2.2监控 date: 2015-09-09 10:48:06 tags: [Zabbix]

##zabbix server 更新:此版本为2.2版本,已更新3.0版本

配置yum源

1
2
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

install zabbix server

1
2
3
yum install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent	#这个装出来是1.8的版本。所以重来
#* 下面是2.2版本的安装包
yum install -y zabbix22 zabbix22-web-mysql zabbix22-server zabbix22-agent zabbix22-web zabbix22-dbfiles-mysql zabbix22-server-mysql

mysql config

1
yum install -y mysql-server

修改mysql配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
cp /etc/my.cnf /tmp
egrep -v "(^#|^$)" 	#cat /etc/my.cnf | grep -v ^# | grep -v ^$
#vi /etc/my.cnf
#参照P27[Zabbix企业级分布式监控系统](http://item.jd.com/11522142.html?cu=true&utm_source=baidu-search&utm_medium=cpc&utm_campaign=t_262767352_baidusearch&utm_term=12777330128_0_0757319b492245849616c53bac31a23e)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
innodb_file_per_table=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

启动mysql服务

1
2
3
4
yum install mysql-server -y
service mysqld start
ps -ef | grep mysql
netstat -nlput | grep 3306

mysql设置

1
2
3
4
5
mysqladmin -uroot password admin
mysql -uroot -padmin
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;

创建zabbix的数据库

  • zabbix连接数据:zabbix/zabbix

导入zabbix的数据库

进入数据库导入

mysql>use zabbix ###倒入sql一定按顺序一定

  • 必须多说两句,这个地方卡了我整整一天,报错贴图在最后 source /usr/share/zabbix-mysql/schema.sql source /usr/share/zabbix-mysql/images.sql source /usr/share/zabbix-mysql/data.sql

在数据库外导入

1
2
3
mysql -uzabbix -pzabbix zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uzabbix -p_zabbix_ zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uzabbix -p_zabbix_ zabbix < /usr/share/zabbix-mysql/data.sql

###配置zabbix_server.conf

  • 默认参数: egrep -v “(^#|^$)” /etc/zabbix/zabbix_server.conf
    1
    2
    3
    4
    5
    6
    7
    
    LogFile=/var/log/zabbix/zabbix_server.log
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix.pid
    DBName=zabbix
    DBUser=zabbix
    DBSocket=/var/lib/mysql/mysql.sock
    AlertScriptsPath=/var/lib/zabbix/
    
  • 修改后参数: 主要添加字段为:DBpassword=zabbix

iptables&Selinux设置

  • iptables设置(注意顺序)
1
2
3
4
5
6
7
-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
-A INPUT -m state --state NEW -m tcp -p tcp --sport 10050 -j ACCEPT
#* Selinux关闭
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce

启动zabbix服务&http服务

1
2
sudo /etc/init.d/zabbix-server start
sudo /etc/init.d/httpd start

zabbix agent

sofaware

1
2
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum install zabbix zabbix-agent

configure

iptables

1
2
-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

zabbix_agentd.conf

1
2
3
4
5
6
7
8
[root@localhost ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.138.133	#server IP
ServerActive=192.168.138.133	#server IP
Hostname=Centos-01.hostname
Include=/etc/zabbix/zabbix_agentd.d/

启动

1
[root@localhost ~]# /etc/init.d/zabbix-agent restart

zabbix添加主机

手动添加

看图

自动添加

##报错解决

timezone问题

php.ini配置文件设置

1
2
3
cp /etc/php.ini /tmp/
sudo vim /etc/php.ini
#添加字段:date.timezone = Asia/Shanghai

web参数不满足要求问题

1
2
cp /etc/httpd/conf.d/zabbix.conf /tmp/
sudo vim /etc/httpd/conf.d/zabbix.conf

修改其中字段为以下 <Directory “/usr/share/zabbix”> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all php_value date:timezone Asia/Shanghai php_value max_execution_time 300 php_value post_max_size 16M php_value max_input_time 300 php_value memory_limit 128M php_value upload_max_filesize 2M 然后重启httpd服务

默认登陆账号密码

账户:Admin 密码:zabbix

zabbix忘记密码,将旧密码修改为arvon

登陆部署机数据库,修改数据库中的密码,步骤如下:

1
2
3
4
5
6
7
echo -n arvon | openssl md5
(stdin)= 5c48aaaa95a1797ffb2dc32699b0c6c3
>mysql -uname -ppassword
>use zabbix;
>select * from users;
#先在外面生成的md5码该用了
>update users set  passwd='e2798af12a7a0f4f70b4d69efbc25f4d' where userid = '1';

报错贴图“table not exist”

epel源错误

修改文件“/etc/yum.repos.d/epel.repo”, 第一项epel,将baseurl的注释取消, mirrorlist注释掉。即可

zabbixserver web 报错“Zabbix discoverer processes more than 75% busy”

[参考](Zabbix discoverer processes more than 75% busy)

zabbix server is not running报错

错误如图 解决:仅限于我个人使用,打死都想不到密码写错了,zabbix_server.conf里面的密码加了两个单引号,真是作死呀,就是看不出来

参考文档: zabbix wike