我正在尝试让 Zabbix 在 Amazon Linux 下运行
我已经安装了以下软件包:
zabbix20-server-2.0.11-1.el6.x86_64
zabbix20-server-pgsql-2.0.11-1.el6.x86_64
zabbix20-web-mysql-2.0.11-1.el6.noarch
zabbix20-2.0.11-1.el6.x86_64
zabbix20-agent-2.0.11-1.el6.x86_64
zabbix20-web-2.0.11-1.el6.noarch
当我跑步时:
service zabbix_server start
日志文件显示:
1265:20140317:053235.774 [Z3001] connection to database 'zabbix' failed: [0] server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
could not send startup packet: Broken pipe
我可以从同一台机器连接到数据库:mysql -h MYSQLSERVER.DOMAIN.NAME -uMYSQLUSER -pMYSQLPASSWORD -P 3306
我已经配置了 /etc/zabbix_server.conf
# This is a configuration file for Zabbix Server process
# To get more information about Zabbix,
# visit http://www.zabbix.com
############ GENERAL PARAMETERS #################
### Option: NodeID
# Unique NodeID in distributed setup.
# 0 - standalone server
#
# Mandatory: no
# Range: 0-999
# Default:
NodeID=0
### Option: ListenPort
# Listen port for trapper.
#
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort=10051
### Option: SourceIP
# Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=
### Option: LogFile
# Name of log file.
# If not set, syslog is used.
#
# Mandatory: no
# Default:
# LogFile=
LogFile=/var/log/zabbix/zabbix_server.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=4
### Option: PidFile
# Name of PID file.
#
# Mandatory: no
# Default:
PidFile=/var/run/zabbix/zabbix_server.pid
### Option: DBHost
# Database host name.
# If set to localhost, socket is used for MySQL.
# If set to empty string, socket is used for PostgreSQL.
#
# Mandatory: no
# Default:
DBHost=MYSQLSERVER.DOMAIN.NAME
### Option: DBName
# Database name.
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
#
# Mandatory: yes
# Default:
# DBName=
DBName=zabbix
### Option: DBSchema
# Schema name. Used for IBM DB2.
#
# Mandatory: no
# Default:
# DBSchema=
### Option: DBUser
# Database user. Ignored for SQLite.
#
# Mandatory: no
# Default:
# DBUser=
DBUser=MYSQLUSER
### Option: DBPassword
# Database password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=MYSQLPASSWORD
### Option: DBSocket
# Path to MySQL socket.
#
# Mandatory: no
# Default:
DBSocket=/var/lib/mysql/mysql.sock
### Option: DBPort
# Database port when not using local socket. Ignored for SQLite.
#
# Mandatory: no
# Range: 1024-65535
# Default (for MySQL):
DBPort=3306
############ ADVANCED PARAMETERS ################
MORE STUFF HERE ...............
答案1
您安装了“zabbix20-server-pgsql-2.0.11-1.el6.x86_64”包这一事实可能表明您的 Zabbix 服务器实际上尝试连接到 PostgreSQL 数据库。
答案2
删除 zabbix20-server-pgsql 包、安装 zabbix20-server-mysql 包并注释掉配置文件中的套接字配置后,Zabbix 可以连接到数据库。我还必须将 schema.sql、images.sql 和 data.sql 文件运行到数据库中。