zabbix全面监控
1.1 Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
官方网站:http://www.zabbix.com
Zabbix 1.8官方文档:http://www.zabbix.com/documentation/1.8/start
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
Zabbix运行条件:
服务器端:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
客户端:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows
SNMP:支持各类常见的网络设备
1.2 Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)
(1)支持自动发现网络设备和服务器
(2)支持分布式,能集中展示、管理分布式的监控点
(3)扩展性强,server提供通用接口,可以自己开发完善各类监控
1.3 优劣势
优点:
开源,无软件成本投入
Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多、支持分布式集中管理、开放式接口、扩展性强;当监控的item比较多服务器队列比较大时可以采用被对状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
缺点:
无厂家支持,出现问题解决比较麻烦;需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
2. Part2.安装部署
2.1 服务端环境准备
Zabbix Server需要运行在CentOS、RedHat Linux、Debain等Linux系统上,这里以RHEL AS5作为部署环境。Root用户安装必须的包,建议配置好yum,通过yum安装下列包,解决包的依赖关系。
LAMP环境
#yum install mysql-server httpd php
其他需要用到的包:
#yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml
下载最新的Zabbix安装包(官网:http://www.zabbix.com)到本地,解压
#tar zxvf zabbix-1.8.1.tar.gz
增加zabbix用户和组
#groupadd zabbix
#useradd –g zabbix –m zabbix
2.2 数据库准备
启动MySQL数据库:
#service mysqld start
修改MySQL root用户密码(默认密码为空)
#mysqladmin –uroot password root
测试能否正常登陆数据库
#mysql –uroot –proot
创建Zabbix数据库
Mysql> create database zabbix character set utf8;
Mysql> grant all on zabbix.* TO zabbix@’localhost’ identified by ‘zabbixpass’;
Mysql> flush privileges;
导入数据库sql脚本
#cd zabbix-1.8.1
# cat ./create/schema/mysql.sql |mysql -uroot –proot zabbix
# cat ./create/data/data.sql |mysql -uroot -proot zabbix
# cat ./create/data/images_mysql.sql |mysql -uroot -proot zabbix
2.3 编译安装
配置编译,prefix是安装后程序目录
# ./configure –with-mysql –with-net-snmp –with-libcurl –enable-server –enable-agent –enable-proxy –prefix=/usr/local/zabbix
# ./configure –with-mysql=/usr/local/mysql/bin/mysql_config –with-net-snmp –with-libcurl –enable-server –enable-agent –enable-proxy –prefix=/usr/local/zabbix //mysql编译安装
# make
# make install
2.4 配置文件及web前端文件修改
添加服务端口,添加后如下
# grep zabbix /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
添加配置文件
# mkdir -p /etc/zabbix
# cp ./misc/conf/* /etc/zabbix
# chown -R zabbix:zabbix /etc/zabbix
修改Server配置文件
基本不用修改,用默认配置即可,只需修改一项DBPassword=密码
# vi /etc/zabbix/zabbix_server.conf
修改Agentd配置文件,更改HOST NAME 为本机的hostname就好了
#vi /etc/zabbix/zabbix_agentd.conf
添加web前端php文件
# cd frontends/
# cp -rf php /var/www/html/
# cd /var/www/html
# mv php zabbix
# chown -R zabbix:zabbix zabbix
2.5 web前端安装配置
修改php相关参数
# vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time = 300
max_input_time=300
memory_limit = 128M
date.timezone = Asia/Shanghai
post_max_size = 32M
mbstring.func_overload = 2
重启apache
#service httpd restart
在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://ServerIP/zabbix
按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。
图表 1
Step 4 填入Zabbix Server 登陆mysql的用户和密码
Step 7 按提示下载配置文件到Server的/var/www/html/zabbix/conf下,名字一定要是zabbix.conf.php
配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix
2.6 启动Server
安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动
#/usr/local/zabbix/sbin/zabbix_server
为了便于启停Server,我们做一些小配置
复制控制程序
# cp ./misc/init.d/redhat/zabbix_* /etc/init.d/
修改配置目录,将如下两个文件中的BASEDIR=改为/usr/local/zabbix, 下面两个配置中的bin改为sbin,ZABBIX_AGENTD,ZABBIX_SUCKERD
# vi /etc/init.d/zabbix_server_ctl
# vi /etc/init.d/zabbix_agentd_ctl
加入开机启动
# echo ‘/etc/init.d/zabbix_server_ctl start &’ >>/etc/rc.local
# echo ‘/etc/init.d/zabbix_agentd_ctl start &’ >>/etc/rc.local
创建快键方式
# ln -s /etc/init.d/zabbix_server_ctl /usr/bin/zabbix_server_ctl
# ln -s /etc/init.d/zabbix_agentd_ctl /usr/bin/zabbix_agentd_ctl
启动Server和Agentd(可以通过start stop restart来操作)
# zabbix_agentd_ctl start
# zabbix_server_ctl start
检查启动是否正常,查看进程是否起来,分server和agentd
#ps –ef | grep zabbix
如果进程没起来,可以查看对应的日志错误,默认在/tmp/zabbix-*.log
至此Zabbix Server的安装已完成.
2.7 在hosts上配置agent
Zabbix需要在被监控的host上安装agent,在zabbix官网上下载相应平台的agent包到各被监控端,按如下方式在被监控上运行agent。(注:官网上下载的agent包里没有运行agentd所必须的配置文件,可以从zabbix server上拷贝一份zabbix_agentd.conf,这个conf文件是所有平台都通用的)
Linux、UX:
Linux、UX上的agent是编译好了的,不用安装
#useradd zabbix
#cd /usr/local/zabbix
#tar zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz
取一份server上的zabbix_agentd.conf到本地,然后按说明修改,一般我们只需修改如下5个参数:
Server=Zabbix Server IP
Hostname=本机名
LogFile=本机agentd日志保存文件
SourceIP=本机IP
ListenPort=10050
修改完成后,运行agentd
#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf &
#ps –ef | grep zabbix_agentd
如果进程没起来,可查看agentd.log日志来排查问题。(注:启动时建议用全路径,否则可能会出错)
加入开机运行
# echo ‘/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/zabbix_agentd.conf &’ >> /etc/rc.local
Windows:
Windows下解压客户端包到c:,下载修改好的zabbix_agentd.conf文件也放到c:,打开cmd命令行,执行
C:>zabbix_agentd –install
安装后会在系统服务里添加一个zabbix_agentd服务,会自动开机运行
如果需要将客户端和配置文件放在其他目录,请执行
C:>DIR/zabbix_agentd –c DIR/zabbix_agentd.conf –install
启动agentd服务
C:>zabbix_agentd –start
或是通过管理->服务找到zabbix_agentd来启动。
参考具体文档:zabbix使用手册v1.0
原文: 运维军团
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2024-08-08 16:19:30
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: zabbix全面监控 (米扑博客)