what-zabbix
优点:
1>开源,无软件成本投入
2>Server 对设备性能要求低
3>支持设备多,自带多种监控模板
4>支持分布式集中管理,有自动发现功能,可以实现自动化监控
5>开放式接口,扩展性强,插件编写容易
6>当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。
7>Api 的支持,方便与其他系统结合
缺点:
1>需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据很大,瓶颈主要在数据库。
how-zabbix
Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据
Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),
再通过 php+apache 在 web 前端展示
how-to-zabbix-Tomcat
首先我们需要了解一下zabbix和Tomcat的对应关系
1>zabbix_server开启java poller
2>zabbx_java开启JavaGateway,端口为10052
3>Tomcat JMX开启2222提供性能数据。
数据获取:java poller<-->JavaGateway:10052<-->Tomcat:2222.
配置过程
server1(server):
首先先把zabbix搭建起来.
yum install zabbix-server-2.4.5-1.el6.x86_64.rpm zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm zabbix-web-2.4.5-1.el6.noarch.rpm zabbix-web-mysql-2.4.5-1.el6.noarch.rpm zabbix-2.4.5-1.el6.x86_64.rpm php-bcmath-5.3.3-26.el6.x86_64.rpm php-mbstring-5.3.3-26.el6.x86_64.rpm iksemel-1.4-2.el6.x86_64.rpm fping-2.4b2-16.el6.x86_64.rpm -y
在装zabbix之前确保服务器已经搭建lamp环境.....
安装zabbix后会自动在/etc/httpd/conf.d 中出现zabbix的配置文件
[[email protected] conf.d]# lsphp.conf README welcome.conf zabbix.conf
创建存储zabbix的数据库,用户
mysql> create database zabbix character set utf8 collate utf8_bin;mysql> create user [email protected] identified by "miao";Query OK, 0 rows affected (0.00 sec) mysql> grant all on zabbix.* to [email protected];Query OK, 0 rows affected (0.00 sec)
或者这样创建用户
[[email protected] zabbix]# pwd/etc/zabbix[[email protected] zabbix]# vim .my.cnf [mysql]host = localhostuser = zabbixpassword = miaosocket = /var/lib/mysql/mysql.sock[mysqladmin]host = localhostuser = zabbixpassword = miaosocket = /var/lib/mysql/mysql.sock
往zabbix数据库导入数据(注意schema必须先导入)
[[email protected] ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/[[email protected] create]# mysql zabbix <schema.sql[[email protected] create]# mysql zabbix <images.sql[[email protected] create]# mysql zabbix <data.sql
配置服务端文件
vim /etc/zabbix/zabbix_server.conf
72 DBHost=localhost 82 DBName=zabbix 98 DBUser=zabbix106 DBPassword=miao
配置服务端agent文件(因为我用的是rpm包,所以必须配置)
vim /etc/zabbix/zabbix_agentd.conf
Hostname=server1.lalala.comServerActive=127.0.0.1Server=127.0.0.1
设置php时区,两台主机必须一致,否则出错
vim /etc/php.ini
date.timezone = Asia/Shanghai
启动zabbix
自动注册设备时,需要的配置
zabix配置完毕,下面是监控tomcat的配置
vim /etc/zabbix/zabbix_server.conf 激活zabbix的JavaGateway模块
589 JavaGateway=127.0.0.1590 JavaGatewayPort=10052 591 StartJavaPollers=5
vim zabbix_java_gateway.conf
589 JavaGateway=127.0.0.1590 JavaGatewayPort=10052591 StartJavaPollers=5
[[email protected] zabbix]# /etc/init.d/zabbix-agent restart[[email protected] zabbix]# /etc/init.d/zabbix-server restart[[email protected] zabbix]#/etc/init.d/zabbix-java-gateway start
可以看到zabbix-java-gateway正常启动(10052)
server2(client):
yum install zabbix-agent-2.4.5-1.el6.x86_64.rpm zabbix-2.4.5-1.el6.x86_64.rpm -y
vim /etc/zabbix/zabbix_agentd.conf
85 Server=172.25.88.1126 ServerActive=172.25.88.1135 Hostname=server2.lalala.com
zabbix-agent配置完毕,下面是监控tomcat的配置
yum install java-1.6.0-openjdk.x86_64 -y tar zxf apache-tomcat-7.0.37.tar.gz
vim /root/apache-tomcat-7.0.37/bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=2222 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
设置server2 基于JVM(tomcat)的IP和端口
别忘了添加JMX的模板!
开启tomcat,并查看日志,tomcat正常启动.....
查看端口2222,java poller也正常启动
最后发现JVM的小绿灯也亮起来啦,而且有图像,成功!!!!