之前有搭建过cacti的应用,但是最近cacti总是出现错误的报警提示,感觉监控不是很严密,对此想使用另外一个监控应用zabbix来作为比较使用。
下面是简要的安装步骤
测试系统环境 # uname -a Linux localhost.localdomain 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 23:51:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/redhat-release CentOS release 6.4 (Final)
1.配置安装LAMP和开发环境
至于lamp的配置方法在这里就不再赘述了,可以参照如下文档http://liumissyou.blog.51cto.com/4828343/1255317
# 确保开发环境已经安装 yum -y groupinstall "Develoment Tools" "Develoment Libraries"
2.下载zabbix
官方下载地址:http://www.zabbix.com/download.php
选择和自己系统对应的版本,这里选择安装与Linux内核为2.6对应的zabbix-2.2.2版本
# 解压缩 tar -zxvf zabbix-2.2.2.tar.gz cd zabbix-2.2.2
3.安装所需要的组件
yum install -y curl curl-devel net-snmp snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath php-mbstring
4.zabbix数据库创建导入
mysql> create database zabbix; mysql> grant all privileges on zabbix.* to zabbix@'%' identified; mysql> flush privileges; mysql> source /root/zabbix-2.2.2/database/mysql/schema.sql mysql> source /root/zabbix-2.2.2/database/mysql/data.sql mysql> source /root/zabbix-2.2.2/database/mysql/p_w_picpaths.sql
5.编译安装参数
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl make && make install
6.添加zabbix服务对应的端口(可以省略),一般系统中都已经存在了,若没有可以如下添加
cat /etc/service zabbix-agent 10050/tcp //客户端 zabbix-agent 10050/udp zabbix-trapper 10051/tcp # 服务端 zabbix-trapper 10051/udp
7.为zabbix提供启动脚本和配置文件
(1)测试zabbix服务启动
/usr/local/zabbix/sbin/zabbix_agentd # 客户端 /usr/lcoal/zabbix/sbin/zabbix_server # 服务端 # 查看端口: netstart -tnlp | grep ‘zabbix’ # 停止zabbix服务: pkill zabbix
(2)为zabbix提供开机启动脚本:
mkdir -v /etc/zabbix cp /root/zabbix-2.2.2/misc/init.d/tru64/zabbix_agentd /etc/init.d/ # 客户端 cp /root/zabbix-2.2.2/misc/init.d/tru64/zabbix_server /etc/init.d/ # 服务端 chmod 777 /etc/init.d/zabbix*
(3)修改zabbix_agentd、zabbix_server程序目录的位置:
cat /etc/init.d/zabbix_agentd DAEMON=/usr/local/zabbix/sbin/zabbix_agentd cat /etc/init.d/zabbix_server DAEMON=/usr/local/zabbix/sbin/zabbix_server # 启动zabbix服务: service zabbix_agentd start service zabbix_server start #添加开启启动 chkconfig --add zabbix_server chkconfig --add zabbix_agentd
(4)由于zabbix_server 服务不支持 chkconfig,使用下列方法自启动:
分别在/etc/init.d/zabbix_agentd和/etc/init.d/zabbix_server文件添加对应的如下代码:
chkconfig: 345 95 95 # 三个参数:345代表不同的Level运行,第二个参数:启动序号95,第三个参数:关闭序号95 description: Zabbix_Server # 注意前面的‘#’不能取消掉,此行为描述
(5)然后再设置自启
chkconfig --add zabbix_server # 服务列表中增加此服务 chkconfig --add zabbix_agentd chkconfig zabbix_server on chkconfig zabbix_agentd on
8.编辑zabbix相关的配置文件
cat /usr/local/zabbix/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log # 客户端的日志文件 Server=127.0.0.1 # 指定服务端ip,这里的本机 Hostname=Zabbix Server # 指定本机的主机名 cat /usr/local/zabbix/zabbix_server.conf LogFile=/tmp/zabbix_server.log # 服务端的日志文件 DBHost=192.168.0.240 # 服务端ip DBName=zabbix # zabbix数据库名字 DBUser=root # zabbix数据库登陆用户
9.提供zabbix的web文件
mkdir -v /var/www/html/zabbix cp zabbix-2.2.2/frontends/php/* /var/www/html/zabbix
在浏览器输入:http://ip/zabbix
然后通过web页面继续配置zabbix
若页面上有错误的提示,则在/etc/php.ini修改对应的值就行
cat /etc/php.ini max_input_time = 600 max_execution_time = 300 date.timezone = Asia/Shanghai post_max_size = 32M memory_limit = 128M
直到所有的都正确配置完成,显示Ok,到此zabbix才算真正搭建完成
默认的登陆用户名admin,密码为zabbix
若页面提示缺少"mbstring":PHP mbstring extension missing (PHP configuration parameter --enable-mbstring).
解决方法:#yum install -y php-mbstring
然后一路“Next”:
到了第五步骤:5. Pre-Installation summary 需要下载配置文件然后将其保存到server的/var/www/html/zabbix/conf/下面,
名字一定是zabbix.conf.php,然后“Retry” ,点击 “Finish”,完成安装。
配置完成,出现登录界面,默认的用户为admin,密码为:zabbix
若浏览器上错误提示:Zabbix server is not running:be information displayed may not be current.
解决方法:修改/var/www/html/zabbix/conf/zabbix.conf.php
$ZBX_SERVER = '192.168.0.240'; //修改ip为server的ip,非127.0.0.1
10.添加监控主机
Configuration --> Host --> Create Host --> HostName(主机名可以是ip)、Visible name(定义主机名)、选择Groups、IP address(主机的ip地址)
然后选择模板Templates --> add --> Save
一类的hosts可以归属到用一个host group,便于分类管理同一类设备,在 Configuration --> Host Group --> Create Host Group可以添加设备组
11.zabbix的汉化(显示中文web)
zabbix-2.2.2版本中自带了各种语言版本,只需要手动设置就行了
简要设置方法:
Administration --> Users --> Members(Admin(Zabbix Administrator)) --> Language (选择Chinese(zh_CN)) --> Save
到此,就完成了页面中文显示,可能是由于版本自带的中文翻译,所以有些地方翻译的可能不完整,但不影响使用。
下面是zabbix_agent客户端的安装
(1)Linux客户端安装
1.下载zabbix_agent客户端(下载与系统版本对应的版本)zabbix_agents_2.2.1.linux2_6.amd64.tar
官方下载地址:http://www.zabbix.com/download.php
同时我也已经将其上传:http://down.51cto.com/data/1513462
rpm安装 http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/
2.解压缩
#tar -zxvf zabbix_agents_2.2.1.linux2_6.amd64.tar -C /usr/local/zabbix
解压后有三个目录:bin sbin conf
3.修改配置文件
cat zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log # agent日志文件 Server=192.168.0.250 # zabbix_server的ip ServerActive=192.168.0.250 # zabbix服务器ip Hostname=192.168.0.250 # 客户端的主机名(此名字要和浏览器上面Host对应的name一致)
cp配置文件zabbix_agentd.conf到 /usr/local/etc/ 文件下
cp /usr/local/zabbix/zabbix_agentd.conf /usr/local/etc/
4.添加zabbix的监控端口
cat /etc/service zabbix_agent 10050/tcp zabbix_agent 10050/udp
5.添加zabbix用户和组
groupadd zabbix useradd zabbix -g zabbix
6.启动zabbix_agent
/usr/local/zabbix/sbin/zabbix_agentd 查看是否启动: netstat -tnlp | grep 'zabbix'
/tmp/zabbix_agentd.log日志错误提示:18864:20140321:150533.246 no active checks on server [192.168.0.240:10051]: host [Cacti] not found
解决方案:修改/usr/local/etc/zabbix_agentd.conf
Hostname=XXX,这个定义的名字必须和web页面里面host的名字一样。
/tmp/zabbix_agentd.log日志错误提示:
21980:20140321:153024.219 using configuration file: /usr/local/etc/zabbix_agentd.conf
21980:20140321:153024.219 listener failed: bind() for [[-]:10050] failed: [98] Address already in use
解决方案:修改/usr/local/etc/zabbix_agentd.conf
ServerActive=192.168.0.250,192.168.0.1 //在zabbix服务器ip后面添加一个对应的网关地址
(2)windows客户端安装
1.官网下载http://www.zabbix.com/download.php
2.解压,把对应的系统文件内容拷贝到\zabbix_agents_2.2.1.win 根目录下面
3.在根目录下面新建zabbix_agentd.conf文件,并添加以下内容:
LogFile=d:\zabbix_agents_2.2.1.win\zabbix_agentd.log //日志文件
Server=192.168.0.240 //服务端IP
ListenIP=192.168.0.250 //客户端IP
Hostname=250 //客户端主机名
4.安装zabbix客户端
命令安装:D:\zabbix_agents_2.2.1.win> zabbix_agentd.exe --install -c d:\zabbix_agents_2.2.1.win\zabbix_agentd.conf
5.启动zabbix客户端
D:\zabbix_agents_2.2.1.win> zabbix_agentd.exe --start -c d:\zabbix_agents_2.2.1.win\zabbix_agentd.conf
6.查看端口是否监听
netstat -an | find "10050"
以上内容经过本人测试均成功,若有变化,随时更新!仅作参考……若有其他疑问可共同探讨!!!