如何将中国地图gis数据下载与zabbix监控数据做连接

实战:搭建Zabbix监控环境
日期:作者:
【TechTarget中国原创】在一个数据中心里,了解某个主机正在发生什么是非常重要的一件事。适当地监控一些网络节点能够帮助防止发生网络功能问题。在这一系列的文章中,你能够学到如何用Zabbix来实现。    Zabbix是一个开源网络监控工具,并采用一台基于Linux为中心的Zabbix服务器。服务器与那些本机代理相互联系,目前所适用的操作系统包括Linux、 UNIX和Windows。如果没有安装代理的操作系统,可采用通用的监控协议如SNMP或IPMI。    使用Zabbix监控工具有许多优点。作为初学者,Zabbix能够在特定预先定义的事件发生时发出告警和提醒。还提供图像功能,帮助系统管理员对当前特殊节点和整个网络有一个大致了解。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
TechTarget中国
敖 德俊 发表于: 17:30
查看更多评论
敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。
Zabbix教程
Sander van Vugt是一位作者和独立技术培训师,从1994年开始专攻Linux。Vugt也是高可用集群和性能优化技术顾问。他也是SUSE Linux Enterprise Desktop 10(SLED 10)管理方面的专家。
在利用Zabbix监控网络设备三篇文章的前两篇中,我们介绍了如何通过Zabbix代理监控网络设备。但有些设备无法安装Zabbix代理,需要采用其他方法监控。
在本系列的第一部分中,我们基于MySQL数据库和相关前端安装了一台Zabbix服务器。现在你将会学到如何开始一个Zabbix代理,如何注册服务器并实施监控。
曾几何时,基于网络协议的简单网络监控管理工具,属于昂贵而专有的解决方案。如今,Zabbix成为了一个稳定的开源网络管理工具。
IT行业标准组织分布式管理任务组(DMTF)在日创建了配置管理数据库联盟(CMDBf)工作组规范,CMDBf规范可以帮助企业更轻松地集成多源CMDB数据,使CMDB工具集和厂商拥有更多特性。对于数据中心而言,CMDB显得更为重要。通过CMDB的使用,数据中心管理人员可以对数据中心基础设施进行备案。在有设备发生故障时,也可以通过CMDB对其进行准确而又及时的定位,从而提高运营效率。但是,CMDB的实施并不是一件容易的事。本技术手册就带领大家去认识CMDM的概念和意义,以及如何利用CMDB来对数据中心进行配置和变更管理。
一直以来数据中心都被称作“能耗大户”。随着业务的扩展,数据中心承载的工作与日俱增,与此同时,能耗的负担也越来越大。无论是制冷、UPS还是基础设施,其能耗都是一笔巨大的成本。
如今,随着数据中心容量的增加、规模的扩大以及新型设备与技术的引入,数据中心运行与维护的难度也在加大。但是,无论如何,提高数据中心性能、降低数据中心能耗、降低数据中心运维成本始终是数据中心管理人员的终极目标。具体来讲,如何做好数据中心冷却?如何保证数据中心电源系统稳定高效的运行?如何对数据中心实现“绿色”运营?如何对数据中心网络进行监管,并保证数据中心的网络性能?这一切都是摆在数据中心管理人员的难题,本技术手册将对这些问题进行解答。
云计算在影响着存储架构的发展,大型机存储也在面临着很多新的难题和技术。而SSD能否成为数据中心存储的下一个趋势呢?本篇技术手册将会一一为您分析和解答。
TechTarget
企业级IT网站群
TechTarget中国 版权所有
All Rights Reserved, Copyright
TechTarget中国 版权所有
All Rights Reserved, Copyright
【TechTarget中国原创】在一个数据中心里,了解某个主机正在发生什么是非常重要的一件事。适当地监控一些网络节点能够帮助防止发生网络功能问题。在这一系列的文章中,你能够学到如何用来实现。    Zabbix是一个开源网络监控工具,并采用一台基于Linux为中心的Zabbix服务器。服务器与那些本机代理相互联系,目前所适用的操作系统包括、 UNIX和Windows。如果没有安装代理的操作系统,可采用通用的监控协议如SNMP或IPMI。    使用Zabbix监控工具有许多优点。作为初学者,Zabbix能够在特定预先定义的事件发生时发出告警和提醒。还提供图像功能,帮助系统管理员对当前特殊节点和整个网络有一个大致了解。    要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。    Zabbix安装选项    安装Zabbix有两种方法:下载安装包并把它安装在你Zabbix的linux服务器主机上,或者使用包含一些Linux发行版的安装包。使用发行版的安装包使得安装和更新Zabbix更方便,但是编译你自己的Zabbix意味着需要针对每一个Linux发行版,包括最新和最棒的功能。    预先编译的安装包对某些Linux发行版还不支持,比如SUSE。如果你不想和那些底层的Linux系统打交道,Fedora或者Ubuntu可能是你的最佳选择。它们从安装储存库开始就包含了Zabbix安装包。编译你自己的Zabbix同样可行,但是那样则需要更多的Linux技术知识。在本篇中,我们将使用预先编译的Fedroa 17的安装包来安装Zabbix,完全免费。    安装基础包    确保你的Fedora Linux服务器至少有10GB的有效磁盘空间。在初期进行Zabbix安装时并不需要,但是当Zabbix开始在一个大环境下产生数据时就会需要。    下一步,使用Yellow Dog更新修改(YUM)命令yum install zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql mysql zabbix-agent 来安装Zabbix和所有需要的组件。在安装软件之后,你需要开启Zabbix服务并确保他们在你重启服务器之后仍然开启。要想完成这个,运行以下命令并重启服务器:systemctl enable mysqld.servicesystemctl enable zabbix-server-mysql.servicesystemctl enable httpd.service    在继续之前,你需要创建一个数据库。使用mysql -u root 作为Root用户登录。这样就打开了一个mysql提示。键入以下命令来创建需要的数据库:mysql& create database zabbix character set utf8;mysql& grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by ‘password';mysql& quit    数据库的默认名字是zabbix,管理员用户名也是zabbix,密码是password。现在你需要使用zabbix模式和一些初始数据来填充数据库。要想这样做,你可以使用默认的安装在/usr/share/doc/zabbix-server-mysql-&version&/create/schema 下的SQL文件。从Linux的shell中使用以下mysql命令来导入文件:# mysql -u zabbix -p zabbix & /usr/share/doc/zabbix-server-mysql-&VERSION&/create/schema/mysql.sql# mysql -u zabbix -p zabbix & /usr/share/doc/zabbix-server-mysql-&VERSION&/create/data/data.sql# mysql -u zabbix -p zabbix & /usr/share/doc/zabbix-server-mysql-&VERSION&/create/data/images_mysql.sql    这些命令会将SQL文件导入MySQL数据库中,使用用户名“zabbix”。选项 –p 告诉mysql命令提示需要输入密码,接下去用户zabbix告诉MySQL将所有数据添加至zabbix数据库中。下一步,输入的文件被特指使用输入重定向(&),在文件名之后被用来当作输入文件。    在你继续下一步配置之前,确保Zabbix能够连接到你刚刚创建的数据库。想要这样做,打开配置文件/etc/zabbix/zabbix_server.conf并确保以下内容在其中。DBHost=localhostDBName=zabbixDBPassword=password    重启你的服务器并确保所有信息都显示正确。在重启之后,使用命令systemctl status zabbix-server.service。这会显示所有已经开启的Zabbix进程。    与Web界面对连    一旦所有系统都已经开启,你可以打开一个浏览页面至Zabbix Web前端http://yourzabbixserver/zabbix, 这里你可以配置你的Zabbix服务器。    在继续之前,确保你满足了最低系统要求。    第一个导入的屏幕是为了检查先决条件。在许多情况下,你会发现系统分配使用的默认PHP设置是不完整的,所以记录下有关的设置并打开/etc/php.ini来进行调整。在完成调整之后,重启Fedora 17的Apache服务,可以输入systemctl restart httpd.service命令来完成。    配置数据库连接    在下一个窗口中,配置Zabbix和数据库之间的连接。在这个屏幕里,默认用户名为root;确保将用户名改为zabbix。    在建立数据库连接之后,键入Zabbix服务器的网络地址和你正使用的端口。如果Web前端正从服务器进程运行,指定Zabbix服务器所拥有的IP地址或者直接点击"next"继续。现在你会看到一个预安装的摘要。确认各个参数都正确再结束整个安装流程。一个进入Zabbix的登录窗口就会打开,你可以使用默认的用户Admin和密码zabbix进行登录。现在你的zabbix环境已经可以开始使用。    在本系列的下一篇中,你将会学到如何用Zabbix开启监控系统。waring_id 的BLOG
用户名:waring_id
文章数:156
评论数:1151
访问量:1737471
注册日期:
阅读量:5863
阅读量:12276
阅读量:334924
阅读量:1039618
51CTO推荐博文
一、orabbix说明  orabbix是一个用来监控oracle数据库性能的zabbix插件工具,通过安装在被监控服务器上客户端上收集数据并传给zabbix服务器端,然后通过调用图形显示。具有以下功能:1、数据库版本2、归档文件3、等待的事件(如文件的I/O,单块的读,多块的读,直接读,SQLNet消息,控制文件I/O,日志写等)4、HitRatio(监控Hit Ratio的触发,表/存储过程,SQLArea,Body)5、逻辑I/O(当前读操作,持续的读操作,块的更改)6、PGA7、SGA(固定的缓冲,JAVA pool,Large Pool,Log Buffer,Shared Pool,Buffer Cache)8、物理I/O(重写操作,数据文件写操作,数据文件读操作)9、SharePool(Pool Dictionary Cache, Pool Free Memory, Library Cache,Sql Area ,Misc.)10、Pin Hit Ratio (monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)11、Session/Processes (monitor Sessions and processes)12、Session (Active Session, Inactive Sessions, System Session)二、 orabbix安装2.1、Java环境  首先在被监控的服务器安装java环境,可以直接到oracle官网下载对应的包安装。wget&/otn-pub/java/jdk/7u72-b14/jre-7u72-linux-x64.rpm
rpm&Civh&jre-7u72-linux-x64.rpm2.2、建立对应的目录  orabbix默认的配置是/opt/orabbix,相关的内容都会在此文件夹内,如果安装时指定了其它的目录请记得在配置文件中更改为正确的文件路径。mkdir&Cp&/opt/orabbix
cd&/opt/orabbix2.3、安装对应的文件wget&http://192.168.0.201:8080/%e5%b8%b8%e7%94%a8%e8%bd%af%e4%bb%b6/%e5%b7%a5%e5%85%b7/zabbix/orabbix-1.2.3.zip
unzip&orabbix-1.2.3.zip
cp&init.d/orabbix&/etc/init.d/
chmod&+x&run.sh
chmod&+x&/etc/init.d/orabbix&2.4、增加监控用户CREATE&USER&ZABBIX
IDENTIFIED&BY&&REPLACE&WITH&PASSWORD&
DEFAULT&TABLESPACE&USERS
TEMPORARY&TABLESPACE&TEMP
PROFILE&DEFAULT
ACCOUNT&UNLOCK;
GRANT&ALTER&SESSION&TO&ZABBIX;
GRANT&CREATE&SESSION&TO&ZABBIX;
GRANT&CONNECT&TO&ZABBIX;
ALTER&USER&ZABBIX&DEFAULT&ROLE&ALL;
GRANT&SELECT&ON&V_$INSTANCE&TO&ZABBIX;
GRANT&SELECT&ON&DBA_USERS&TO&ZABBIX;
GRANT&SELECT&ON&V_$LOG_HISTORY&TO&ZABBIX;
GRANT&SELECT&ON&V_$PARAMETER&TO&ZABBIX;
GRANT&SELECT&ON&SYS.DBA_AUDIT_SESSION&TO&ZABBIX;
GRANT&SELECT&ON&V_$LOCK&TO&ZABBIX;
GRANT&SELECT&ON&DBA_REGISTRY&TO&ZABBIX;
GRANT&SELECT&ON&V_$LIBRARYCACHE&TO&ZABBIX;
GRANT&SELECT&ON&V_$SYSSTAT&TO&ZABBIX;
GRANT&SELECT&ON&V_$PARAMETER&TO&ZABBIX;
GRANT&SELECT&ON&V_$LATCH&TO&ZABBIX;
GRANT&SELECT&ON&V_$PGASTAT&TO&ZABBIX;
GRANT&SELECT&ON&V_$SGASTAT&TO&ZABBIX;
GRANT&SELECT&ON&V_$LIBRARYCACHE&TO&ZABBIX;
GRANT&SELECT&ON&V_$PROCESS&TO&ZABBIX;
GRANT&SELECT&ON&DBA_DATA_FILES&TO&ZABBIX;
GRANT&SELECT&ON&DBA_TEMP_FILES&TO&ZABBIX;
GRANT&SELECT&ON&DBA_FREE_SPACE&TO&ZABBIX;
GRANT&SELECT&ON&V_$SYSTEM_EVENT&TO&ZABBIX;  如果是11G的数据库版本,还需要执行下面的语句开放ACL的访问控制,否则在监控的过程中有部份内容无法正常显示(例于数据库版本,数据库文件大小等),而且orabbix的日志显示中也会有以下的错误提示。&exec
&dbms_network_acl_admin.create_acl(acl&=&&'resolve.xml',description&
=&&'resolve&acl',&principal&=&'ZABBIX',&is_grant&=&&true,&
privilege&=&&'resolve');
exec&dbms_network_acl_admin.assign_acl(acl&=&&'resolve.xml',&host&=&'*');
  设置完成后,可以通过以下的语句查看添加的状态。select&utl_inaddr.get_host_name('127.0.0.1')&from&2.5、配置文件  orabbix所有的配置文件都在conf目录中,需要将默认的配置文件config.props.sample复制一份后再进行修改和配置。cd&conf
cp&config.props.sample&config.props
vim&config.progs  以下内容都基于该配置文件。ZabbixServerList=ZabbixServer
ZabbixServer.Address=192.168.0.189
ZabbixServer.Port=10051
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=CRMDB
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
CRMDB.Url=jdbc:oracle:thin:@192.168.0.209:1521:orcl
CRMDB.User=ZABBIX
CRMDB.Password=zabbix
CRMDB.MaxActive=10
CRMDB.MaxWait=100
CRMDB.MaxIdle=1
CRMDB.QueryListFile=./conf/query.props  需要注意的是DatabaseList=CRMDB指的是被监控服务器的名称,该名称要和zabbix server界面中的机器名称保持一致,该配置文件中后续所引用的设定都以该名称为准。CRMDB.Url=jdbc:oracle:thin:@192.168.0.209:1521:orcl指定的是被监控服务器的连接信息(例如采用jdbc的联接方式,服务器地址是192.168.0.209,oracle的端口是1521,orcl指的是数据库的实例)2.6、添加监控主机  在zabbix的GUI管理界面上添加监控的主机前需要先导入oracle数据库的监控模板,监控模板保存在解压出来的template文件夹中,选取Orabbix_export_full.xml导入。2.7、启动服务  可以先将orabbix加为系统服务,然后启动监控服务并观察对应的日志文件,如果没有错误提示,监控界面中就可以正常显示监控图形了。chkconfig&Cadd&orabbix
chkconfig&Clevel&345&orabbix&on
service&orabbix&start
tail&Cf&/opt/orabbix/log/orabbix.log&三、 参考资料/wiki/index.php/Orabbixhttp://www.peasland.net//product/orabbix/本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)如何通过Zabbix获取监控数据?_服务器应用_Linux公社-Linux系统门户网站
你好,游客
如何通过Zabbix获取监控数据?
来源:Linux社区&
##################################zabbix基本架构##################################1.Serverzabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。
2.Agent部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。
3.Proxy可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。
4.Java gatewayjava实现的守护进程用于监控JMX类型的应用程序。
5.Sender命令行工具zabbix_sender,用于向zabbix server发送性能数据和可用性数据。多用于用户脚本定期向server发送数据。如:shell& cd binshell& ./zabbix_sender -z zabbix -s "Linux DB3" -k db.connections -o 43
6.Get命令行工具zabbix_get,用于同agent通信从agent获取数据。可用于zabbix agents的troubleshooting。如:shell& cd binshell& ./zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"
#####################################zabbix术语表####################################host需要被监控的设备,如交换机、路由器、WEB服务器、DB服务器等
host group被监控设备的逻辑分组,如DB服务器一组、WEB服务器一组等。可包含主机和模板。用于权限控制
item需要被监控的项,如CPU空闲率、某一块磁盘的使用率等
trigger用于评估收到的监控值是否超出设定的阈值的逻辑表达式
event如trigger状态改变等值得注意的事件
action预先定义的响应event的一系列operations
escalation执行action中的operations的定制场景;一连串的发送通知、执行远程命令
media传递notification的方式
notification通过media发送给用户的关于某个event的消息
remote command在被监控机器上触发并自动执行的预定义命令
template用于简化和加速主机上大规模监控任务的部署。包含一系列项目,如items, triggers, graphs, screens, applications, low-level discovery rules
application逻辑组中的一组items
web scenario一个或多个HTTP request用以检查web站点可用性
frontendzabbix的web界面
zabbix api允许通过JSON RPC 协议创建、更新和获取zabbix对象如,hosts, items, graphs and others。或者执行其他任务
zabbix serverzabbix核心,履行监控,与zabbix proxies、zabbix client交互、计算trigger、发送notification、存储数据等任务
zabbix agent部署在被监控主机上用于监控本地资源和应用
zabbix proxy可代zabbix server收集数据分担处理负载
#######################################zabbix配置######################################可通过WEB界面或者模板进行配置需配置内容包括users、user groups、hosts、host groups、items、Triggers、Events、notification、templates、visualisation等。最终配置会被存储在后端database中。
参考:/documentation/2.4/manual/config
#####################################zabbix取数方式####################################1.zabbix api基于WEB的API,通过JSON PRC协议获取或更改zabbix配置,并可用于获取历史监控数据。clients和API间的request和response使用JSON格式。包含一系列可从功能上分为不同组别的方法。
发起HTTP请求的格式类似如下:POST /zabbix/api_jsonrpc.php HTTP/1.1Content-Type: application/json-rpc{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}其中/zabbix/是zabbix前端的地址;Content-Type必须指明且为application/json-rpc, application/json or application/jsonrequest三者之一。{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}是请求的具体内容。
一些实例:*登录认证{& & "jsonrpc": "2.0",& & "method": "user.login",& & "params": {& & & & "user": "Admin",& & & & "password": "zabbix"& & },& & "id": 1,& & "auth": null}其中:jsonrpc:指明JSON-RPC协议版本,这里是2.0版本method:指明调用的API方法,这里是用户登录params:需要传递给API method的参数,这里是用户名和密码id:本次请求的标识符auth:用户认证令牌,目前尚无所以为null若参数无误response将会包含用户认证令牌,如:{& & "jsonrpc": "2.0",& & "result": "d",& & "id": 1}
*获取hosts信息{& & "jsonrpc": "2.0",& & "method": "host.get",& & "params": {& & & & "output": [& & & & & & "hostid",& & & & & & "host"& & & & ],& & & & "selectInterfaces": [& & & & & & "interfaceid",& & & & & & "ip"& & & & ]& & },& & "id": 2,& & "auth": "d"}本例使用可用的用户认证令牌通过host.get方法获取所配置的主机的ID 、name等信息,返回如下{& & "jsonrpc": "2.0",& & "result": [& & & & {& & & & & & "hostid": "10084",& & & & & & "host": "Zabbix server",& & & & & & "interfaces": [& & & & & & & & {& & & & & & & & & & "interfaceid": "1",& & & & & & & & & & "ip": "127.0.0.1"& & & & & & & & }& & & & & & ]& & & & }& & ],& & "id": 2}为了考虑性能影响、尽量仅列出所需项而非返回所有数据
*创建新监控项例如在上一步获取的host上建立新的监控项、监控/home/joe/目录的剩余空间{& & "jsonrpc": "2.0",& & "method": "item.create",& & "params": {& & & & "name": "Free disk space on $1",& & & & "key_": "vfs.fs.size[/home/joe/,free]",& & & & "hostid": "10084",& & & & "type": 0,& & & & "value_type": 3,& & & & "interfaceid": "1",& & & & "delay": 30& & },& & "auth": "d",& & "id": 3}其中params参数中的几个关键参数含义如下:name:监控项的名称,这个可以自己灵活定义,其中的$1代表key_中的第一个参数,此处为/home/joe/key_:预定义的监控项,zabbix提供了一系列此类监控内容,此处需从其中进行选择。hostid:即上步获得的hostidvalue_type:监控数据值的类型,不同的数字代表不同的类型,此处的3代表整型delay:zabbix取数时间间隔,此处为30秒取一次
返回结果如下:{& & "jsonrpc": "2.0",& & "result": {& & & & "itemids": [& & & & & & "24759"& & & & ]& & },& & "id": 3}itemid为生成的监控项的id
*获取历史数据:从历史记录表获取itemids为23296的按clock降序排列的十条记录history参数可能的取值0 - 1 - 2 - 3 - 4 - text. {& & "jsonrpc": "2.0",& & "method": "history.get",& & "params": {& & & & "output": "extend",& & & & "history": 0,& & & & "itemids": "23296",& & & & "sortfield": "clock",& & & & "sortorder": "DESC",& & & & "limit": 10& & },& & "auth": "038e1d7b6ee9eae095879e",& & "id": 1}返回结果:{& & "jsonrpc": "2.0",& & "result": [& & & & {& & & & & & "itemid": "23296",& & & & & & "clock": "",& & & & & & "value": "0.0850",& & & & & & "ns": ""& & & & },& & & & {& & & & & & "itemid": "23296",& & & & & & "clock": "",& & & & & & "value": "0.1600",& & & & & & "ns": ""& & & & },& & & & ...]}
*错误处理下例忘记了groups这个参数{& & "jsonrpc": "2.0",& & "method": "host.create",& & "params": {& & & & "host": "Linux server",& & & & "interfaces": [& & & & & & {& & & & & & & & "type": 1,& & & & & & & & "main": 1,& & & & & & & & "useip": 1,& & & & & & & & "ip": "192.168.3.1",& & & & & & & & "dns": "",& & & & & & & & "port": "10050"& & & & & & }& & & & ]& & },& & "id": 3,& & "auth": "d"}返回结果如??,包含的不是result属性而是error属性{& & "jsonrpc": "2.0",& & "error": {& & & & "code": -32602,& & & & "message": "Invalid params.",& & & & "data": "No groups for host \"Linux server\"."& & },& & "id": 3}
对于获取监控数据来说,比较关心的应该是history.get这个方法。这种方式实际上最终还是由后台数据库获取的。方法提供了丰富的参数,使用非常灵活。但对于一次性大规模的取出大量主机大量监控项的大批数据不太适合。
参考:/documentation/2.4/manual/api
一些Zabbix相关教程集合:
安装部署分布式监控系统Zabbix 2.06
《安装部署分布式监控系统Zabbix 2.06》
6.3下Zabbix安装部署
Zabbix分布式监控系统实践
CentOS 6.3下Zabbix监控apache server-status
CentOS 6.3下Zabbix监控MySQL数据库参数
64位CentOS 6.2下安装Zabbix 2.0.6& &
更多详情见请继续阅读下一页的精彩内容:
相关资讯 & & &
& (07月21日)
& (04月12日)
& (01月30日)
& (04月18日)
& (03月29日)
& (01月20日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款您所在的位置: &
Zabbix 如何监控服务器硬件信息?
Zabbix 如何监控服务器硬件信息?
做为Linux系统工程师,在服务器的维护管理当中,除了对系统进行维护管理之外,最重要的还要对服务器的硬件进行监控,比如服务器Raid状态是否正常(如果Raid卡出问题,会影响数据的读写速度),服务器硬盘是否正常(如果硬盘坏掉,严重的情况会丢失数据),服务器电源是否有故障等。
做为Linux系统工程师,在服务器的维护管理当中,除了对系统进行维护管理之外,最重要的还要对服务器的硬件进行监控,比如服务器Raid状态是否正常(如果Raid卡出问题,会影响数据的读写速度),服务器硬盘是否正常(如果硬盘坏掉,严重的情况会丢失数据),服务器电源是否有故障等。除此之外还要对服务器的CPU,内存,处理器等重要设备的温度进行监控,如果温度超过服务器的临界温度则进行报警通知。
HP的服务器在硬件管理方面提供了自己管理工具hpacucli,通过该工具可以查看HP服务器的RAID信息,服务器硬盘等信息。
1)安装hpacucli工具(下载地址:)
[root@monitor&~]#rpm&-ivh&hpacucli-9.40-12.0.x86_64.rpm&
2)查看服务器RAID信息,硬盘是否正常。
[root@monitor~]#&hpacucli&ctrl&all&show&config&Smart&Array&P410i&in&Slot&0&(Embedded)&&&&(sn:&2FF0)&&&&array&A&(SAS,&Unused&Space:&0&MB)&&&&&&&logicaldrive&1&(279.4&GB,&RAID&1,&OK)&&&&&&&physicaldrive&1I:1:1&(port&1I:box&1:bay&1,&SAS,&300&GB,&OK)&&&&&&&physicaldrive&1I:1:2&(port&1I:box&1:bay&2,&SAS,&300&GB,&OK)&
3)通过hpacucli ctrl all show config detail命令可以详细地查看RAID和硬盘的信息。
[root@monitor&~]#&hpacucli&ctrl&all&show&config&detail&Smart&Array&P410i&in&Slot&0&(Embedded)&&&&Bus&Interface:&PCI&&&&Slot:&0&&&&Serial&Number:&2FF0&&&&Cache&Serial&Number:&PBCDH0CRH1FH62&&&&RAID&6&(ADG)&Status:&Disabled&&&&Controller&Status:&OK&&&&Chassis&Slot:&&&&Hardware&Revision:&Rev&C&&&&Firmware&Version:&5.14&&&&Rebuild&Priority:&Medium&&&&Expand&Priority:&Medium&&&&Surface&Scan&Delay:&15&secs&&&&Monitor&and&Performance&Delay:&60&min&&&&Elevator&Sort:&Enabled&&&&Degraded&Performance&Optimization:&Disabled&&&&Inconsistency&Repair&Policy:&Disabled&&&&Post&Prompt&Timeout:&0&secs&&&&Cache&Board&Present:&True&&&&Cache&Status:&OK&&&&Accelerator&Ratio:&25%&Read&/&75%&Write&&&&Drive&Write&Cache:&Disabled&&&&Total&Cache&Size:&512&MB&&&&No-Battery&Write&Cache:&Disabled&&&&Cache&Backup&Power&Source:&Capacitors&&&&Battery/Capacitor&Count:&1&&&&Battery/Capacitor&Status:&OK&&&&SATA&NCQ&Supported:&True&&&&Array:&A&&&&&&&Interface&Type:&SAS&&&&&&&Unused&Space:&0&MB&&&&&&&Status:&OK&&&&&&&Logical&Drive:&1&&&&&&&&&&Size:&279.4&GB&&&&&&&&&&Fault&Tolerance:&RAID&1&&&&&&&&&&Heads:&255&&&&&&&&&&Sectors&Per&Track:&32&&&&&&&&&&Cylinders:&65535&&&&&&&&&&Stripe&Size:&128&KB&&&&&&&&&&Status:&OK&&&&&&&&&&Array&Accelerator:&Enabled&&&&&&&&&&Unique&Identifier:&&&&&&&&&&&Disk&Name:&/dev/cciss/c0d0&&&&&&&&&&Mount&Points:&/boot&99&MB&&&&&&&&&&Logical&Drive&Label:&A00ADBD9PR7AMU1472&&&&&898D&&&&&&&&&&Mirror&Group&0:&&&&&&&&&&&&&physicaldrive&1I:1:1&(port&1I:box&1:bay&1,&SAS,&300&GB,&OK)&&&&&&&&&&Mirror&Group&1:&&&&&&&&&&&&&physicaldrive&1I:1:2&(port&1I:box&1:bay&2,&SAS,&300&GB,&OK)&&&&&&&physicaldrive&1I:1:1&&&&&&&&&&Port:&1I&&&&&&&&&&Box:&1&&&&&&&&&&Bay:&1&&&&&&&&&&Status:&OK&&&&&&&&&&Drive&Type:&Data&Drive&&&&&&&&&&Interface&Type:&SAS&&&&&&&&&&Size:&300&GB&&&&&&&&&&Rotational&Speed:&10000&&&&&&&&&&Firmware&Revision:&HPD4&&&&&&&&&&Serial&Number:&ECA1PC80GTS31234&&&&&&&&&&Model:&HP&&&&&&EG0300FBDSP&&&&&&&&&&PHY&Count:&2&&&&&&&&&&PHY&Transfer&Rate:&6.0GBPS,&Unknown&&&&&&&physicaldrive&1I:1:2&&&&&&&&&&Port:&1I&&&&&&&&&&Box:&1&&&&&&&&&&Bay:&2&&&&&&&&&&Status:&OK&&&&&&&&&&Drive&Type:&Data&Drive&&&&&&&&&&Interface&Type:&SAS&&&&&&&&&&Size:&300&GB&&&&&&&&&&Rotational&Speed:&10000&&&&&&&&&&Firmware&Revision:&HPD7&&&&&&&&&&Serial&Number:&&&&&&&&&PMX6902D&&&&&&&&&&Model:&HP&&&&&&EG0300FBDBR&&&&&&&&&&PHY&Count:&2&&&&&&&&&&PHY&Transfer&Rate:&6.0GBPS,&Unknown&
HP官方还有一个hpasmcli管理工具,可以很详细查看服务器CPU,内存,处理器,电源等的温度信息。
1)安装hpasmcli工具(下载地址:
[root@monitor&~]#rpm&-ivh&hp-health-9.40-1602.44.rhel6.x86_64.rpm&
2)通过工具hpasmcli可以查看服务器各部件的温度信息,其中Temp表示各部件当前的温度,Threshold表示临界温度,当当前温度超过临界温度的时候就要注意啦。
[root@monitor&~]#&hpasmcli&-s&'show&temp'&Sensor&&&Location&&&&&&&&&&&&&&Temp&&&&&&&Threshold&------&&&--------&&&&&&&&&&&&&&----&&&&&&&---------&#1&&&&&&&&AMBIENT&&&&&&&&&&&&&&23C/73F&&&&42C/107F&#2&&&&&&&&CPU#1&&&&&&&&&&&&&&&&40C/104F&&&82C/179F&#3&&&&&&&&CPU#2&&&&&&&&&&&&&&&&40C/104F&&&82C/179F&#4&&&&&&&&MEMORY_BD&&&&&&&&&&&&33C/91F&&&&87C/188F&#5&&&&&&&&MEMORY_BD&&&&&&&&&&&&33C/91F&&&&78C/172F&#6&&&&&&&&MEMORY_BD&&&&&&&&&&&&&-&&&&&&&&&87C/188F&#7&&&&&&&&MEMORY_BD&&&&&&&&&&&&32C/89F&&&&78C/172F&#8&&&&&&&&MEMORY_BD&&&&&&&&&&&&32C/89F&&&&87C/188F&#9&&&&&&&&MEMORY_BD&&&&&&&&&&&&32C/89F&&&&78C/172F&#10&&&&&&&MEMORY_BD&&&&&&&&&&&&&-&&&&&&&&&87C/188F&#11&&&&&&&MEMORY_BD&&&&&&&&&&&&32C/89F&&&&78C/172F&#12&&&&&&&POWER_SUPPLY_BAY&&&&&33C/91F&&&&59C/138F&#13&&&&&&&POWER_SUPPLY_BAY&&&&&47C/116F&&&73C/163F&#14&&&&&&&MEMORY_BD&&&&&&&&&&&&29C/84F&&&&72C/161F&#15&&&&&&&PROCESSOR_ZONE&&&&&&&32C/89F&&&&73C/163F&#16&&&&&&&PROCESSOR_ZONE&&&&&&&30C/86F&&&&64C/147F&#17&&&&&&&MEMORY_BD&&&&&&&&&&&&28C/82F&&&&63C/145F&#18&&&&&&&PROCESSOR_ZONE&&&&&&&39C/102F&&&69C/156F&#19&&&&&&&SYSTEM_BD&&&&&&&&&&&&35C/95F&&&&69C/156F&#20&&&&&&&SYSTEM_BD&&&&&&&&&&&&38C/100F&&&71C/159F&#21&&&&&&&SYSTEM_BD&&&&&&&&&&&&44C/111F&&&65C/149F&#22&&&&&&&SYSTEM_BD&&&&&&&&&&&&45C/113F&&&71C/159F&#23&&&&&&&SYSTEM_BD&&&&&&&&&&&&39C/102F&&&69C/156F&#24&&&&&&&SYSTEM_BD&&&&&&&&&&&&47C/116F&&&69C/156F&#25&&&&&&&SYSTEM_BD&&&&&&&&&&&&35C/95F&&&&63C/145F&#26&&&&&&&SYSTEM_BD&&&&&&&&&&&&45C/113F&&&66C/150F&#27&&&&&&&SCSI_BACKPLANE_ZONE&&35C/95F&&&&60C/140F&#28&&&&&&&SYSTEM_BD&&&&&&&&&&&&73C/163F&&&110C/230F&
3)通过hpasmcli -s 'show'查看类似于help的帮助信息,监控的时候要重点关注 DIMM(内存)、FANS(风扇)、POWERSUPPLY(电源模块)、SERVER(系统)、CPU、TEMP(温度)等信息。
[root@monitor&~]#&hpasmcli&-s&'show'&Invalid&Arguments&&&&&&SHOW&ASR&&&&&&SHOW&BOOT&&&&&&SHOW&DIMM&[&SPD&]&&&&&&SHOW&F1&&&&&&SHOW&FANS&&&&&&SHOW&HT&&&&&&SHOW&IML&&&&&&SHOW&IPL&&&&&&SHOW&NAME&&&&&&SHOW&PORTMAP&&&&&&SHOW&POWERMETER&&&&&&SHOW&POWERSUPPLY&&&&&&SHOW&PXE&&&&&&SHOW&SERIAL&[&BIOS&|&EMBEDDED&|&VIRTUAL&]&&&&&&SHOW&SERVER&&&&&&SHOW&TEMP&&&&&&SHOW&TPM&&&&&&SHOW&UID&&&&&&SHOW&WOL&
4)hpasmcli几种常用的例子。
查看内存信息:hpasmcli -s 'show dimm'|egrep -i 'module|stat'
查看风扇信息:hpasmcli -s 'show fans'
查看硬件温度:hpasmcli -s 'show temp'
查看电源模块:hpasmcli -s 'show powersupply'
查看机器型号,序列号,CPU,内存大小:hpasmcli -s 'show server'
由于各种服务器的厂商不同,管理工具不同,因此Zabbix对服务器硬件方面没有很详细,全面的解决方案。之前dl528888写过zabbix通过omsa工具监控DEL服务器,也是一种很好的思路,我也借鉴过,这里非常感谢。
Zabbix监控总结起来有两种思路:第一就是server通过agentd方式获取数据,这种方式需要定义UserParameter参数,即KEY。第二就是server通过trapper的方式获取数据,即agentd将数据主动sender给server或者proxy。我这里是通过第二种traper的方式监控的。第一种方式server有时候会取不到数据:
became&not&supported:&Received&value&[]&is&not&suitable&for&value&type&[Numeric&(unsigned)]&and&data&type&[Decimal]&
会产生上面的错误。
首先查看我监控的脚本,由于是通过traper的思路进行监控,log_file文件依次定义了要监控服务器的主机名(hostname),监控项key以及监控的值。
[root@monitor&scripts]#&cat&hpacuclizabbix.sh&#!/bin/sh&#create&by&sfzhang&&#This&scripts&monitoring&HP&server,&such&as&smart&array&status,Hardware&information&and&server&temperature。&zabbix_server=&*.*.*.*&&#IP&from&Zabbix&Server&or&proxy&where&data&should&be&send&to.&zabbix_sender=&/usr/local/zabbix/bin/zabbix_sender&&log_file='/tmp/hpacuclizabbix.log'&#In&the&file&to&define&the&monitor&host,&key&and&value&hpacucli='/usr/sbin/hpacucli'&options='ctrl&all&show&config&detail'&hpacucli_log=&/tmp/result.log&&PATH=$PATH:/usr/sbin:/sbin&${hpacucli}&${options}&&${hpacucli_log}&Cache_status=`cat&${hpacucli_log}&|awk&'/Cache&Status:/{print&$NF}'`&Controller_status=`cat&${hpacucli_log}&|awk&'/Controller&Status:/{print&$NF}'`&Battery_capacitor_status=`cat&${hpacucli_log}&|awk&'/Battery\/Capacitor&Status:/{print&$NF}'`&Physicaldrive_status=$(awk&-v&total=`hpacucli&ctrl&slot=0&pd&all&show&status&|grep&physicaldrive&|wc&-l`&-v&normal=`hpacucli&ctrl&slot=0&pd&all&show&status|awk&'/physicaldrive/{if($NF==&OK&)&count+=1}END{print&count}'`&'BEGIN{if(total==normal)&{print&&OK&}&else&{print&&NO&}}')&Memory_status=$(awk&-v&total=`hpasmcli&-s&'SHOW&DIMM'|grep&-i&'Status'&|wc&-l`&-v&normal=`hpasmcli&-s&'SHOW&DIMM'&|awk&'/Status:/{if($NF==&Ok&)&count+=1}END{print&count}'`&'BEGIN{if(total==normal)&{print&&OK&}&else&{print&&NO&}}')&Fans_status=$(awk&-v&total=`hpasmcli&-s&'SHOW&FANS'&|grep&&#&&|wc&-l`&-v&normal=`hpasmcli&-s&'SHOW&FANS'&&|awk&'/#/{if($3==&Yes&)&count+=1}END{print&count}'`&'BEGIN{if(total==normal)&{print&&OK&}&else&{print&&NO&}}')&Power_status=$(awk&-v&total=`hpasmcli&-s&'SHOW&POWERSUPPLY'&|grep&&Power&supply&&|wc&-l`&-v&normal=`hpasmcli&-s&'SHOW&POWERSUPPLY'&|awk&'/Condition:/{if&($NF==&Ok&)&count+=1}END{print&count}'`&'BEGIN{if(total==normal)&{print&&OK&}&else&{print&&NO&}}')&Processor_status=$(awk&-v&total=`hpasmcli&-s&'SHOW&SERVER'&|grep&&Processor:&&|wc&-l`&-v&normal=`hpasmcli&-s&'SHOW&SERVER'&|awk&'/Status/{if&($NF==&Ok&)&count+=1}END{print&count}'`&'BEGIN{if(total==normal)&{print&&OK&}&else&{print&&NO&}}')&Power_temp_num=$(hpasmcli&-s&'SHOW&TEMP'&|awk&'/POWER_SUPPLY_BAY/{print&$3}'|awk&-F&C&&'{print&$1}'|awk&'BEGIN&{max&=&0}&{if&($1max)&max=$1&fi}&END&{print&max}')&Ambient_temp_num=$(hpasmcli&-s&'SHOW&TEMP'&|awk&'/AMBIENT/{print&$3}'|awk&-F&C&&'{print&$1}')&Cpu_temp_num=$(hpasmcli&-s&'SHOW&TEMP'&|awk&'/CPU/{print&$3}'|awk&-F&C&&'{print&$1}'&|awk&'BEGIN&{max&=&0}&{if&($1max)&max=$1&fi}&END&{print&max}')&Memory_temp_num=$(hpasmcli&-s&'SHOW&TEMP'&|awk&'/MEMORY_BD/{print&$3}'|awk&-F&C&&'{print&$1}'&|awk&'BEGIN&{max&=&0}&{if&($1max)&max=$1&fi}&END&{print&max}')&System_temp_num=$(hpasmcli&-s&'SHOW&TEMP'&|awk&'/SYSTEM_BD/{print&$3}'|awk&-F&C&&'{print&$1}'&|awk&'BEGIN&{max&=&0}&{if&($1max)&max=$1&fi}&END&{print&max}')&Processor_temp_num=$(hpasmcli&-s&'SHOW&TEMP'&|awk&'/PROCESSOR_ZONE/{print&$3}'|awk&-F&C&&'{print&$1}'&|awk&'BEGIN&{max&=&0}&{if&($1max)&max=$1&fi}&END&{print&max}')&echo&$HOSTNAME&hp_smart_array.cache_status&$Cache_status&${log_file}&echo&$HOSTNAME&hp_smart_array.controller_status&$Controller_status&${log_file}&echo&$HOSTNAME&hp_smart_array.battery_capacitor_status&$Battery_capacitor_status&${log_file}&echo&$HOSTNAME&hp_hardware.hpysicaldrive_status&$Physicaldrive_status&${log_file}&echo&$HOSTNAME&hp_hardware.memory_status&&$Memory_status&${log_file}&echo&$HOSTNAME&hp_hardware.fans_status&&$Fans_status&${log_file}&echo&$HOSTNAME&hp_hardware.power_status&&$Power_status&${log_file}&echo&$HOSTNAME&hp_hardware.processor_status&&$Processor_status&${log_file}&echo&$HOSTNAME&hp_power.temp_num&$Power_temp_num&&${log_file}&echo&$HOSTNAME&hp_ambient.temp_num&$Ambient_temp_num&&${log_file}&echo&$HOSTNAME&hp_cpu.temp_num&$Cpu_temp_num&&${log_file}&echo&$HOSTNAME&hp_memory.temp_num&$Memory_temp_num&&${log_file}&echo&$HOSTNAME&hp_system.temp_num&$System_temp_num&&${log_file}&echo&$HOSTNAME&hp_processor.temp_num&$Processor_temp_num&&${log_file}&$zabbix_sender&-z&$zabbix_server&-i&${log_file}&&/tmp/zabbix.temp&
最后只需开启crontab,5分钟运行一次。
[root@monitor~]echo&&*/5&*&*&*&*&/etc/zabbix/scripts/hpacuclizabbix.sh&&&&&/var/spool/cron/root&
查看zabbix监控HP服务器硬件KEY的定义,数据的收集都是通过trapper的方式收集的。
查看zabbix监控HP服务器硬件triggers定义,其中nodata(600)这个trigger是为了防止被监控端数据采集出问题而设置的,比如crontab不正常,脚本被误删除等等。如果server10分钟之内收集不到被监控端的数据就会报警。
在zabbix server lastdata查看zabbix server 通过trapper收到的数据。
查看被监控端服务器各部件温度信息。
当被监控端出问题时Zabbix会及时报警。
说明:Zabbix监控HP服务器硬件操作方法:
1)在HP服务器上面安装hpacucli和hpasmcli管理工具。
2)修改hpacuclizabbix.sh脚本的zabbix_server ip地址,指定为自己的server或者proxy的地址,并把该脚本添加到crontab。
3)导入附件中的模板,Link到要监控的主机上面即可。
4)如果有其它问题,欢迎多多交流。【编辑推荐】【责任编辑: TEL:(010)】
关于&&的更多文章
对于一名Linux系统管理人员来说,系统故障问题或多或少会出现,
Linux界极具活力,面向不同的用户可以使用不同的Linux发行版,比如适合新手和游戏爱好者等。
讲师: 3人学习过讲师: 15人学习过讲师: 8人学习过
性能监测是系统优化过程中重要的一环,如果没有监测、
OS X Server的Mavericks版本并没有发生这样巨大的变化
近几年,开源业界的创新发展很繁荣,不仅在软件层面,
本书按照国家人事部、信息产业部全国计算机技术与软件专业资格(水平)考试要求编写,内容紧扣《网络管理员考试大纲》。全书共分
51CTO旗下网站

我要回帖

更多关于 监控数据库连接数 的文章

 

随机推荐