1、构建实验环境
1.1、实验机的准备
- 实验机系统规划:
实验用虚拟机的安装请参见:
《VMware --- CentOS6.x 实验机安装配置的简单说明》
链接如下:
http://www.jianshu.com/p/624441bf5e48
本次实验使用的系统版本为:
CentOS release 6.8 (Final)
- 实验网络规划:
IP | 用途 |
---|---|
172.25.42.66 | Zabbix |
172.25.42.68 | MySQL |
1.2、软件环境的准备
- 安装依赖服务
本实验所用到的 MySQL 环境,安装方法请参见:
《Linux --- mysql 二进制安装的简单介绍》
1.3、获取 zabbix 的安装包
本文使用 YUM 方式来安装 zabbix,安装 zabbix 官方 YUM 方源
]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
2、zabbix 的安装
2.1、安装 zabbix server
因计划后端数据库使用 mysql,所以此处安装的都是基于 mysql 的 zabbix server 和 web 前端
]# yum install zabbix-server-mysql zabbix-web-mysql mysql -y
2.2、安装 zabbix agent
]# yum install zabbix-agent -y
3、zabbix 的配置
3.1、MySQL 的配置
连接数据库
]# mysql -h 172.25.42.68 -u root -p
Enter password:
创建 zabbix 数据库
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
| zabbix |
+--------------------+
4 rows in set (0.00 sec)
创建数据库管理员
mysql> create user zabbix identified by '******';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on zabbix.* to zabbix@'%' identified by '******';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
导入 zabbix-server 的数据库
]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create/
使用 zabbix 用户登录 zabbix 库后,执行导入:
]# mysql -h 172.25.42.68 -u zabbix -p zabbix
Enter password:
mysql> use zabbix;
mysql> source schema.sql;
mysql> source images.sql;
mysql> source data.sql;
3.2、配置 zabbix server
配置 zabbix-server 的数据库连接信息:
因为数据库用户及数据库名使用的是默认值,因此这边需要更改连接数据库主机的IP、密码,并注释掉 DBSocket。
]# cp -a /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.`date +%F@%T`.bak
]# vim /etc/zabbix/zabbix_server.conf
DBHost=172.25.42.68
DBPassword=******
# DBSocket=/var/lib/mysql/mysql.sock
CacheSize=1024M
配置项的简单说明:
- CacheSize:存储 host、item、trigger 数据的共享内存大小。默认值为 8M,稍微有点量就会导致报错,后面还会介绍怎么来调整个这值,这边先将他调整为 1024M
注:
如果你使用的不是默认值,请根据实际情况进行更改
为 zabbix 前端编辑 PHP 配置文件,取消 date.timezone 的注释,并根据实际时区更改该值
]# vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
3.3、配置 apache
]# cp -a /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.`date +%F@%T`.bak
]# vim /etc/httpd/conf/httpd.conf
... 以上省略 ...
#ServerName www.example.com:80
ServerName localhost:80
... 以下省略 ...
3.4、配置 zabbix agent
配置 agent,指定 server 端地址
]# cp -a /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.`date +%F`.bak
]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.42.66
ServerActive=172.25.42.66
Hostname=此处的主机名,必须要与 hostname 命令的输出一致
注:
- Server:被动模式,agent 等待 server 端来获取数据。
- ServerActive:主动模式,agent 主动向 server 端汇报数据。
4、启动与验证
4.1、启动 zabbix-server 并验证
启动 zabbix-server
]# service zabbix-server start
]# chkconfig zabbix-server on
]# service httpd start
]# chkconfig httpd on
检查启动状态
检查 zabbix-server 端口监听,服务端的默认端口是 10051
]# netstat -nlptu |grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 25381/zabbix_server
tcp 0 0 :::10051 :::* LISTEN 25381/zabbix_server
4.2、启动 zabbix-agent 并验证
启动agent,并设为开机启动
]# /etc/init.d/zabbix-agent start
]# chkconfig zabbix-agent on
检查 agent 的端口启动情况,agent 的默认端口是 10050
]# netstat -nlptu |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 26943/zabbix_agentd
tcp 0 0 :::10050 :::* LISTEN 26943/zabbix_agentd
注:
zabbix 还需进行一次前端页面的配置,才能正常使用,请参见《zabbix --- 前端配置的简单说明》
附A:Zabbix-Get 的使用
用来从 Server 端到 agent 端获取数据,通常用来检测 agent 的配置是否正确
安装:
在 server 端执行
]# yum install zabbix-get -y
测试
]# zabbix_get -s 127.0.0.1 -p 10050 -k system.uname
Linux test-135-46 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64
]# zabbix_get -s 192.168.135.46 -p 10050 -I 127.0.0.1 -k system.uname
Linux test-135-46 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64
选项的简单说明:
- -s:远程 agent 的 IP 或主机名
- -p:远程 agent 的端口
- -I:当 server 主机有多个网卡时,用于指定来源 IP
- -k:指定想要从远程 agent 获取的数据 metric name