「java能做zabbix」java能做游戏吗

博主:adminadmin 2022-11-22 09:09:09 52

今天给各位分享java能做zabbix的知识,其中也会对java能做游戏吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何通过Zabbix获取监控数据

您好,是这样的:

zabbix基本架构:

1.Server

zabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。

2.Agent

部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。

3.Proxy

可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。

4.Java gateway

java实现的守护进程用于监控JMX类型的应用程序。

5.Sender

命令行工具zabbix_sender,用于向zabbix server发送性能数据和可用性数据。多用于用户脚本定期向server发送数据。

如:

shell cd bin

shell ./zabbix_sender -z zabbix -s "Linux DB3" -k db.connections -o 43

6.Get

命令行工具zabbix_get,用于同agent通信从agent获取数据。可用于zabbix agents的troubleshooting。

如:

shell cd bin

shell ./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站点可用性

frontend

zabbix的web界面

zabbix api

允许通过JSON RPC 协议创建、更新和获取zabbix对象如,hosts, items, graphs and others。或者执行其他任务

zabbix server

zabbix核心,履行监控,与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中。

参考:

zabbix取数方式

1.zabbix api

基于WEB的API,通过JSON PRC协议获取或更改zabbix配置,并可用于获取历史监控数据。clients和API间的request和response使用JSON格式。包含一系列可从功能上分为不同组别的方法。

发起HTTP请求的格式类似如下:

POST HTTP/1.1

Content-Type: application/json-rpc

{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}

其中是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": "0424bd59b807674191e7d77572075f33",

"id": 1

}

*获取hosts信息

{

"jsonrpc": "2.0",

"method": "host.get",

"params": {

"output": [

"hostid",

"host"

],

"selectInterfaces": [

"interfaceid",

"ip"

]

},

"id": 2,

"auth": "0424bd59b807674191e7d77572075f33"

}

本例使用可用的用户认证令牌通过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": "0424bd59b807674191e7d77572075f33",

"id": 3

}

其中params参数中的几个关键参数含义如下:

name:监控项的名称,这个可以自己灵活定义,其中的$1代表key_中的第一个参数,此处为/home/joe/

key_:预定义的监控项,zabbix提供了一系列此类监控内容,此处需从其中进行选择。

hostid:即上步获得的hostid

value_type:监控数据值的类型,不同的数字代表不同的类型,此处的3代表整型

delay:zabbix取数时间间隔,此处为30秒取一次

返回结果如下:

{

"jsonrpc": "2.0",

"result": {

"itemids": [

"24759"

]

},

"id": 3

}

itemid为生成的监控项的id

*获取历史数据:

从历史记录表获取itemids为23296的按clock降序排列的十条记录

history参数可能的取值

0 - float;

1 - string;

2 - log;

3 - integer;

4 - text.

{

"jsonrpc": "2.0",

"method": "history.get",

"params": {

"output": "extend",

"history": 0,

"itemids": "23296",

"sortfield": "clock",

"sortorder": "DESC",

"limit": 10

},

"auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

返回结果:

{

"jsonrpc": "2.0",

"result": [

{

"itemid": "23296",

"clock": "1351090996",

"value": "0.0850",

"ns": "563157632"

},

{

"itemid": "23296",

"clock": "1351090936",

"value": "0.1600",

"ns": "549216402"

},

...]

}

*错误处理

下例忘记了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": "0424bd59b807674191e7d77572075f33"

}

返回结果如下,包含的不是result属性而是error属性

{

"jsonrpc": "2.0",

"error": {

"code": -32602,

"message": "Invalid params.",

"data": "No groups for host \"Linux server\"."

},

"id": 3

}

对于获取监控数据来说,比较关心的应该是history.get这个方法。这种方式实际上最终还是由后台数据库获取的。方法提供了丰富的参数,使用非常灵活。但对于一次性大规模的取出大量主机大量监控项的大批数据不太适合。

运维监控 zabbix可以做哪些监控

1、监控windows进程内存。在C盘中创建脚本a.bat,内容tasklist。

2、在zabbix客户端配置文件zabbix-agentd.win.conf中添加UserParameter=aa,c:\a.bat。

3、在主机的监控项中添加新的监控项,这样就可以监控windows进程内存。

4、还可以通过zabbix监控网络设备,网络配置接口/区域区域TAB页,在“允许管理设备”里勾选“SNMP”。

5、在网络配置高级网络配置里,找到snmp标签页,添加一条SNMP V1/V2规则。

6、用snmp进行管理,这里的设备的IP一定要在第一步“允许管理此设备的IP”范围内,用下面命令进行测试。

7、创建监控主机,选择snmp接口,默认端口为161。

8、通过在zabbix上创建监控项,配置上键值、SNMP OID、SNMP community。

9、这样就能通过监控项获取到最新数据了。

「java能做zabbix」java能做游戏吗

linux编写的java程序怎么用zabbix监控

输入vi HelloWorld.java 进入HelloWorld.java编辑,写上helloword的代码 public class Heoolworld{ public static void main(String[] args){ System.out.print("Hello World!"); } } 按住键盘上的esc键,然后输入:wq保存并退出 输入命令javac H...

Java怎么获取zabbix监控到的信息??

第一种方法:通过API进行数据交互,比较繁琐。

Zabbix使用Json格式的API,官方文档在这里:网页链接

使用Java通过HTTP的GET和POST获取信息。

第二种方法:通过数据库直接交互。速度更快。

但也需要看上面的文档。API就相当于数据库了。

这里需要的就是通过Java连接Zabbix数据库,通过视图等方式直接读取信息。

zabbix可以监控什么

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

扩展资料:

1、Agent监控方式

在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息。

Agent监控方式分为主动和被动模式。在被动模式下,zabbix-agent监听10050端口,等待zabbix-server的监控信息收集信息请求;在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器的10051端口。

2、Trapper监控方式

Trapper监控方式使用zabbix-sender程序主动向zabbix-server发送数据。key的名称和发送的数据内容都可以灵活定义。发送的信息采用JSON格式,遵循zabbix-sender协议。可以自定义脚本利用zabbix-sender协议来zabbix-server发送信息。

3、SNMP监控方式

SNMP包括进程管理和被管理设备两部分。作为一种国际通用的网络管理协议被广泛的应用于各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上。

4、JMX监控方式

JMX是Java平台为应用程序,设备,系统等植入管理功能的框架。在zabbix中,JMX数据的获取由zabbix-java-gateway代理程序来负责数据的采集。

5、IPMI监控方式

IPM原本是Intel架构中企业系统的周边设备所采用的一种工业标准,以后成为业界通用的标准。用户可以利用IPMI监控服务器的物理特性,如温度,电压,电扇工作状态,电源供应等指标。

参考资料来源:百度百科——zabbix

zabbix-agent 使用普通用户来运行

使用yum来安装的 zabbix-agent 默认使用zabbix运行,通常情况下这没有什么问题。近期我们有个需求,我们希望通过zabbix来监控java进程中jvm的信息。对jvm的监控我们通常使用jstat命令,这要求使用该命令的用户和java进程启动的用户为同一用户。

由于我们的java进程都是使用app用户来启动的,也就是说如果我们要使用zabbix来调用jstat命令,那么zabbix也需要使用app用户来启动。

实现的方法比较简单,就是修改zabbix-agent相关的配置文件,如果已经启动过的,那么还需要修改对应的目录属主。

使用rpm命令我们查看下安装zabbix-agent会在创建那些目录并且生成什么样的配置文件。

从上面的结果我们可以知道需要修改哪些配置文件,咱们依次来修改。

如果你的zabbix-agent在修改上述配置前已经启动过了,那么在修改配置后,在重启zabbix-agent前,你需要修改zabbix-agent的相关目录属主。

做完以上修改,咱们的zabbix-agent就能使用app用户来启动了。

关于java能做zabbix和java能做游戏吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。