本文目录一览:
- 1、如何通过Zabbix获取监控数据
- 2、zabbix服务器端没监控10051端口,怎么解决
- 3、ZABBIX PHP.ini max_input_time 默认是被注释了,修改不生效。求解!!!!
- 4、zabbix 3版本 需要什么php版本
- 5、运维监控 zabbix可以做哪些监控
如何通过Zabbix获取监控数据
您好,是这样的:
zabbix基本架构:
1.Server
zabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。-zabbix3.0.4监控php
2.Agent
部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。-zabbix3.0.4监控php
3.Proxy
可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。-zabbix3.0.4监控php
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-zabbix3.0.4监控php
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等。-zabbix3.0.4监控php
最终配置会被存储在后端database中。
参考:
zabbix取数方式
1.zabbix api
基于WEB的API,通过JSON PRC协议获取或更改zabbix配置,并可用于获取历史监控数据。clients和API间的request和response使用JSON格式。包含一系列可从功能上分为不同组别的方法。-zabbix3.0.4监控php
发起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":{}}是请求的具体内容。-zabbix3.0.4监控php
一些实例:
*登录认证
{
"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这个方法。这种方式实际上最终还是由后台数据库获取的。方法提供了丰富的参数,使用非常灵活。但对于一次性大规模的取出大量主机大量监控项的大批数据不太适合。-zabbix3.0.4监控php
zabbix服务器端没监控10051端口,怎么解决
Zabbix Server需要运行在CentOS、RedHat Linux、Debain等Linux系统上,这里以RHEL AS5作为部署环境。root用户安装必须的包,建议配置好yum,通过yum安装下列包,解决包的依赖关系。-zabbix3.0.4监控php
其他需要用到的包:yumel下载最新的Zabbix安装包
1、启动MySQL数据库:
#mysqladmin –测试能否正常登陆数据库–proot
create database zabbix character set utf8;
# cat ./create/data/data.sql |mysql -uroot -proot zabbix
# ./--enable-proxy --prefix=/usr/local/zabbix
2、配置文件及web前端文件修改
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-trapper 10051/udp # Zabbix Trapper
# chown -R zabbix:zabbix /etc/zabbix
# vi /etc/zabbix/zabbix_server.conf
3、添加web前端php文件cd frontends/
# #
修改php相关参数vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉
post_max_size = 32M
4、重启apache
按提示一步步next,其中Step 3
5、配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix
#/usr/local/zabbix/sbin/zabbix_server
# 修改配置目录,将如下两个文件中的 ,# vi /etc/init.d/zabbix_server_ctl
# # span courier="" new';="" font-size:="" 9pt;="" mso-spacerun:="" 'yes'"="" style="padding: 0px; margin: 0px;"echo '/etc/init.d/zabbix_-zabbix3.0.4监控php
##启动Server和Agentd(可以通过start stop restart来操作) zabbix_agentd_ctl start zabbix_
#ps
vi /etc/ld.so.conf
至此Zabbix Server的安装已完成。
ZABBIX PHP.ini max_input_time 默认是被注释了,修改不生效。求解!!!!
php.ini文件没有被应用。
查看 phpinfo(),找到应用的php.ini路径,修改该文件后,重启php-fpm。
重启php-fpm 一定要加上后面的参数应用该配置文件 -c php.ini路径
刷新zabbix页面就可以了。
zabbix 3版本 需要什么php版本
php的,用了thinkphp框架,i wipe,又造一遍轮子,之前和小伙伴@淑高用python弄过一个简单的运维后台,集成了saltstack和ansible,后来离职了就没搞了),现在想在cmdb系统中显示服务器的一些基本监控情况,这里用到zabbix api来获取服务器信息。-zabbix3.0.4监控php
zabbix api 需要post过去的数据格式如下
Shell
{
"jsonrpc": "2.0",
"method": "method.name",
"params": {
"param_1_name": "param_1_value",
"param_2_name": "param_2_value"
},
"id": 1,
"auth": "159121b60d19a9b4b55d49e30cf12b81",
}
运维监控 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、这样就能通过监控项获取到最新数据了。