Installing monitoring: zabbix on EON
written/contributed by pace Feb 18, 2011
More info on zabbix can be found here (screenshots). Sources and pre-compiled binaries can be downloaded here.
!!! Instructions assume you have the binary kit installed !!!
Download and install Zabbix Agent version 1.8.3 (you may want to check for a newer version of the agent):
cd /tmpwget http://www.zabbix.com/downloads/1.8.3/zabbix_agents_1.8.3.solaris11.i386.tar.gzgzip -dc zabbix_agents_1.8.3.solaris11.i386.tar.gz | tar -xf -cp ./zabbix_agents_1.8.3.solaris11.i386/bin/* /usr/local/bincp ./zabbix_agents_1.8.3.solaris11.i386/sbin/* /usr/local/sbinAdd the zabbix user and group account:
groupadd zabbixuseradd -g zabbix -d /etc/zabbix -s /usr/bin/false zabbixThe previous command will make the following in /etc/passwd: (your uid:501 and gid:501 may be different, do not change those):
zabbix:x:501:501::/etc/zabbix:/usr/bin/falseAdd the entries to /mnt/eon0/.exec so zabbix starts automatically at boot time:
# zabbix section(cd /etc ; ln -s ../${POOL}/local/etc/zabbix .)(cd /var/log ; ln -s ../${POOL}/local/var/log/zabbix .)(mkdir /var/run/zabbix ; chown zabbix:zabbix /var/run/zabbix)(mkdir /var/log/zabbix ; chown zabbix:zabbix /var/log/zabbix)/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.confCreate the Zabbix Configuration file: /etc/zabbix/zabbix_agentd.conf
Example (change "Server" and "Hostname"):
# This is a config file for Zabbix Agent (Unix)# To get more information about Zabbix, visit http://www.zabbix.com############ GENERAL PARAMETERS #################### Option: PidFile# Name of PID file.## Mandatory: no# Default:PidFile=/var/run/zabbix/zabbix_agentd.pid### Option: LogFile# Name of log file.# If not set, syslog is used.## Mandatory: no# Default:# LogFile=LogFile=/var/log/zabbix/zabbix_agentd.log### Option: LogFileSize# Maximum size of log file in MB.# 0 - disable automatic log rotation.## Mandatory: no# Range: 0-1024# Default:LogFileSize=0### Option: DebugLevel# Specifies debug level# 0 - no debug# 1 - critical information# 2 - error information# 3 - warnings# 4 - for debugging (produces lots of information)## Mandatory: no# Range: 0-4# Default:# DebugLevel=3### Option: SourceIP# Source IP address for outgoing connections.## Mandatory: no# Default:# SourceIP=### Option: EnableRemoteCommands# Whether remote commands from Zabbix server are allowed.# 0 - not allowed# 1 - allowed## Mandatory: no# Default:# EnableRemoteCommands=0### Option: LogRemoteCommands# Enable logging of executed shell commands as warnings# 0 - disabled# 1 - enabled## Mandatory: no# Default:# LogRemoteCommands=0##### Passive checks related### Option: Server# List of comma delimited IP addresses (or hostnames) of Zabbix servers.# No spaces allowed. First entry is used for receiving list of and sending active checks.# Note that hostnames must resolve hostname->IP address and IP address->hostname.# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.## Mandatory: yes# Default:# Server=Server=127.0.0.1### Option: Hostname# Unique, case sensitive hostname.# Required for active checks and must match hostname as configured on the server.## Default:# Hostname=system.unameHostname=eon### Option: ListenPort# Agent will listen on this port for connections from the server.## Mandatory: no# Range: 1024-32767# Default:# ListenPort=10050### Option: ListenIP# Agent will listen on the specified interface.## Mandatory: no# Default:# ListenIP=0.0.0.0# ListenIP=127.0.0.1### Option: DisablePassive# Disable passive checks. The agent will not listen on any TCP port.# Only active checks will be processed.# 0 - do not disable# 1 - disable## Mandatory: no# Default:# DisablePassive=0##### Active checks related### Option: DisableActive# Disable active checks. The agent will work in passive mode listening for server.## Mandatory: no# Default:# DisableActive=0# DisableActive=1### Option: ServerPort# Server port for retrieving list of and sending active checks.## Mandatory: no# Default:# ServerPort=10051### Option: RefreshActiveChecks# How often list of active checks is refreshed, in seconds.## Mandatory: no# Range: 60-3600# Default:# RefreshActiveChecks=120### Option: BufferSend# Do not keep data longer than N seconds in buffer.## Mandatory: no# Range: 1-3600# Default:# BufferSend=5### Option: BufferSize# Maximum number of values in a memory buffer. The agent will send# all collected data to Zabbix Server or Proxy if the buffer is full.## Mandatory: no# Range: 1-65535# Default:# BufferSize=100### Option: MaxLinesPerSecond# Maximum number of new lines the agent will send per second to Zabbix Server# or Proxy processing 'log' and 'logrt' active checks.# The provided value will be overridden by the parameter 'maxlines',# provided in 'log' or 'logrt' item keys.## Mandatory: no# Range: 1-1000# Default:# MaxLinesPerSecond=100############ ADVANCED PARAMETERS #################### Option: StartAgents# Number of pre-forked instances of zabbix_agentd that process passive checks.## Mandatory: no# Range: 1-16# Default:# StartAgents=3### Option: Timeout# Spend no more than Timeout seconds on processing## Mandatory: no# Range: 1-30# Default:# Timeout=3### Option: Include# You may include individual files or all files in a directory in the configuration file.## Mandatory: no# Default:# Include=# Include=/etc/zabbix/zabbix_agent.userparams.conf# Include=/etc/zabbix/zabbix_agentd/####### USER-DEFINED MONITORED PARAMETERS ########## Option: UnsafeUserParameters# Allow all characters to be passed in arguments to user-defined parameters.# 0 - do not allow# 1 - allow## Mandatory: no# Range: 0-1# Default:# UnsafeUserParameters=0>### Option: UserParameter# User-defined parameter to monitor. There can be several user-defined parameters.# Format: UserParameter=<key>,<shell command># Note that shell command must not return empty string or EOL only.# Example: UserParameter=system.test,who|wc -l#UserParameter=system.test,who|wc -l### Set of parameters for monitoring MySQL server (v3.23.42 and later)### Change -u<username> and add -p<password> if required#UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l#UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"#UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"#UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"#UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"#UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"#UserParameter=mysql.version,mysql -VUserParameter=nfs.status,/bin/svcs -a | /bin/egrep -e "nfs" | /bin/egrep -e "disabled" | /bin/wc -lUserParameter=zpool.status,/sbin/zpool status | /bin/egrep -e "DEGRADED|OFFLINE|UNAVAIL|FAILED" | /bin/wc -lStart service without reboot (change "${POOL}" to match your pool name):
cd /etcln -s ../${POOL}/local/etc/zabbix ./zabbixmkdir /var/run/zabbixchown zabbix:zabbix /var/run/zabbixmkdir /var/log/zabbixchown zabbix:zabbix /var/log/zabbix/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.confRun updimg.sh to save zabbix user and group account:
/usr/bin/updimg.sh /mnt/eon0/boot/x86.eon