Zabbix的安装和配置(一)

下载Zabbix

Zabbix官网获取Zabbix有一下4种途径:

  • Zabbix Package

针对不同发行版打保证的安装包,比如适用于DebianUbuntudeb包。用户可以根据系统类型来下载安装。

  • Zabbix Appliance

这个是Zabbix基于openSUSE的镜像,使用MySQL作为默认的数据库系统,建议这个版本用于评估测试Zabbix

  • Zabbix Sources

Zabbix的源代码,需要用户自行根据自身需求编译安装,其中包括Zabbix serverZabbix agentZabbix proxy以及前端界面。

  • Zabbix Pre-compiled Agents

已经编译好的安装包。

源码编译安装

源码目录结构如下:

+ zabbix-2.4.3
    + bin:Windows系统下的可执行文件
    + build:window系统下使用
    + conf:Zabbix配置文件的例子,对于每个参数都有说明
    + database:数据库初始化文件
    + frondends:Zabbix前端PHP代码
    + include:编译时需要的头文件
    + m4:configure脚本中shell代码的分装,用于自动化生成configure和Makefile
    + man:zabbix manual
    + misc:不同系统的Zabbix的启动文件
    + src:Zabbix的源码,不包括前端PHP代码

数据库配置

使用MySQLZabbix server的数据存储引擎,需要初始化数据库中的Schema和其中的一些数据。

使用root登录MySQL,创建数据库,这里使用zabbix作为服务器存储数据的数据库名称,便于识别。

注意:这里使用的rootLinuxroot不是一回儿事。这里的rootMySQL服务器程序的超级管理员,相当于Linuxroot用户。

shell > mysql -uroot -p //登录MySQL,命令行提示符变为mysql
mysql > CREATE DATABASE zabbix character set utf8 collate utf8_bin; //创建名字为zabbix的数据库
mysql > SHOW DATABASES;//显示所有的数据库,若zabbix存在,则代表创建成功
mysql > EXIT //退出MySQL
shell >  mysql -uroot -p zabbix < zabbix-2.4.3/database/mysql/schema.sql //导入schema.sql
shell > mysql -uroot -p zabbix < zabbix-2.4.4/database/mysql/images.sql //导入images.sql
shell > mysql -uroot -p zabbix < zabbix-2.4.3/database/mysql/data.sql //导入data.sql

创建用户

使用root启动Zabbix Server或者Zabbix Agent时,会自动切换到zabbix用户,前端是不需要zabbix用户运行的。官方建议,在用一台主机上运行Zabbix ServerZabbix Agent时, 出于安全原因,最好使用2个用户分别运行。

groupadd zabbix
useradd -g zabbix zabbix

编译源码

使用./configure --help查看编译配置,这里在本机上安装Zabbix ServerZabbix Agent,以MySQL作为存储引擎。

./configure --enable-server --enable-agent --with-mysql 

如果需要监控虚拟机的功能,添加--with-libxml2

使用--prefix=/path/of/zabbix,指定安装目录

一步到位的编译选项如下:

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix

编译源码的常见错误如下:

Not found mysqlclient library:安装mysql-devel
LIBXML2 library not found:安装libxml2-devel
Curl library not found:安装curl-devel
cannot use unixODBC library:安装unixODBC-devel
Invalid Net-SNMP directory - unable to find net-snmp-config:安装net-snmp-devel
Invalid OPENIMPI directory - unable to find ipmiif.h:安装OpenIMPI-devel

编译结果如图曾表示成功Zabbix的安装和配置(一)_第1张图片

安装

make install

在编译时制定安装目录为/usr/local/zabbix后,zabbix_serverzabbix_agentdzabbix_proxy安装在/usr/local/zabbix/sbin/目录下,客户端的zabbix_getzabbix_sender安装在/usr/local/zabbix/bin。因为/usr/local/zabbix/不在环境变量PTAH中,若想在任何目录下直接运行,曾需要将可执行文件路径加入PATH,在这里做了一个链接。

ln -s /usr/local/zabbix/bin/zabbix_get zabbix_get
ln -s /usr/local/zabbix/bin/zabbix_sender zabbix_sender
ln -s /usr/local/zabbix/sbin/zabbix_agentd zabbix_agentd
ln -s /usr/local/zabbix/sbin/zabbix_server zabbix_server

配置前端

/srv/www/htdocs目录下新建子目录zabbix,并将zabbix源码中的frontend/php目录下的所有文件复制到此处。打开/etc/apache2/conf.d/zabbix.conf,注意以下几行,将目录地址设为前端PHP代码的所在目录。

<IfDefine ZABBIX>
  Alias /zabbix "/srv/www/htdocs/zabbix/"
    <Directory "/srv/www/htdocs/zabbix/">
    ...
  <DirectoryMatch "/srv/www/htdocs/zabbix/(conf/|include/)>

在浏览器中输入localhost/zabbix,根据安装提示来安装。最后可以登录zabbix 前端配置界面,默认帐号密码分别是Adminzabbix,登录之后点击右上角的profile来修改管理员密码。

配置成功后,如果要禁用web的重新配置,注释掉/srv/www/htdocs/zabbix/include/menu.inc/php中的一下代码

/**,
array(
                'url' => 'setup.php',
                'label' => _('Installation')
)**/

Zabbix前端默认将中文显示关闭了,若要更改前端语言,打开/srv/www/htdocs/zabbix/include/locales.inc.php,找到下面一行代码,打开zh_CN设置,然后依然点击右上角的profile来设置语言。

    'zh_CN' => array('name' => _('Chinese (zh_CN)'),    'display' => false),

如果要完美显示中文,需要自行将支持中文字体放入前端配置字体目录下,这里选择使用simkai.ttf这个字体

   cp simkai.ttf /srv/www/htdocs/zabbix/fonts/

设置/srv/www/htdocs/zabbix/include/defines.inc.php中的字体设置,将原始字体改为simkai.ttf

   define('ZBX_GRAPH_FONT_NAME','simkai'); // font file name

注意:字体最好不要更改,有可能造成graph中坐标轴信息显示错误。

zabbix server配置

配置文件/usr/local/zabbix/etc/zabbix_server.conf,主要设置

LogFile            //日志存放目录
PidFile             //pid文件
DBName         //数据库名称
DBUser           //数据库用户
DBPassword //数据库密码

zabbix_server加入systemd管理

[Unit]
Description=Zabbix Server
After=syslog.target network-online.target mysqld.service

[Service]
Type=forking
ExecStart=/usr/local/zabbix/sbin/zabbix_server --config /usr/local/zabbix/etc/zabbix_server.conf 
ExecReload=/usr/local/zabbix/sbin/zabbix_server --runtime-control  config_cache_reload
RemainAfterExit=yes
PIDFile=/tmp/zabbix_server.pid

[Install]
WantedBy=multi-user.target graphical.target

zabbix agentd配置

配置文件/usr/local/zabbix/etc/zabbix_server.conf,主要设置

LogFile           //日志存放
PidFile            //pid文件
Server             //server IP
Hostname     //运行agentd的主机名,必须与前端管理中设置的agent名称一致

你可能感兴趣的:(zabbix)