源码安装zabbix2.4

来源:互联网 发布:misumi 选型软件 编辑:程序博客网 时间:2024/05/18 03:08
安装之前需要先安装lamp环境!
一、解压缩安装包
$ tar -zxvf zabbix-2.4.0.tar.gz

二、添加操作系统zabbix用户
groupadd zabbix
useradd -g zabbix zabbix

三、配置安装zabbix
(1)服务器端一般配置,只配置客户端将--enable-agent去掉:
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make&&make install

(2)客户端安装:
只需要配置一个agent:
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
(3)再将zabbix的可执行文件加入到环境变量中:
[root@mysql2 zabbix]# env |grep PATH
PATH=/usr/local/zabbix/bin:/usr/local/zabbix/sbin:/usr/local/php/bin:/usr/local/php/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/apache2/bin:/root/bin:/usr/local/mysql/bin:/usr/local/apache2/bin:/root/bin:/usr/local/mysql/bin:/usr/local/apache2/bin:/root/bin:/usr/local/mysql/bin

四、mysql中创建zabbix数据库和用户、数据
(1)创建数据库、用户
mysql> create scheam zabbix charset utf8;
Query OK, 0 rows affected (0.04 sec)
mysql> create user zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.04 sec)
mysql> grant all on zabbix.* to 'zabbix'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(2)初始化数据库表
在源码目录下的database/mysql下有创建初始数据的sql脚本
[root@mysql2 mysql]# pwd
/root/zabbix/zabbix-2.4.7/database/mysql
[root@mysql2 mysql]# ls
data.sql images.sql schema.sql
将数据导入到zabbix数据库中
mysql zabbix <schema.sql
mysql zabbix <images.sql
mysql zabbix <data.sql

五、配置zabbix配置文件

(1)配置服务端文件
服务器端的配置文件在:
/usr/local/zabbix/etc/zabbix_server.conf
需要指定数据库名、用户名、密码等
先创建一个日志目录:
[root@mysql2 zabbix]# mkdir -p /usr/local/zabbix/logs
[root@mysql2 zabbix]# chown -R zabbix:zabbix /usr/local/zabbix

具体配置如下:
[root@mysql2 etc]# grep -E -v '[ ]*#|^$' zabbix_server.conf
ListenPort=10051
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/logs/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/mydata/mysql/data/mysql.sock
DBPort=3306
FpingLocation=/usr/local/sbin/fping

(2)配置客户配置文件
客户端的配置文件在:
/usr/local/zabbix/etc/zabbix_agentd.conf
需要指定zabbix server的ip地址
[root@mysql2 etc]# grep -E -v '[ ]*#|^$' zabbix_agentd.conf
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=127.0.0.1
ListenPort=10050
ServerActive=127.0.0.1
Hostname=Zabbix server
测试agentd端配置是否正确:
[root@mysql2 logs]# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf -t system.uptime
system.uptime [u|40473]


(3)将zabbix添加到服务中
启动脚本目录如下:
[root@mysql2 core5]# pwd
/root/zabbix/zabbix-2.4.7/misc/init.d/fedora/core5
[root@mysql2 core5]# ls
zabbix_agentd zabbix_server
添加到/etc/init.d中
[root@mysql2 core5]# cp zabbix_server /etc/init.d
[root@mysql2 core5]# cp zabbix_agentd /etc/init.d
需要修改服务脚本如下:
server:
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
CONF_FILE="/usr/local/zabbix/etc/zabbix_server.conf" #修改
 
if [ ! -x ${ZABBIX_BIN} ] ; then
echo -n "${ZABBIX_BIN} not installed! "
# Tell the user this has skipped
exit 5
fi
 
start() {
echo -n $"Starting $prog: "
daemon $ZABBIX_BIN -c $CONF_FILE #修改
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix_server
echo
}
agentd端一样!

(3)设置zabbix开机自动启动
[root@mysql2 core5]# chkconfig --add zabbix_server
[root@mysql2 core5]# chkconfig --list |grep zabbix
zabbix_server 0:off1:off2:off3:off4:off5:off6:off
[root@mysql2 core5]# chkconfig --level 35 zabbix_server on
agentd端一样!

如果安装了proxy,配置文件在:
 /usr/local/zabbix/etc/zabbix_proxy.conf
需要配置server IP和proxy hostname、数据库名、用户名、密码

六、启动关闭zabbix
[root@mysql2 core5]# service zabbix_server start
Starting Zabbix Server: [ OK ]
[root@mysql2 core5]# service zabbix_server stop
Stopping Zabbix Server: [ OK ]

如果启动出现如下错误:
[root@mysql2 core5]# service zabbix_server start
Starting Zabbix Server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
则需要添加mysql的lib库文件:
[root@mysql1 data]# cd /etc/ld.so.conf.d
[root@mysql1 ld.so.conf.d]# ls
atlas-x86_64.conf ctapi-x86_64.conf kernel-2.6.32-358.el6.x86_64.conf qt-x86_64.conf
[root@mysql1 ld.so.conf.d]# vi /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
[root@mysql1 ld.so.conf.d]# ldconfig -v

七、配置zabbix web服务端
(1)将zabbix web文件拷贝到apache web目录中
[root@mysql2 php]# pwd
/root/zabbix/zabbix-2.4.7/frontends/php
[root@mysql2 php]# cp -rf * /usr/local/apache2/htdocs/
(2)修改apache配置
[root@mysql2 conf]# grep -E -v '[ ]*#|^$' httpd.conf
ServerRoot "/usr/local/apache2"
Listen 80
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule filter_module modules/mod_filter.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgid_module modules/mod_cgid.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule php5_module modules/libphp5.so
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
ServerAdmin you@example.com
ServerName localhost:80 #需要修改
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
<Files ".ht*">
Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
</IfModule>
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

(3)修改php配置
[root@mysql2 etc]# grep -E -v '^\;|^$' php.ini
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 17
disable_functions =
disable_classes =
zend.enable_gc = On
expose_php = On
max_execution_time = 300 ;修改
max_input_time = 300 ;修改
memory_limit = 128M ;修改
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
html_errors = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 16M ;修改
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[CLI Server]
cli_server.color = On
[Date]
date.timezone = Asia/Shanghai ;修改
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0 ;修改
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatibility_mode = Off
mssql.secure_connection = Off
[Assertion]
[COM]
[mbstring]
mbstring.func_overload = 2 ;修改
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
[opcache]
[curl]
七、web界面installation







如果这里出错是zabbix用户没有对htdocs/conf文件的写权限

默认用户名admin/zabbix




























0 0
原创粉丝点击