一、安装mysql
(当然也可以用mariaDB,在这我安装的是mysql,由于Centos从7开始默认的数据库安装包为mariaDB,所以通过yum 安装mysql会出现问题,所以通过以下方式安装)
输入命令:
yum update
输入y回车
完成
输入:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
输入:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
再次执行
yum update
完成
输入:
yum install mysql-server
输入y回车 这次时间比较长
完成
开启mysql服务
输入
systemctl start mysqld
输入:
mysql_secure_installation
要求输入密码,第一次进入密码为空,直接回车即可
询问是否设置密码 输入 Y 然后输入两次密码 (密码要记住 这是mysql的密码,一会要用到)
然后会有几项选择 依次选 n n n Y 最后一个为Y
登录mysql 输入:
mysql -u root -p
输入密码(即刚才设置的mysql密码)
成功登录即可 标志安装成功
二、安装php
输入
yum install php
安装php-fpm
输入
yum install php-fpm
完成
安装已完成 开启服务
三、安装apache
yum install httpd
systemctl httpd.service start
chkconfig httpd on
四、安装zabbix
Zabbix的一个很优秀的分布式监控服务器, 它有两部分组成:
1. “zabbix-server”用来收集并且在web端展示数据
2. “zabbix-agent”用来采集数据,发送给server
在安装Zabbix时,用了3台虚拟机来测试监控的数据是否正常采集、展示:
Client和Server在同一台电脑:
ZabbixServer — IP : 182.254.229.119
1、 关闭防火墙
/etc/init.d/iptables stopiptables
chkconfig iptables off
2. 安装Zabbix下载源
zabbix官方提供了下载源,直接执行下载安装
# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-0-1.el6.noarch.rpm
3. ZabbixClient — 安装zabbix-agent代理
(在官网下载)
yum install zabbix-agent
进入zabbix-agent的Config文件
vim /etc/zabbix/zabbix_agentd.conf
配置zabbix-agent的参数,主要修改Server的IP和Hostname,
Server=192.168.246.133Hostname=localhost
启动zabbix-agent
/etc/init.d/zabbix-agent start
4. ZabbixServer — 安装zabbix-server服务
yum install zabbix-server-mysql zabbix-web-mysql zabbix-get
在下载这两个包的时候,会提示你安装基础依赖包,其中这些基础包中,还有zabbix-server的服务端的包,选择“y”继续即可。
5. ZabbixServer — 配置zabbix-server的数据库
启动mysql,如果没有mysql,则需要去安装mysql
/etc/init.d/mysqld start service mysql start
创建初始数据库
通过以下命令在MySQL上创建Zabbix数据库和用户,其中将使用实际的root密码(例如shell> mysql -uroot -p12345)和替换数据库上zabbix用户的新密码(包括撇号:)…identified by ‘67890’;:
shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘’;
mysql> quit;
在mysql中,查看刚刚创建的zabbix是否创建成功,如下图数据库中,有zabbix代表已经创建成功
mysql> show databases;
zabbix
授权mysql远程连接
mysql> GRANT ALL PRIVILEGES ON . TO ‘zabbix’@’%’ IDENTIFIED BY ‘zabbix’ WITH GRANT OPTION;
导入数据库模板
用rpm包安装的,现在导入初始模式和数据。确保插入正确的版本3.2.*。系统将提示您输入新创建的密码。
#zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p zabbix
在源码安装的时候,接下要执行zabbix官方提供是sql语句
cd /usr/share/doc/zabbix-server-mysql-3.2.0/create/
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql
!!!# 在server1上测试连接
mysql -uzabbix -p -h ip
6. ZabbixServer — 配置zabbix-server的服务参数
配置在以下路径里面 :
vim /etc/zabbix/zabbix_server.conf
如果没有特殊需要的话,使用默认配置就可以了,我的mysql账户是root,所以需要修改
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=
修改zabbix的时区
vim /etc/httpd/conf.d/zabbix.conf
修改以下字段
php_value date.timezone Asia/Shanghai
修改zabbix的php的时区
vim /etc/php.ini
修改以下字段
date.timezone = Asia/Shanghai
启动Zabbix服务,已经启动httpd:
/etc/init.d/zabbix-serve restart
/etc/init.d/httpd start
7. 使用zabbix-get
安装好zabbix-agent和zabbix-server。在Server端试试能不能收到agent端的数据,可以使用zabbix-get。
可以使用zabbix_get -help命令来查看该命令怎么使用
[root@localhost create]# zabbix_get -help
测试是否能收到数据,使用以下命令,发现是可以收到的。
// 测试是否可以收到系统的信息
zabbix_get-s 192.168.246.134-p 10050 -k “system.uname”
Linuxlocalhost.localdomain 2.6.32-573.el6.x86_64#1SMPThuJul 23 15:44:03UTC 2015 x86_64
// 测试是否可以收到CPU的数据
zabbix_get-s 192.168.246.134-p 10050 -k “system.cpu.load” 0.020000
8. 登录Zabbix的Web端
在Server端,启动Zabbix服务,已经启动httpd:
/etc/init.d/zabbix-serverstart
/etc/init.d/httpd start
登录Zabbix的Web客户端,输入“http://182.254.229.119/zabbix/index.php”,默认会跳转至Zabbix的setup引导页面:
全部检测通过
点击Test connection,否则无法点击Next, 测试连接成功后,点击Next
设置端口,可以直接使用默认设置的端口10051
点击Finish,完成初始化引导
输入默认的账号密码,账号:Admin, 密码zabbix
9. 在Web配置zabbix监控agent
点击下图的Create host
按下图配置,注意要输入agent的IP和端口,端口默认是10050
点击select,选择Linux OS和zabbix Server的模板,点击Select->Add->Add,如下图
添加了以后就已经自动启动了,可以点击Graphs,查看是否有数据过来
点击CPU jumps
点击preview
就可以看到agent那边有数据传过来了
web页面一直没有图像传过来
去服务器查看,zabbix-server和zabbix-agent的服务端口都开着,这是在/usr/share/zabbix/conf/zabbix.conf.php.example
里面的 $ZBX_SERVER_PORT = ‘10051’;这一项是零,导致没有权限
在web界面上客户端主机红色Z一直显示
Received empty response from Zabbix Agent at [agent]. Assuming that agent dropped connection because
注意:解决前提agent的版本一定要和服务器版本的是一致的
解决方法:
更改server上zabix_agentd.conf配置文件
更改server的127.0.0.1为server的ip地址
一.问题描述
重装完一台服务器的OS。部署完Zabbix agent之后,Server无法获取到数据。报错。报错信息如下:
Get value from agent failed: cannot connect to [[192.168.1.107]:10050]: [4] [Interrupted system call]
二.问题分析
服务端ping 192.168.1.107没问题。说明机器没问题。
服务端 telnet 192.168.1.107 10050 报错。
./zabbix_get -s 192.168.1.4 -p 10050 -k “system.cpu.load[all,avg1]” 获取不到数据
agent 上去查看 zabbix agentd 进程正常运行。
由此判断,防火墙有问题。
三.问题解决
关闭防火墙
在web界面有字符不能显示的问题
/usr/share/zabbix/include
vi defines.inc.php
修改第93行
define(‘ZBX_FONT_NAME’,’msyh’);
修改第45行改为
define(‘ZBX_GRAPH_FONT_NAME’,’msyh’)
然后下载微软雅黑字体,改名为msyh.ttf传入 /usr/share/zabbix/fonts目录下即可