zabbix 安装部署

本文介绍了在CentOS6.9系统上安装Zabbix 2.4的详细步骤,包括先安装LAMP架构,配置Zabbix的YUM源,以及设置自动发现和自动注册。自动发现规则通过system.uname进行主机发现,并创建相应动作。此外,还讨论了当Zabbix-agent状态DOWN时,如何配置动作以自动移除监控主机。

声明:本博客zabbix 版本为2.4,系统为CentOS6.9

  • zabbix 依赖于lamp架构。首先安装lnmp 架构:

在2.4版本中,如果通过yum 安装会自动解决依赖性:

  • 配置zabbix的yum 源:
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 
yum install -y zabbix-server zabbix-agent zabbix-web-mysql zabbix-server-mysql
yum install -y mysql-server
  • 配置部分:

关于lamp 架构的配置:
php

/etc/php.ini
date.timezone =Asia/Shanghai

mysql

create database zabbix;
grant all on zabbix.* to zabbix@"localhost" identified by "zabbix"
cd /usr/share/doc/zabbix-server-mysql-2.4.8/create
mysql  -uzabbix -pzabbix  zabbix< schema.sql
mysql -uzabbix -pzabbix zabbix <image.sql
mysql -uzabbix -pzabbix zabbix <data.sql

zabbix-server

cat /etc/zabbix/zabbix_server.conf|grep -v ^[#]
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
JavaGateway=192.168.1.193
JavaGatewayPort=10052
StartJavaPollers=3
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
SNMPTrapperFile=/var/log/snmptt/snmptt.log

zabbix-agent

cat /etc/zabbix/zabbix_agentd.conf |grep -v '^#'|grep -v '^$'
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
SourceIP=192.168.1.193
EnableRemoteCommands=1
LogRemoteCommands=1
Server=192.168.1.171
ListenIP=192.168.1.193
StartAgents=5
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agentd.d/
  • 自动发现和自动注册的区别: 在本地局域网内,可以通过一些发现策略来进行主机发现并注册,但是如果很多服务器都处于云端,使用自动发现无疑就不适用了,此时要使用自动注册
  • 开启自动发现功能
    自动发现功能需要一个发现规则:configuration >> discovery >>create discovery rules
    发现规则: (通过system.uname 进行主机的发现)
Discovery by proxy  no proxy
IP range        192.168.1.1-254
Delay (in sec)  300
Checks
Zabbix agent "system.uname"     
Device uniqueness criteria
 IP address
Zabbix agent "system.uname"
  • 创建动作:configuration >> action>>create action >> discovery
    选择动作名称,动作触发条件,动作内容

动作触发条件:

    Received value like Linux    >> 该值来自于发现规则中system.uname返回值
    Uptime/Downtime >=        >> agent 启动时间大于多少时间
    Discovery status = up         >> agent 服务器的状态是启动的
    Service type=zabbix agent >> 触发该动作的服务是zabbix agent

动作产生的操作:

添加主机
添加主机组
链接到模版(模版可以定制)

同时为了在agent 关闭后能够及时移除监控中的主机,需要添加新动作,当服务状态down了一定时间后自动移除
触发条件:

Uptime/Downtime >= 60   
Discovery status = Down 
Service type = Zabbix agent

zabbix-agent 配置文件详解:

### Option: PidFile
#pidFile=PID
指定程序PID路径,建议不要修改
### Option: LogFile 
#LogFile=PATH
指定客户端运行产生日志文件的位置,建议不修改
### Option: LogFileSize 
#LogFileSize=数字 
客户端产生日志大小控制,默认为1M,若为0,则不产生任何日志,数字范围(1-1024M),不建议关闭日志功能
### Option: DebugLevel 
0~4级别,日志产生量在相同单位时间,生成的日志量为递增,即0级别日志量最少,4级别最多,默认3级别,建议视具体情况,自行把握
### Option: SourceIP 
#SourceIP=IP地址 
当系统设置有多个IP时,需要指定一个IP与二级代理或服务器端通信,如果只有一个IP,也建议指定一个IP
### Option: EnableRemoteCommands 
0 -- not allowed 
1 -- allowed
是否允许在本地执行远程命令,如果允许在本地执行,那么设为允许
### Option: LogRemoteCommands 
0 -- 不产生日志
1 -- 产生日志
当参数EnableRemoteCommands 时,执行远程命令是否保存日志,建议设为1
##### Passive checks related 
与被动模式有关的参数设置
在被动模式下,由二级代理或服务主动请求agent,去获取所采集的监控数据
### Option: Server 
#Server=IP地址或主机名,建议IP地址
在有二级代理的情况下,此IP地址应该填写二级代理的服务器IP,反之,如果没有二级代理,应该设置此IP为服务器端IP
### Option: ListenPort 
# ListenPort=数字 
如果此agent端一本地服务形式运行,强烈建议使用默认端口,也可以修改为其他未占用的端口
### Option: ListenIP 
# ListenIP=IP地址
对应的ListenPort监听到那个IP上边,建议指定IP,不要使用默认。
### Option: StartAgents 
#StartAgents=数字 
在被动模式下,此参数用于设置监听进程可启用的子进程的数量,如果监控项很多,且采集很频繁,建议加大此数值,如果此数值为0,则禁止使用被动模式,一般情况下不建议修改此值,启用线程越多,对资源的占用越频繁
##### Active checks related 
与主动模式有关的参数设置
在主动模式下,agent端将所采集的结果主动提交给二级代理服务器或者服务器,再此情况下,二级代理服务器或者服务器将被动接收采集信息
### Option: ServerActive 
#ServerActive=IP地址或IP地址:端口号 
在主动模式下,ServerActive为二级代理服务器或服务器,采用默认端口,默认10051
### Option: Hostname 
# Hostname=主机名 
手工定义一个主机名,可以和系统的主机名一致,也可以不一致,建议关闭此参数,并启用HostnameItem参数
### Option: HostnameItem 
#HostnameItem:自动获取主机名 
system.hostname 是zabbix 内置的一个自动获取主机名的方法,为了方便配置,建议关闭Hostname,HostnameItem的优先级低于Hostname,当两个参数都启用且配置的情况下,zabbix获取主机名将以Hostname为准
HostnameItem=system.hostname
### Option: HostMetadata 
#  HostMetadata=字符串 
用于定义当前主机唯一标识符,最大长度255位,仅适用于自动发现情况。默认不定义,建议不定义
### Option: HostMetadataItem 
用于获取主机的HostMetada,建议保持默认
### Option: RefreshActiveChecks
#RefreshActiveChecks=数字 
被监控的主机多久(秒)重新请求二级代理或服务端刷新一监控列表。范围为60-3600秒。ZABBIX运行原理为:,zabbix客户端启动后,在等待RefreshActiveChecks秒后,开始从二级代理或服务端请求并下载监控项信息,保存在本地专门的buffersend中,再过RefreshActiveChecks秒后,重新获取监控项信息。这就是为什么当配置监控项,要过一会才能生效的原因。这个数值,就是等待时间。建议,不要将此数值设置过小,以免加大AGENT端和服务端及数据库的压力,建议为120秒。
### Option: BufferSend 
#BufferSend=数字
多少秒后,将BUFFER中的数据提交到二级代理或服务端。范围(1-36600)此数值的大小决定了采集后,提交数据的及时性,数值越小,则提交得越频繁,对服务器压力越大,同时对AGENT端系统资源消耗越大,则表现出来的现象是报警非常及时,建议根据实际情况自行考虑,也可保持默认,若发现ZABBIX消耗资源较多,建议加大此数值。
### Option: BufferSize 
此参数作用设置保存采集数据在内存中的容量大小。若此agent端监控项较多,建议加大此数值。BufferSize与BufferSend之间有联系的。当达到bUFFERSEND或Buffersize已满时,都会触发数据提交动作。
### Option: MaxLinesPerSecond 
#MaxLinesPerSecond=数值
定义了AGENT在1秒内发送的日志行数,用于避免网络或cpu过载,建议保持默认
 ############ ADVANCED PARAMETERS #################
#高级参数设置  
### Option: Alias 
设置参数的别名。它可以替代长和复杂的一个小而简单的一个有用的参数名称
### Option: Timeout 
#Timeout=数值
当agent采集一个数据时,多长少算超时。建议保持默认 
### Option: AllowRoot 
#AllowRoot=0或1 
是否允许ROOT帐号运行此客户端。0:不允许,1:允许,当一个脚本执行需要以ROOT身份执行的,则此开关必须打开,建议根据实际情况开启或关闭
### Option: Include 
# Include=目录路径或扩展配置文件路径 
从配置文件可管理性或扩展性考虑,若需配置大量参数的且为了方便后续管理可以启用此参数,建议根据实际情况考虑,不过,一般情况下无须启用
####### USER-DEFINED MONITORED PARAMETERS #######
#UnsafeUserParameters=0或1
是否启用用户自定义监控脚本,1启用,0不启用。由于ZABBIX实现监控方法的多样性,一般都采用脚本来实现监控数据的采集,所以,建议开启,否则功能将受限。
### Option: LoadModule 
 #UserParameter=

#说明:用户自定义监控脚本,当且仅当UnsafeUserParameters=1时UserParameter生效。以下为SNC初始自定监控脚本,不建议修改,已有选项,但可自义添加。

#自定义监控项配置语法

#UserParameter=key,command

#如何使用:以获取mysql监控为例

#步骤1,设置自定义脚本

#UserParameter=mysql.questions,mysqladmin -uroot --password='XXXXX' status|cut -f4 -d":"|cut -f1 -d"S"
保存退出,并重启AGENT
步骤2,手工验证
在二级代理端或服务器端用命令 zabbix_get -s IP -k mysql.questions 将返回采集信息
步骤3,在管理页面添加监控项
注意:成功关键,脚本本身具有可执行权限,且脚本运行正常 

* UserParameter=cmd[*],$1 $2 $3 $4 $5 $6 $7 $8 $9

UserParameter=setenv[*],java -jar /smp/sncmon/java/setenv/setenv.jar $1 $2

UserParameter=oracle[*],java -jar /smp/sncmon/java/oracle/oracle.jar $1 /smp/sncmon/java/oracle/

UserParameter=db2[*],/smp/sncmon/java/db2/linux.sh $1

UserParameter=mindwaresctipt,setsid /smp/sncmon/shell/middleware/middle_zabbix.sh

UserParameter=agent.restart,/smp/sncmon/shell/agent/agentrestart.sh

UserParameter=diskmon,/smp/sncmon/shell/diskmon/disk_mon.sh $1 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值