一、安装篇
参考:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/
http://www.jb51.net/article/56971.htm
在了解《zabbix硬件、软件需求》之后,在你心里应该有备选的机器。今天开始安装zabbix。zabbix需要LNMP或者LAMP环境。环境的搭建不在本章范围内。
LNMP环境配置
Linux安装:http://www.osyunwei.com/archives/1024.html
NGINX安装:http://www.ttlsa.com/nginx/nginx-install-on-linux/
PHP安装+NGINX配置:http://www.ttlsa.com/nginx/nginx-php-5_5/ (安装前一定要看1.1 PHP安装参数)
MYSQL安装:http://www.ttlsa.com/mysql/install-mysql5_6/
1. PHP配置参数
zabbix对PHP参数、PHP模块有特殊要求。
1.1 PHP安装参数
php具体安装方法参考上面的链接,不过如下模块要特别留意加上
bcmath --enable-bcmath
mbstring --enable-mbstring
sockets --enable-sockets
gd --with-gd
libxml --with-libxml-dir=/usr/local
xmlwriter 同上
xmlreader 同上
ctype 默认支持
session 默认支持
gettext 默认支持
以下是我PHP的配置参数
1.2 PHP配置参数
打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了。
2 zabbix服务端安装
2.1 下载安装zabbix
所有版本下载地址:http://www.zabbix.com/download.php
在zabbix server一般充当两个角色:server、angent,所以上面的配置参数也同时加上了--enable-agent。
备注:请安装好MySQL,snmp,curl开发库。
2.2 创建用户
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:
# groupadd zabbix
# useradd -g zabbix zabbix
2.3 初始化数据库
zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。我当时在搭建proxy的时候导入了3个sql,导致出现报错。后来才发现proxy只需要导入一个表结构即可。
我假想你安装好了MySQL,用户名为root,密码为ttlsapwd
备注:创建数据库请别忘记加default charset utf8,有可能会导致你出现中文乱码问题,具体问题请查看《zabbix中文乱码解决方法》
如果你仅仅是初始化proxy的数据库,那么够了。如果初始化server,那么接着导入下面两个sql
其他数据库(db2\sqlite\oracle)数据库初始化方法参考:https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts
2.4 配置zabbix
配置zabbix_server配置文件,zabbix源码目录下
2.5 启动zabbix server
默认端口10051
3. 客户端安装配置
3.1 下载安装客户端
所有版本下载地址:http://www.zabbix.com/download.php,可以直接下载已经编译好的二进制文件,或者也可以源码安装。
3.2 zabbix客户端配置
配置zabbix_server配置文件,zabbix源码目录下
其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。明白了吗?为什么要分主动和被动?后续再来讨论这个问题!
其他主机安装客户端记得添加zabbix用户。
3.3 zabbix客户端启动
默认端口10050
4. zabbix管理网站配置
4.1 拷贝前端文件
4.2 配置虚拟主机
请相应修改你的配置文件路径
4.3 在线配置zabbix
浏览器打开http://monitor.ttlsa.com/zabbix。
如下是zabbix 2.2的安装界面,包括欢迎界面一共6步.
4.3.1 欢迎界面
4.3.2 php需求检查
4.3.3 MySQL配置
4.3.4 zabbix服务端详细信息
4.3.5 zabbix安装前信息列表
4.3.6 安装完成
如果失败了,一般情况是php对zabbix没有写权限
登陆zabbix,默认用户名:Admin,密码:zabbix
如下是zabbix首页
5. 结束
zabbix安装比较简单,但是也比较消耗时间。相比之下,未来的路还长着呢。请大家继续关注我们运维生存时间的zabbix系列教程。下一篇文章《zabbix数据库需要多大硬盘?我告诉你(6)》
二、配置篇
参考
http://my.oschina.net/guol/blog/109222
Hosts
zabbix中的hosts就是指你想监控的设备,如服务器、工作站、交换机等等。如果你想监控某个主机X的某个变量,你必须先创建一个主机X,然后再给该主机添加监控items。hosts可以被有组织的安排进host group中。
通过zabbix的前端web界面配置hosts:
Configuration->Hosts->Create Host
此页面中有5个表单:Host、Template、IPMI、Macros、Host inventory。
Host表单中包含了一般的host属性,先看看hosts表单可以设置哪些属性:
status monitored表示host已经准备好了被监控,not monitored表示host还没准备好。
Templates表单允许你连接一个templates到该host上面,所有该templates的items、triggers、graphs等等都会得到继承。点击add可以链接一个templates过来,点击unlink则会删除该模版。
Ipmi表单包含一些ipmi的管理属性,如认证算法、特权级别、用户名、密码等。
macros表单 设置一些监控用到的参数
host inventtory表单可以让你手动的输入一些host的信息,类似于资产信息
Host groups
通过zabbix的前端web界面设置host group:
Configuration->Host groups->Create host group
该页面有一个表单:host group
hosts 选择哪些hosts属于该group,一个host group可以有0个或者多个hosts
Items
items表示从host中收集哪些数据项,一旦你配置了一个host,你就需要开始监控一些items以获取真实数据,所有的item都是单独的个体,你可以把很多items附加到一个templates上面,然后把该templates附加到一个hosts上面。在单个的item中你可以指定哪些数据是你想收集的,例如:一个item key名称是system.cpu.load,它会收集cpu的负载,一个item key名称是net.if.in,它会收集进入网卡的信息。你可以给key指定更进一步的参数,就是使用方括号紧跟在key后面,例如:system.cpu.load[avg5],它会收集最近5分钟的cpu负载。
通过zabbix的前端web界面创建一个item:
#需要在Hosts界面中选择相应的实例
Configuration->Hosts->items->create item
该页面包含一个表单:Item
host 可以选择一个host或者一个templates
name 这个显示item的名称,在下面的macros会用到
type 监控客户端的方式,主要分析zabbix agent和zabbix agent(active)两种方式
key item key,支持的item keys可以在单独的item type中查看,在一个host中key必须是唯一的
host interface 选择一个host inserface,可以在host level中编辑它
type of information 采集到的数据在数据库中存储的格式
numeric(unsigned) 64位无符号整型
numeric(float) 浮点数
character 字符型
log log文件类型
text text类型没有限制大小
date type 用在整型的items中,用来指定确切的数据类型
boolean 0/1
octal 八进制
decimal 十进制
hexadecimal 十六进制
units 如果设置了units,zabbix会对收到的数据进行处理,在显示数据时会使用units后缀,默认的原始数据是除以1000不是1024,如果使用B(byte)units,则会使用1024进行分割,如果设置units为B,zabbix会这样显示:1 1B,1024 1KB,1536 1.5KB。如果是unmeric(unsigned)的则可以使用unixtime转化为时间类型,uptime则会转化为可读的时间
use custom multiplier 如果使用了该参数,则对于收到的数据会乘以一个整型或者浮点数,可以用这个选项把KB MBps转化为B Bps类型
update interval 多少秒刷新一次该item
flexible intervals 针对update interval你可以设置例外的情况,可以设置在某个时间段每隔几秒刷新一次,而在其余时间则按照update的设置来刷新,如果有多个flexible设置,则以刷新时间最小的为准。
keep history 在数据库中保存多少天的数据,过期的数据会被清除,
keep trends 保存一些聚合的数据在数据库中的天数,过期数据会被清除,
store value
as is 不进行预处理
delta(speed per second) 评估这些数据(value-prev_value)/(time-prev_time)
delta(simple change) 评估这些数据(value-prev_value)
show value 没折腾明白...
log time format log的时间格式
new application 设置该item属于那个新的application中
applications 把该item连接到已存在的application中,可以是一个或者多个application中
Populates host inventory field 你可以选择一个host信息域存放该item的值,如果设置了automatic inventory population,则他会自动工作,未明白???
description 输入该item的描述
status
enable 该item会被执行
disable 不会被执行
not supportes 不支持该item
item key是什么?
https://www.zabbix.com/documentation/2.0/manual/config/items/item/key
Item types
item types是zabbix提供的各种检查方式,下面主要看zabbix agent类型,这种类型主要通过zabbix agent来收集数据,检查又分为主动检查和被动检查,item key是需要分不同平台的,可以通过下面连接查看大部分平台所支持的item key:
https://www.zabbix.com/documentation/2.0/manual/appendix/items/supported_by_platform
对于win32有一些特殊的item key:
https://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/zabbix_agent/win_keys
History and trends
History and trends是两种保存zabbix收集来的数据的方法,history保存每一个收集来的数据,trends保存一些基于小时的平均、最大、最小值信息。
Mass update
如果你有时候需要一次修改一个item的多个属性值,不用打开每一个单独的item去修改,可以使用mass update,可以选择多个items,然后选择mass update
Value mapping
为了使收到的数据更为人们可读,我们可以使用value maps,它包含了numeric valus到string的映射,value map可以用在zabbix的前端和后端,以及例如email SMS的消息提醒上面,例如0可以表示false,1可以表示true,设置value map:
Administration->General->value mapping->create value map
该页面有一个表单:Value mapping
name 一个唯一的名称。
mapping 中设置各个独立的mappings,设置好value mapping后可以在item的配置界面的show value选项中选择
Applications
applications 用在本地group的group items中,在使用applications之前,你必须创建一个applications,并且link items过去。创建applications:
Configuration->Hosts->Applications->Create application
Configuration->Templates->Applications->Create application
也可以在创建item的时候直接创建application
Queue
queue显示items还剩几分钟刷新,queue只是数据库中数据的逻辑表现,统计很好的显示了zabbix server的性能。 Administration-Queue可以查看,如果有delay的可以通过右上角的details查看具体信息。
Triggers
Triggers是一个本地的逻辑表达式,用来评估items收集到的数据并表示当前系统的状态。当items收集数据的时候,它会非常不切实际的遵循这些数据直到碰到一个报警状态,这个评估数据的任务就由trigger来处理。
触发器允许设置一个阈值来决定什么数据是可以接收的,如果进入的数据超过可接受的状态,触发器则会被触发。触发器有两种状态OK/PROBLEM,如果该值是触发器表达式的一部分,在zabbix server每次收到新的值,触发器的状态会被重复计算。配置trigger:
Configuration->Hosts->Triggers->Create trigger
该页面包含了两个表单:trigger、dependencies
trigger表单属性:
name trigger name,这个名称可能包含macros,$1..$9可以被用来关联表达式的常量。
expression 逻辑表达式用来收集触发器的状态
Multiple PROBLEM events generation 通过设置该选项,你可以在触发器产生problem的时候触发一个事件
comments 关于该触发器的信息
url 如果不为空,则该url被用到screen
serverity 设置触发器的严重程度
enabled 选择激活该触发器
Trigger experssion
触发器表达式在触发器中是很灵活的,可以组合出各种复杂的表达式。简单的表达式模式如下:{<server>:<key>.<function>(<parameter>)}<operator><constant>
function查看:
https://www.zabbix.com/documentation/2.0/manual/appendix/triggers/functions
parameter 许多数值型函数接收参数,有些函数会返回多个值,可以通过在参数前加#,来获取特定的值。
Trigger severity names and colours是可以修改的:
Administration->General->Trigger severities
Events
events在zabbix有三个地方可以用到:triggers、discovery、auto registration。events可以是基于时间戳的,也可以是基于actions的,例如邮件报警。关于events的详细信息可以在 Monitoring-Events中查看,可以通过点击时间查看更详细的信息。
Visualisation
Graphs内建有简单的simple graphs和复杂的custom graphs两种形式。
Simple graphs提供items收集到的数据的可视化的数据图,在simple graphs中不需要用户进行配置,他们都是由zabbix自动生成,可以通过Monitoring->Latest data进行查看,点击具体的item的graph link,就会显示数据图,在图形上面有滑动按钮可以选择查看那个时间的数据,还有右边可以设置时间段来显示数据,左边可以设置图形中显示几个小时的数据量。
Custom graphs 提供一些用户定制的图形。Simple graphs可以用来查看单个item的数据,它没有提供用户定制的功能,如果你想改变图形的风格、线条显示的样式、或者想显示多个items的数据,这时就需要costom graphs,需要手动配置,可以创建针对一个主机、多个主机、或者一个templates的图形。创建custom graphs:
Configuration->Hosts->graphs->create graph
该页面包含两个表单:graph、preview
graph表单:
name 数据图的唯一名称
width 数据图的像素宽度
height 数据图的像素高度
graph type 图像类型,normal 正常图形,数据以线条显示。stacked 叠加式图形。pie 饼状图形。exploded 分解的饼状图形。
show lengend 显示该图利的说明
show working time 如果选择该选项,则未工作的时间段会以灰色背景显示,该选项不支持pie和exploded
show triggers 如果选择该项,触发器会以红线显示,不支持pie和exploded
precentile line(left) 显示左边Y轴的百分比,
precentile line(right) 显示右边Y轴的百分比
Y axis MIN value Y轴的类型,calculated Y轴的值会自动计算,fixed 固定Y轴的最大值和最小值,不支持pie和exploded
Y axis MAX value
items 显示哪个items的数据图,点击add按钮增加items,graphs items可以配置以下属性:
name item的名称,会被显示出来
function 显示哪些值,有all、min、max、avg
draw style 回吐的样式,只支持normal graphs
Y axis side 元素值显示在那个Y轴旁边
color 颜色
Network maps
用来创建网络拓扑图,在创建网络map之前,你必须先创建一个map,它包含了一些基础的元素,然后才能制作maps。你可以用一个hosts、host group、trigger、image来填充一个map。icons代表map的元素,你可以定义一些icons显示的信息,出问题的时候显示的内容,已有的maps可以在Monitoring->Maps上查看,创建一个map:
Configuration->Maps->create maps
该页面只包含一个表单:map
map属性如下:
name map的名称
width map像素的宽度
height map像素的高度
background image 背景图,no image 没有背景图,image 可以选择一个背景图
automatic icon mapping ???
icon highlight 图标高亮,如果element有个主动的trigger,则可以使用高亮图标表示,
mark elements on trigger status
expand single problem 如果一个map元素有一个问题,这个选项控制是否显示该问题的名称,如果选择,problem的名称会被使用
advanced labels 可以让你定义一个分开的标题为分开的element type
icon label type icons的标题类型,label icon的label,ip address ip地址,element name element的名称,status only 状态,nothing 不显示labels
icon label location label的位置,bottom 下方,left 左边,right 右边,top 顶部
problem display 显示故障问题,full 所有的问题都会被显示,separated 未被确认的问题占左右问题的比重,unacknowledged only 只显示未确认的问题
urls 一个很NB的功能
Add elements
点击建立好的初始map图,进入该map的配置界面,点击icon的+则会产生一个icon,新的icon会显示在map的左上方,你可以随意的拖动icon,grid的shown会显示map背景的方格子,点击shown则会变成hidden,则不显示方格子,on则表示elements总是会和方格子对齐,如果你想随意拖动,则点击on则会变成off。
生成新的elements后,你可以给该icon设置新的名称,点击该element即可,一个表单(edit map element)则会显示出来,你可以设置关于该element的一些信息,如类型、名称、不同的icon图标等等,因为默认生成的都是同一个图标,edit map element包含的属性如下:
type element的类型,host 代表该机器的所有的trigger的状态,map代表map中所有element的状态,trigger代表单独的一个trigger的状态,image只代表一个icon,host group代表一个group中所有hosts的triggers状态
label icon的label,可以是任意字符串
label location label的位置,也有default、bottom、left、right、top可以选择
Host 选择一个host,如果element类型是host
Map 选择一个map,如果element类型是map
Trigger 选择一个trigger, 如果element类型是Trigger
Host group 选择一个host group,如果element的类型是Host group
Automatic icon selection 使用map默认的图标
icons 自己决定使用那个icon
coordinates X/Y coordinate of the map element
urls
Select elements
选择一个element之后,可以按住ctrl再选择其他elements,或者通过鼠标划区来选择区内的elements,一旦选择多个elements之后,所有的elements属性都会显示在一个表单中,这时你也可以修改他们的属性。
Link elements
一旦你在maps中有多个elements,你就可以开始连接它们,先选中一个elements,然后按住ctrl再选择一个elements,然后点击link的+,这时候连接就被建立,有一个简单的表单会出来,你可以针对该连接进行简单的设置,主要有以下属性:
label label会显示在link上面
type(ok) line 单线,bold line 粗线,dot 点线,dashed line 虚线
color(ok) 默认的线条颜色
Link indicators 连接一个triggers到link上,如果trigger的状态有变化,则link的样式按照指定的显示,也是就线条样式及颜色
Screens
在zabbix中可以用screens把各种原始数据快速的显示在一副screen上,从本质上说screen是一个table,里面包含了多副图,你可以设置一个tables中有多少cells,每个cell显示什么样的elements,以下的elements可以被显示:simple graphs、custom graphs、maps、other screens、system status......很多。已有的screens可以在Monitoring->Screens中查看
Creat screens
先创建screens中的tables包含多少cells,然后再给cells中添加elements。创建screens:
Configuration->Screens->Create Screen
该页面有一个表单:screen
定义screens包含几行几列,screens都包含一个唯一的名称
Add elements
点击新创建的screens,你会看到一些名为change的links,点击+标识则会增加一行/一列cell,点击-表示则会移除一行/一列cell
点击change则会打开一个表单,让你选择在每个cell中显示的内容,在已有的screens中点击change则会修改该cell,修改表单包含以下属性:
resource 显示在cell中的信息,可以是多种类型的,不同类型的资源,下面会有一些各自独有的属性。
graph name
width
height
horizontal align 水平对齐
vertical align 垂直对齐
column span 列间距
row span 行间距
dynamic item 有些类型的资源会有这个属性,具体的含义如下:如果你设置了该属性,一旦你从Monitoring->Screens查看时,你就会发现在右上角你有一个额外的下拉菜单让你选择host,因此,你可以有一个screens,一些elements显示相同的信息,其他的elements显示的信息依赖域你所选择的host
Templates
一个templates可以设置一个实体,让这个实体方便的应用到一组hosts上面,这个实体可以是items、triggers、graphs、applications、screens、low-level。
当一个templates连接到一个host,则该templates包含的所有实体都会添加到该host,templates经常被用到一组含有相同服务或者应用的机器上。配置template,在创建template的时候,需要你定义几个常用的参数,然后增加一些实体(items、graphs):
Configuration->Templates->Create template
该页含有三个表单:template、linked templates、macros
template表单包含了template的一般属性,如下:
template name 一个唯一的template名称
visible name 如果你设置该名称,则在lists、maps中显示该名称
groups 哪个hosts/templates属于该template
new group 可以在此新建一个group属于该template,如果是空的,则忽略
host/templates List of hosts/templates the template is applied to
linked templates表单允许你连接一个或者多个已经存在的templates到新建的template里面,连接过来的templates中的所有实体都会得到继承
macros表单,允许你定义template-level,底下按钮的意思:
save 保存该template
clone 创建一个template基于目前的template
full clone 创建一个template基于当前的template,包括当前template继承的其他template的实体
delete 删除一个template,template的实体仍然会连接到hosts上
delete and clear 删除一个template并且清除所有的实体
cancel 忽略
linking/unlinking template通过linking应用到hosts,通过unlinking从hosts中脱离
linking一个template:Configuration → Hosts-点击hosts-切换到template表单-点击add按钮
linking一个template到多个hosts:Configuration → Templates-点击template表单, 从group中选择hosts
Notifications upon events
为了可以向zabbix发送消息,或者从zabbix收到通知信息,我们需要:
1 定义一些媒介
2 定义一些行为向我们定义的媒介上发送信息。
行为由条件和操作构成,当条件达成的时候,操作开始执行,两个重要的操作是发送信息和执行远程命令
媒介类型包括多种:email、sms、jabber、Custom alertscripts等等,主要了解一下email、sms、alertscripts
配置email媒介:
Administration→Media-Create media type
该页只包含一个表单:media
media属性如下:
description 媒介类型的名称
type 选择一个媒介类型 email
smtp server 设置smtp server用来发送邮件
smtp helo 设置正确的smtp helo值,一般是domain name
smtp email 一个邮件地址,会显示在邮件的from前面,表示从哪里发出来的邮件
enable 开启emai
然后配置用户媒介,给用户分配指定的地址:Administration→Users-点击具体用户-选择media表单-单机add按钮增加媒介。在new media表单中包含以下属性:
type 选择email作为type类型
send to 定义给哪个邮件地址发邮件
when active 可以定义发送信息的时间段
use if serverity 选择哪些级别的trigger信息将被发送
status 是否使用
Custom alertscripts
如果你不满意现存的发送信息的媒介类型,你可以设置自己的脚本来发送信息,脚本存放在zabbix server配置文件指定的路径中。
Actions
如果你希望值事件发生后执行某些动作,你就需要配置actions,可以在三个地方给相应的事件定义actions:triggers、discovery、auto registration。配置actions:
Configuration->Actions->Event source(选择类型)->Create action
一般有三个表单:action、conditions、operations,以triggers类型为例
action表单:
name 唯一的action名称
Default operation step duration 默认的升级周期
default subject 默认的消息主题,可以包含macros
default message 默认的消息主体,可以包含acros
recovery message 如果开启该选项,zabbix会发送恢复后的信息
recovery subject 恢复消息的主题
recovery message 恢复消息的主体
enable 是否开启该action
Operations
1 你可以对所有的events定义以下两个操作:发送信息,执行一个远程命令
2 针对discovery events,你可以执行以下操作:add/remove/enable/disable host,add/delete group,link/unlink template
3 对于auto-registration事件,你可以执行以下操作:add/disable host,add/link template
可以在operation表单中配置operation details,有如下属性:
step 执行计划,from:从这一步开始执行计划,to:直到执行到这一步,Step duration:执行的时间间隔
operation type 对于所有的events有两种类型的操作:send message和remote command
send message:
conditions 操作执行的条件,not ack 只有events未被确认时执行,ack 只有event被确认时执行
send to user groups 选择给那个用户组发送信息
send to user 选择给那个用户发送信息
send only to 发送消息到你所指定的媒介类型上,可以是全部媒介类型
default message 如果选择该属性,则会使用默认的消息内容,就是在定义action时定义的内容,如果没有选择该选项,则会让你开始定义相关内容
remote command:
target list 选择执行目标,可以是当前机器,也可以是其他机器或者host group
type 选择命令类型,ipmi、custom script、ssh、telnet、flobal script。
commands 输入执行的命令
Remote Commands Configuration
首先确定zabbix_agentd.conf中EnableRemoteCommands被设置为1,remote commands在zabbix agent上执行(custom script):
Configuration->Actions->operations->operation type(remote command)-commands
对于一些特殊权限的命令,可以使用sudo命令执行,不过zabbix并不检查命令是否执行成功,remote command在远程机器执行并没有超时时间, 不过可以在zabbix_server.conf中设置TrapperTimeout来设置超时时间。
可以在conditions表单中定义适当的条件,在灾难发生时激活action,在new condition中可以增加新的判断条件:
https://www.zabbix.com/documentation/2.0/manual/config/notifications/action/conditions
Escalations
使用escations你可以定制脚本发送信息或者执行远程命令,在以下情况中可能用到:
1 当问题发生时,用户可以被立即通知到
2 信息可以一直发送,直到问题解决
3 发送的信息可以延迟
4 信息可以升级到一个级别更高的用户组
5 远程命令可以立刻执行当一个问题没有被解决时
6 恢复信息也可以被发送
你可以定义默认的持续时间和一个定制的持续时间对每一个步骤,最小的持续时间是60s,你也可以定一个初始行动,例如发送信息挥着执行远程命令,对于任何步骤,第一步都是立刻执行,你如你想延后执行,你可以指示它在后面的步骤执行,在每一步骤中都可以定义多个actions,If different escalations follow in close succession and overlap, the execution of each new escalation supersedes the previous escalation, but for at least one escalation step that is always executed on the previous escalation. This behavior is relevant in actions upon events that are created with EVERY problem evaluation of the trigger.
https://www.zabbix.com/documentation/2.0/manual/config/notifications/action/escalations
Macros
zabbix支持多种宏命令,特别是使用macros允许保存时间。zabbix支持的macros:
https://www.zabbix.com/documentation/2.0/manual/appendix/macros/supported_by_location
User macros
为了支持较大的灵活性,zabbix支持user macros,可以在全局template/host级别进行定义,macros可以用在item keys/description,trigger name/expression,other locations。
macros语法是{$MACRO},zabbix使用macros是有优先级的:
1 host级别的第一检查
2 定义在host的templates中的macros
3 全局macros
也就是先搜索host中的定义,如果没有则在templates中深度搜索,如果还没有,则搜索全局macros
全局macros的定义:Administration->General->Macros(右上角)
host/templates级别的定义:在host或者template属性定制的地方会有macros表单
大多时候用的是全局和host级别的macros
User and User groups
所有的zabbix用户通过web界面访问zabbix应用,每个用户有唯一的名称,用户密码是加密过的,存放在数据库,配置user:
Administration->Users->Create user
在该页面有三个表单:user、user media、premissions
user表单属性有:
alias 唯一的名称,作为登陆用
name 用户的第一个名字
last name 用户的第二个名字
password 用户密码
groups 用户都属于哪个用户组中
language zabbix的GUI语言
theme 设置GUI看起来是什么风格,有多种选择
auto-login 是否让zabbix记住你的登录在30天内
auto-logout 是zabiix在多少秒后自动退出
refresh 刷新graphs、screens等等
rows pre page 一页显示多少行 数据
url 你可以设置zabbix登录后跳转到为你指定的url
user media表单:
这个主要设置用户的收信息的方式及时间
premissions表单:
设置用户对host group/hosts都有那些权限
IT services .....
Web monitoring
使用zabbix你可以检查一些可用的web站点,为了在zabbix执行web monitoring,必须支持libcurl,主动检查web站点的过程中,需要设置web场景脚本,一个web场景包含一个或者多个http请求/步骤,zabbix server定期的执行这些步骤,web场景会收集以下信息:在场景中所有步骤的每秒的平均下载速度,失败的步骤,错误消息,在每个步骤中会收集以下信息:每秒的下载速度,响应时间,响应状态。web monitoring支持http/https,通过执行web场景获取的数据保存在数据库中,这些数据会自动的应用在graphs、triggers中。
配置web场景:
1 创建web scenario的第一步是创建一个合适application,web scenarios会link到application中
2 开始配置web scenarios
Configuration->Web->Create scenario
包含两个表单:scenario、steps
scenario表单允许你配置一些普通属性:
application 选择scenario属于那个applicatin
name scenario的唯一名称
Authentication 认证选项:none 不认证,basic auth 基本认证,ntlm auth win 认证。只要选择认证都需要输入用户名和密码
Update interval 多久执行一次场景
agent 选择一个模仿的客户端,IE 火狐 oper
variables 列出一些在场景步骤中使用的变量,例如{xxx}=1
active 是否使用该web场景
steps表单允许你配置web场景中的步骤,可以添加删除步骤,配置属性如下:
name 唯一的名称
url 连接到哪个url并获取数据,get变量可以在url
post http的post的变量,如果在web scenario中定义了macro,这时候可以使用
timeout 超时时间
required string 可以设置正则表达式的url,可以尝试,直到失败,如果是空,则表示不检查该内容
required status codes 期望返回的http状态码,可以是多个,如果返回的状态码和期望的不一致,则表示这一步骤失败,如果是空,表示不检查该内容
可以在Monitoring->Web/Latest data 点击相应的scenario查看已有的场景。
当创建一个web scenario的时候会自动的加入一些items,就是上面提到的监测的三项内容
Maintenance
你可能在某个使其要维护hosts或者host group,有两种类型的维护,一种是有数据收集的,一种是没有数据收集的。可以在维护期间停止信息的通知,需要修改action的配置,'Maintenance status = not in “maintenance”',如果在维护期间产生一个问题并且没有恢复,则会在维护完成后发出信息。zabbix server在维护期间不能停止,它在维护期间要收集hosts状态,一个zabbix proxy可能会一直收集数据而不管维护状态是什么,如果设置的是不收集数据的,即使收集的数据也会被server忽略。配置维护周期:
Configuration->Maintenance->Create maintenance period
包含三个表单:maintenance、periods、hosts&&groups
Maintenance表单包含了一些普通的属性:
name 维护周期名称
maintenance type 维护类型,收集数据或者不收集数据
active since 什么时候开始执行维护
active till 什么时候结束维护
description 对于维护的描述
periods表单允许你设置精确的天数和小时
hosts&&groups 表单允许你选择哪些hosts host group在维护
在Monitoring->Dashboard可以显示维护的机器,用个手钳表示
Network discovery
zabbix提供自动发现网络的功能,当一个网络建立好的时候,你可以加速zabbix的部署,简化管理,而不需要过多的管理部门,zabbix的网络发现功能依赖于以下信息:ip区域,外部服务的可用性,从zabbix agent收到的信息,从snmp agent收到的信息。但是它没有提供网络拓扑的发现功能。network discovery主要由两部分组成:discovery和actions
先看discovery:zabbix定期的扫描在network discovery rules中定义的ip范围,也可以针对每个单独的规则定义扫描频率,每个规则都有一个服务检查范围,discovery的各个检查都是独立的,一个check的失败并不影响其他check。
Every check of a service and a host (IP) performed by the network discovery module generates a discovery event.
service up:每次zabbix都检查现在运行的服务
service down:每次zabbix都不检查服务
host up:如果发现至少一个服务是正常的
host down:如果所有的服务都没有相应
service discovered:如果服务是停机后回来或者第一次发现的
service lost:如果服务在主机启动后丢失
host discoverd:如果主机是在停机时间之后或者第一次发现
host lost:如果主机在up之后丢失
再看actions:discovery事件可以基于一些actions,例如:发送信息,add/remove hosts,enable/disable hosts,把一个主机加入组中,在一个组中移除主机,连接一个主机到template中或者取消,执行远程脚本,这些action都是可以配置的。
配置网络发现规则:可以通过网络发现规则来发现hosts和services:
Configuration->Discovery->Create discovery rule
该页面只包含一个表单:discovery rule
discovery rule属性:
name 规则的唯一名称
discovery by proxy 什么来执行发现,一个是no proxy 指zabbix server来发现,一个是proxy name指通过proxy来发现
ip range 发现哪个区间的ip,支持多种格式的IP段
delay 指定zabbix多久执行一次规则
checks zabbix使用列表中的服务来执行发现过程
device uniqueness criteria 设备唯一性条件,可以是ip address也可以是type of discovery check,具体是干啥的还需深入了解
enable active 该规则是活跃的并被zabbix server执行,disable 不被执行
例子:https://www.zabbix.com/documentation/2.0/manual/discovery/network_discovery/rule
Active agent auto-registration
zabbix允许活跃的zabbix agent自动注册,当以前一个未知的agent要求检查时,会发生自动注册行为。这样对于自动检测新的节点来说很方便,在配置agent自动注册时需要你针对agent设置一个action,还需要在agent的配置文件中进行一些参数设置。配置auto-registration:
Configuration->Actions->Auto registration->Create action
该页有三个表单action、conditions、operstions
action表单设置action名称,condition表单不需要设置,operations设置add host、add to host group等等 , 此外还需要配置agent file,zabbix_agentd.conf:server参数
low-level discovery
low-level discovery提供了一个自动创建items、triggers、graphs针对不同的节点,在zabbix2.0中支持三种不通的item discovery:file system、network interfaces、snmp oid。
相关推荐
zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 zabbix安装配置功能介绍及应用场景 ...
linux平台下 zabbix安装及配置 需要提前做好lnmp 自己配置lnmp
通过以上步骤,您可以成功地在 CentOS 7 系统上安装并配置 Zabbix 3.4 监控系统,实现对网络设备、服务器及其他资源的有效监控。这不仅有助于提高系统的稳定性和安全性,还能显著提升故障处理效率。
14_zabbix安装及配置演示02 15_zabbix UI及其基本配置 16_zabbix基本监控配置详解01 17_zabbix基本监控配置详解02 18_zabbix基本监控配置详解03 19_zabbix基本监控配置详解04 20_zabbix核心概念回顾及触发器引入01 ...
5. **Zabbix配置**:配置Zabbix主要包括定义主机、监控项、触发器、动作等。对于CentOS 7,需要安装Zabbix Agent并在服务器上启动它,让Zabbix Server能够收集系统级别的监控数据。同时,设置Web界面,如添加图形和...
本课程将详细介绍Zabbix的安装配置过程以及如何实现基本的监控功能。 首先,我们需要了解Zabbix的系统需求,包括操作系统支持(如Linux、Windows)、数据库(如MySQL、PostgreSQL)以及硬件和软件资源的要求。在...
接着,创建Zabbix配置文件目录,并将配置文件复制过去: ```bash mkdir /etc/zabbix cp misc/conf/* /etc/zabbix/ ``` 编辑`zabbix_server.conf`和`zabbix_agentd.conf`,设置数据库连接信息和其他必要的配置。 将...
Zabbix 安装详解及配置 Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。下面是 Zabbix 的安装部署过程和报警配置。 一、Zabbix 简介 Zabbix 能监视各种网络参数,保证...
整体而言,这份手册提供了在Linux环境下安装和配置Zabbix 3.4.4的详细步骤,涵盖了从部署包下载安装到服务端配置和启动的全过程。通过手册的指导,即便是没有丰富经验的用户也能够顺利完成Zabbix的安装和配置,开始...
### Zabbix在CentOS 7下的安装指南 #### 一、安装MySQL (MariaDB) **1.1 安装MariaDB** 在CentOS 7环境下安装MariaDB作为Zabbix的后端数据库,首先通过`yum`命令安装MariaDB及其服务组件: ```bash yum install ...
4. **配置文件及web前端文件修改**:编辑`/etc/zabbix/zabbix_server.conf`,配置数据库连接信息、监听地址、日志文件位置等。同时,配置web前端的`/etc/zabbix/zabbix_web.conf`,如PHP设置和Apache或Nginx配置。 5...
Zabbix 配置安装详解 Zabbix 是一个功能强大的监控系统,能够监控服务器、网络设备、应用程序等多种设备和应用程序。为了安装和配置 Zabbix,需要安装和配置多个依赖项,包括 Apache、PHP、MySQL 等。 一、安装 ...
### Zabbix安装配置和使用详解 #### 一、Zabbix简介 Zabbix是一款开源的企业级网络监控工具,能够实现对网络设备、服务器以及应用程序的全方位监控。它支持自动发现网络资源、灵活的数据采集方式以及丰富的报警机制...
Zabbix安装配置文档.pdf 文件pdf格式的,内容是ppt格式的。 ================================================== Zabbix安装配置文档.pdf 文件pdf格式的,内容是ppt格式的。 =====================================...
14_zabbix安装及配置演示02.avi 15_zabbix UI及其基本配置.avi 16_zabbix基本监控配置详解01.avi 17_zabbix基本监控配置详解02.avi 18_zabbix基本监控配置详解03.avi 19_zabbix基本监控配置详解04.avi 20_zabbix核心...
### Zabbix安装配置手册知识点概览 #### 一、关于Zabbix ##### 1.1 Zabbix简介 Zabbix是一款成熟且功能强大的开源监控解决方案,主要用于网络设备、服务器硬件及应用服务的监控。该系统提供了丰富的特性,如自动...
#### 一、Zabbix-Server 的安装与配置 Zabbix 是一款开源的企业级监控工具,它能够提供网络监控、应用监控、系统监控等功能,支持主动及被动数据采集模式,是现代数据中心不可或缺的一部分。 ##### 1. Zabbix ...