1、前言
公司需要监控当前服务器的状态,笔者决定尝试导入Zabbix,由于baidu找到的大多数文章比较烦乱,笔者决定直接先参阅原文,同时也锻炼一下英文的水平。
2、理论部分
zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
3、实践部分
3.1、环境
zabbixSer:
ipaddress=10.168.0.160
hostname=zabbix
clientSer:
ipaddress=10.168.0.8
hostname=client
3.2、yum源的安装
In zabbixSer:
1
2
3
4
|
yum
install
-y mysql-server mysql-devel mysql
yum
install
-y http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/6/x86_64/zabbix-release-2
.4-1.el6.noarch.rpm
yum
install
-y zabbix-server-mysql zabbix-web-mysql zabbix-agent
yum
install
-y ntp
|
In clientSer:
1
2
|
yum
install
-y http:
//repo
.zabbix.com
/zabbix/2
.4
/rhel/6/x86_64/zabbix-release-2
.4-1.el6.noarch.rpm
yum
install
-y zabbix-agent
|
3.3、服务端配置
In zabbixSer:
3.3.1、step1
配置innodb引擎下表单独存储和字符集
vim编辑/etc/my.cnf
1
2
3
|
[mysqld]
character-
set
-server=utf8
innodb_file_per_table=1
|
启动数据库并设置默认启动
1
2
|
/etc/init
.d
/mysqld
start
chkconfig mysqld on
|
注:请使用“mysql_secure_installation”命令对数据库进行初始化
3.3.2、step2
1)登录并创建数据库zabbix
1
2
|
mysql -uroot -p
create database zabbix default charset utf8;
|
2)创建授权用户zabbix
1
2
|
grant all privileges on zabbix.* TO
'zabbix'
@
'localhost'
identified by
'zabbix'
;
flush privileges;
|
3.3.3、step3
导入数据表
1
2
3
4
|
cd
/usr/share/doc/zabbix-server-mysql-2
.4.7
/create/
mysql -uroot -p zabbix < schema.sql
mysql -uroot -p zabbix < images.sql
mysql -uroot -p zabbix < data.sql
|
3.3.4、step4
配置数据库连接文件
1
|
vim编辑
/etc/zabbix/zabbix_server
.conf
|
保证以下参数非注释状态并账号密码跟前面定义的一致:
1
2
3
4
|
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
|
3.3.5、step5
启动zabbix服务并设置开机启动
1
2
3
4
|
/etc/init
.d
/zabbix-server
start
/etc/init
.d
/zabbix-agent
start
chkconfig zabbix-server on
chkconfig zabbix-agent on
|
3.3.6、step6
1)调整系统时区修正系统时间
1
2
|
cp
/usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
ntpdate 0.centos.pool.ntp.org
|
2)调整zabbix参数
vim编辑/etc/httpd/conf.d/zabbix.conf
确认参数如下(最后一个时区参数是关键):
1
2
3
4
5
6
|
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)调整ServerName
vim编辑/etc/httpd/conf/httpd.conf
找到参数修改如下(根据自己的需求):
1
|
ServerName zabbix.cmdschool.org:80
|
3.3.7、step7
启动apache服务并设置开机默认启动
1
2
|
/etc/init
.d
/httpd
start
chkconfig httpd on
|
3.3.8、step8
防火墙配置
1)vim编辑/etc/sysconfig/iptables
增加如下行:
1
2
|
-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
|
2)重启防火墙
1
|
/etc/init
.d
/iptables
restart
|
3.3.9、step9
登录配置
如上图所示:
单击【Next】
页面显示如下:
如上图所示:
所有检测都“OK”状态,单击【Next】
如上图所示:
键入之前配置的数据库信息,单击【Next】
页面显示如下:
如上图所示:
保留默认,单击【Next】
如上图所示:
确认信息都正确,单击【Next】
页面显示如下:
如上图所示:
返回文件创建成功提示,单击【Finish】
如上图所示:
默认登录账号和密码:
username:admin
password:zabbix
键入以上信息并单击【Sign in】即可登录
3.3.10、step10
1)如果看到如下警告信息:
2)解决方法
关闭selinux
1)临时关闭
1
|
setenforce 0
|
2)永久关闭
vim编辑/etc/selinux/config
参数修改如下:
1
|
SELINUX=disabled
|
3.3.11、step11
网页界面汉化方法
1)windows系统下找到“楷体常规”的字体文件
2)上传字体到服务器的“/usr/share/zabbix/fonts/”目录
3)web页面下修改语言设置
如上图所示:
修改箭头指定部分语言单击【update】即可
3.4、增加客户端配置
In clientSer
3.4.1、step1
vim编辑/etc/zabbix/zabbix_agentd.conf
修改参数如下:
1
2
3
|
Server=10.168.0.160
ServerActive=10.168.0.160
Hostname=Client.cmdschool.org
|
3.4.2、step2
启动服务并设置默认开机启动
1
2
|
/etc/init
.d
/zabbix-agent
start
chkconfig zabbix-agent on
|
3.4.3、step3
开启被监控的端口
1
|
vim
/etc/sysconfig/iptables
|
增加如下规则
1
|
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
|
重启防火墙服务
1
|
/etc/init
.d
/iptables
restart
|
3.4.4、step4
关闭selinux
1)临时关闭
1
|
setenforce 0
|
2)永久关闭
vim编辑/etc/selinux/config
参数修改如下:
1
|
SELINUX=disabled
|
3.4.5、step5
In zabbixSer:
服务端新加入被监控的主机
如上图所示:
单击【Configuration】->【Hosts】->【Create host】
页面显示如下:
如上图所示:
填写圈红部分的参数,单击【Templates】
页面显示如下:
如上图所示:
“Link new templaes”内键入“linux”然后选中【Template OS Linux】
单击【Add】和另外一个【Add】即可