zabbix服务端客户端部署
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部分组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
服务器端:
准备篇:
一、Web环境:Nginx+MySQL+PHP
CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
http://www.osyunwei.com/archives/7891.html
二、zabbix软件包下载
http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
上传zabbix-2.2.6.tar.gz到服务器/usr/local/src目录下面
安装篇
一、创建、导入zabbix数据库
cd /usr/local/src #进入软件包下载目录
tar zxvf zabbix-2.2.6.tar.gz #解压
cd /usr/local/src/zabbix-2.2.6/database/mysql #进入mysql数据库创建脚本目录
ls #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件
mysql -u root -p #输入密码,进入MySQL控制台
create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8
insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456')); #新建账户zabbix,密码123456
flush privileges; #刷新系统授权表
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456' with grant option; #允许账户zabbix能从本机连接到数据库zabbix
flush privileges; #再次刷新系统授权表
use zabbix #进入数据库
source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql #导入脚本文件到zabbix数据库
source /usr/local/src/zabbix-2.2.6/database/mysql/images.sql #导入脚本文件到zabbix数据库
source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql #导入脚本文件到zabbix数据库
注意:请按照以上顺序进行导入,否则会出错。
exit #退出
或者这样导入
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/images.sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/data.sql
cd /usr/lib64/mysql #32位系统为/usr/lib/mysql,注意系统版本同,文件版本可能不一样,这里是16.0.0
ln -s libmysqlclient.so.16.0.0 libmysqlclient.so #添加软连接
ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so #添加软连接
二、安装zabbix
1、添加用户:
groupadd zabbix #创建用户组zabbix
useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中
2、安装依赖包 #CentOS使用yum命令安装
yum install net-snmp-devel curl curl-devel mysql-devel
备注:以上软件包如果在安装Web环境LAMP或者LNMP时已经安装过,此步骤可忽略
3、安装zabbix
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #添加软连接
/sbin/ldconfig #使配置立即生效
cd /usr/local/src/zabbix-2.2.6 #进入安装目录
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置
make #编译
make install #安装
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接
说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel
4、添加zabbix服务对应的端口
vi /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
:wq! #保存退出
5、修改zabbix配置文件
cd /usr/local/zabbix/etc
vi /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户名
DBPassword=123456 #数据库密码
ListenIP=127.0.0.1 #数据库ip地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录
:wq! #保存退出
vi /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1 #启用自定义key
:wq! #保存退出
6、添加开机启动脚本
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端
cp /usr/local/src/zabbix-2.2.6/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 #添加开机启动
7、修改zabbix开机启动脚本中的zabbix安装目录
vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
:wq! #保存退出
vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
:wq! #保存退出
三、配置web站点
cd /usr/local/src/zabbix-2.2.6
cp -r /usr/local/src/zabbix-2.2.6/frontends/php /usr/local/nginx/html/zabbix
chown www.www -R /usr/local/nginx/html/zabbix
备注:/usr/local/nginx/html为Nginx默认站点目录 www为Nginx运行账户
service zabbix_server start #启动zabbix服务端
service zabbix_agentd start #启动zabbix客户端
四、修改php配置文件参数
1、vi /etc/php.ini #编辑修改
post_max_size =16M
max_execution_time =300
max_input_time =300
:wq! #保存退出
2、vi /usr/local/php/etc/php-fpm.conf #编辑修改
request_terminate_timeout = 300
:wq! #保存退出
service php-fpm reload #重启php-fpm
五、安装web
在浏览器中打开:
http://192.168.21.127/zabbix/setup.php
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
Next
检查系统环境设置,必须全部都为ok,才能继续
Next
配置MySQL数据库信息
Database:MySQL
Database host:127.0.0.1
Database port:use default port
Database name:zabbix
User:zabbix
Password:123456
Test connection #测试数据库连接是否正常,显示ok表示通过
Next
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
Next 默认
Next
Finish 安装完成
六、更改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),
:wq! #保存退出
2、替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码
在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如msyh.ttf
把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中
例如:/usr/local/nginx/html/zabbix/fonts
备份默认的字体文件:DejaVusSans.ttf-bak
修改msyh.ttf名称为DejaVusSans.ttf
3、在浏览器中打开:
http://192.168.21.127/zabbix
账号:admin
密码:zabbix
Sign in 登录
如下图所示
点击Profile
如下图所示
Language:Chinese(zh_CN) #简体中文
点Save 保存
退出站点,重新登录之后,如下图所示
默认界面已经是中文显示
至此,Zabbix安装图解教程完成。
客户端:
1) 创建用户
groupadd zabbix
useradd -g zabbix zabbix
2)zabbix软件包下载,安装http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
上传zabbix-2.2.6.tar.gz到服务器/usr/local/src目录下面
cd /usr/local/src #进入软件包下载目录
tar zxvf zabbix-2.2.6.tar.gz #解压
cd /usr/local/src/zabbix-2.2.6 #进入安装目录./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
3)添加服务端口和修改启动脚本
vi /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
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限
vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件
修改BASEDIR=/usr/local/zabbix/ #zabbix安装目录
chkconfig zabbix_agentd on #添加开机启动
4)修改zabbix_agent配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.1.22,192.168.1.21 #服务器端的IP及本机的IP
ServerActive=192.168.1.22,192.168.1.21
Hostname=single #agent主机名
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #扩展配置目录
5)启动
/etc/init.d/zabbix_agentd start
6)在防火墙上开启相应端口
vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
重启防火墙:
service iptables restart
7)测试
下面的命令需要在server端执行,其中192.168.1.21是agent的ip
#/usr/local/zabbix/bin/zabbix_get -s192.168.1.21 -p10050 -k"system.uptime"
1031163
说明成功啦。
8)监控该服务器
访问:http://192.168.1.22/zabbix/,192.168.1.22是zabbix server的IP.
组态—>主机->创建主机,
可以选择相应的模板,如:
Z如果是红色的话是不正常的,必须是绿色。