要监控公司的内网机器,老大推荐用Zabbix,网上了解下,也找了些资料,开始安装
特别感谢 梦~从这里起航的blog,对我的安装帮助很多。
一、环境介绍
Zabbix 需要依赖LAMP(Apache、Mysql、PhP)环境,Apache也可以使用Nginx代替,为了节省时间网上有很多一键安装的脚本,下载执行安装即可。
系统:rhel 5.5 X86_64
软件:nginx-0.8.53
mysql-5.1.56
php-5.2.17
zabbix 2.0.3
LNMP一键下载地址:http://bbs.linuxtone.org/docs/autoinstall/lemp_auto_v1.0.6.tar.gz
Zabbix 下载地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.3/zabbix-2.0.3.tar.gz/download
二、LNMP安装
tar zxvf lemp_auto_v1.0.6.tar.gz
cd lemp
./lemp.sh
后面的步骤根据提示操作即可
<a href="http://blog.51cto.com/attachment/201210/200907980.jpg" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/201036857.jpg" target="_blank"></a>
第一张是开始安装,第二张是安装完成的,从二图可以看出每个软件包安装的目录信息。
在此感谢linuxtone论坛的脚本,为实验节省了不少时间。
三、Zabbix 安装
(1)yum安装zabbix需要的其他组件
yum -y install net-snmp-devel curl-devel
(2)添加zabbix用户
groupadd zabbix 添加zabbix组
useradd zabbix -g zabbix 新建zabbix用户并将其加入到zabbix组
(3)解压软件
tar zxvf zabbix-2.0.3.tar.gz
cd zabbix-2.0.3
(4)为zabbix创建数据库并添加用户
注:先使用/etc/init.d/mysqld start 启动数据库
在mysql -uroot -p,输入默认密码1登陆数据库。
create database zabbix character set utf8; #新建一个数据库叫zabbix
grant all on zabbix.* to zabbix@localhost identified by 'redhat'; #给zabbix这个数据库授权,只允许zabbix这个用户通过本地登录,zabbix用户的密码为redhat
(5)将zabbix源码包中的数据导入到新建的zabbix数据库
注:这一步是zabbix2.3与其他旧版不同的,在版本2.3里数据库的结构和名字都变了,而且导入也要严格按照顺序来。
mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/schema.sql #这个是zabbix的数据库表结构,要先导入。
mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/images.sql
mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/data.sql
(6)编译安装
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql-5.2.17/bin/mysql_config --with-net-snmp --with-libcurl
make
make install
(7)为zabbix server添加端口
vim /etc/services
添加如下信息
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
(8)拷贝配置文件到响应的目录下
注:这一步也是2.0.3改动的地方,以往的配置文件都是存放在源码包下的misc/conf/目录中,这次不是了。
mkdir /etc/zabbix
cp -rf /zabbix/zabbix-2.0.3/conf/* /etc/zabbix
(9)更改配置文件中数据库相关的用户名密码
vim /etc/zabbix/zabbix_server.conf
修改以下三项:
DBName=zabbix
DBUser=zabbix
DBPassword=redhat
注:DBPassword 默认是被注释掉的
(10)给zabbix服务端程序做软链接
cd /usr/local/zabbix/bin/
for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
cd /usr/local/zabbix/sbin/
for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
(11)添加数据库Lib文件位置到/etc/ld.so.conf中,并使其生效
echo /usr/local/mysql-5.1.48/lib/mysql/ >&gt; /etc/ld.so.conf
ldconfig
(12)拷贝相应的web程序到相关WEB服务目录下
cp -r zabbix-2.0.3/frontends/php /data/www/wwwroot/zabbix
(13)拷贝zabbix服务端和客户端启动脚本到/etc/init.d目录下.
注:这个地方存放脚本的目录结构也有变化,没有redhat这个目录,所以我cp的gentoo目录里的启动脚本,具体区别可以阅读README。
cp zabbix-2.0.3/misc/init.d/zabbix_server /etc/init.d
chmod +x /etc/init.d/zabbix_server # 为脚本加上可执行权限
cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d
chmod +x /etc/init.d/zabbix_agentd
文档中说还要更改启动脚本中的路径,但是我更改之后反而不对了,所以没有更改。
(14)启动zabbix,并且添加开机自启动
service zabbix-server start
service zabbix-agentd start #启动服务
chkconfig zabbix-server on
chkconfig zabbix-agentd on #开机自启动
(15)在Nginx服务中添加zabbix虚拟主机
vim /usr/local/nginx/conf/vhosts/monitor.conf
server {
listen 80;
server_name zabbixA.cyhd.com.cn;
#access_log logs/zabbix_access.log main;
location / {
root /data/www/wwwroot/zabbix;
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
(16)启动nginx添加开机自启动
service nginx start
chkconfig nginx on
(17)修改PHP配置文件php.ini内容
vim /usr/local/php-5.2.17/etc/php.ini
date.timezone = Asia/Shanghai
post_max_size = 32M
max_execution_time = 300M
max_input_time = 300M
注:更改完之后需要重启nginx和php
(18)启动重启php
默认开机是启动的
pkill php #关闭php
也可以通过如下命令
/usr/local/php-5.2.17/sbin/php-fpm start|stop
启动重启之后最好使用ps -ef | grep php 查看下
四、浏览器安装
(1)浏览器打开刚安装的zabbix
http://IP
<a href="http://blog.51cto.com/attachment/201210/211638520.jpg" target="_blank"></a>
(2)检测php组件,全部OK才可以点击next
注:这个地方要有些改动。
最后一栏 PHP gettext 肯定是No状态,因为在LNMP中没有加入 PHP gettext,所以动态编译下php。
cd lemp/packages #这个目录都是一键安装源码包的存放位置
tar -zxvf php-5.2.17.tar.gz #解压php源码包
cd php-5.2.17/ext/gettext #php自带的有这个,只是编译的时候没加
/usr/local/php-5.2.17/bin/phpize #执行此命令
./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #重新编译php
make && make install #安装
vim /usr/local/php-5.2.17/etc/php.ini
倒数第16行更改为 extension = "gettext.so"
保存退出,重启php即可!
<a href="http://blog.51cto.com/attachment/201210/211803420.jpg" target="_blank"></a>
(3)连接zabbix数据库
<a href="http://blog.51cto.com/attachment/201210/211857904.jpg" target="_blank"></a>
(4)设置zabbix服务IP和端口,name可以忽略
<a href="http://blog.51cto.com/attachment/201210/212004908.jpg" target="_blank"></a>
(5)预览设置
<a href="http://blog.51cto.com/attachment/201210/212049930.jpg" target="_blank"></a>
(6)这一步忘记截图了,点击Down将php生成的文件下载到本地,然后在上传到/data/www/wwwroot/zabbix/conf下,也可以用本地记事本打开zabbix.conf.php,复制其中的内容,在 vim /data/www/wwwroot/zabbix/conf/zabbix.conf.php,将刚才复制的内容粘贴到次,保存退出,在点击try连接测试,出现下图的OK即可。
<a href="http://blog.51cto.com/attachment/201210/212646429.jpg" target="_blank"></a>
(7)输入用户名密码登录
默认的用户名:admin 密码:zabbix
<a href="http://blog.51cto.com/attachment/201210/212730587.jpg" target="_blank"></a>
到此服务端的安装就完成了,有关客户端和监控配置方面的内容,我也会陆续操作并更新,有问题还请大家支持,一起交流。
本文转自 linuxsong 51CTO博客,原文链接:http://blog.51cto.com/song49/1028718,如需转载请自行联系原作者