青蛙学Linux—Zabbix部署之安装和配置Zabbix

1、安装Zabbix Server

Zabbix Server安装路径/usr/local/zabbix。

安装依赖环境:

[root@localhost zabbix-3.4.15]# yum install net-snmp net-snmp-devel curl curl-devel libxml2  libevent libevent-devel

创建虚拟用户用于运行Zabbix守护进程(如果使用普通用户运行Zabbix,那么Zabbix会以该用户身份运行守护进程;如果以root用户运行Zabbix,那么Zabbix会自动使用zabbix这个用户运行守护进程):

[root@localhost zabbix-3.4.15]# useradd -s /sbin/nologin zabbix

解压源码包后进入源码目录,执行configure:

[root@localhost zabbix-3.4.15]# ./configure --prefix=/usr/local/zabbix --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --with-libxml2
  • --with-mysql:启用MySQL做为后端存储数据库。如果MySQL在默认安装目录(RPM安装或YUM安装)只需—with-mysql;如果MySQL不在默认目录,则需要指定mysql_config的路径
  • --with-net-snmp:启用SNMP监控支持
  • --with-libcurl:启用Web监控、VMware监控以及SMTP(邮件发送)需要的组件
  • --with-libxml2:启用VMware监控所需组件
  • --enable-server:启动Zabbix Server,相应的参数有--enable-agent和--enable-proxy

configure执行完毕无报错后,执行:

[root@localhost zabbix-3.4.15]# make && make install

命令执行完毕无报错,说明Zabbix Server安装成功。

2、初始化数据库和表

Zabbix需要后端数据库的支持,所以这里需要创建一个用户和数据库,并将Zabbix需要的表导入数据库。导入方法是执行三个SQL文件,文件位于源码目录下的database目录下以数据库软件命名的目录下。这里我们使用的是MySQL,所以三个SQL文件位于源码目录下的database/mysql目录。

进入这个目录,并在目录中登录MySQL客户端,执行以下命令:

# 创建一个名为zabbix的数据库
mysql> create database zabbix character set utf8 collate utf8_bin;
# 创建一个名为zabbix的MySQL用户,并授权操作zabbix数据库下的所有表
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix password';
# 刷新MySQL
mysql> flush privileges;
# 连接到zabbix数据库
mysql> use zabbix;
# 依次导入以下三个SQL文件
mysql> source schema.sql;
mysql> source images.sql;
mysql> source data.sql;

3、Zabbix Server配置文件

Zabbix Server配置文件位于Zabbix的安装目录下的etc目录中,文件名为zabbix_server.conf。

修改以下几个配置项(也可以将原配置文件备份,再新建配置文件并写入以下内容):

ListenPort=10051                # Zabbix Server监听的端口
LogFile=/tmp/zabbix_server.log  # Zabbix Server日志
DBHost=localhost                # Zabbix Server连接的数据库服务器
DBName=zabbix                   # Zabbix Server使用的数据库的名称
DBUser=zabbix                   # Zabbix Server使用的数据库用户
DBPassword=zabbix password      # Zabbix Server使用的数据库用户的密码
ListenIP=0.0.0.0                # 允许哪些主机连接到Zabbix Server
StartPollers=5       # Zabbix Server启动时启动的Pollers进程的数量,该进程用于主动收集数据;进程数量越多,服务器系统资源消耗越大
StartTrappers=10     # Zabbix Server启动时启动的Trappers进程的数量,该进程用于接收Agent推送的数据,Agentd为主动模式时,这个值需要设置大一些
StartDiscoverers=10  # Zabbix Server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts  # Zabbix Server运行脚本存放目录,一些供Zabbix Server使用的脚本都可以放在这里

4、Zabbix Server服务管理脚本

Zabbix在源码包中自带了服务管理脚本用于管理Zabbix,该脚本位于源码目录的misc/init.d/fedora/core目录下,Zabbix Agent的脚本为zabbix_agentd,Zabbix Server的脚本为zabbix_server

这里我们需要对该脚本进行一些修改,打开zabbix_server,找到以下内容:

# Zabbix-Directory
BASEDIR=/usr/local

这里设置的是Zabbix Server的安装目录,比如这里修改为:

# Zabbix-Directory
BASEDIR=/usr/local/zabbix

Zabbix Agent设置同Zabbix Server。

将脚本拷贝到/etc/init.d目录下:

[root@localhost core]# cp zabbix_server /etc/init.d

此时可以使用以下命令启动|重启动|停止Zabbix Server:

/etc/init.d/zabbix_server start|restart|stop

在第一次使用/etc/init.d/zabbix_server start启动Zabbix Server后,使用Systemd的系统还可以使用以下命令启动|重启动|停止|查看运行状态:

systemctl start|restart|stop|status zabbix_server

注意:在使用源码或者二进制安装MySQL的环境下,Zabbix Server启动失败并提示以下信息:

Starting zabbix_server:  /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

此时只需要在/etc/ld.so.conf文件下添加MySQL的lib目录路径:

/usr/local/mysql/lib

然后执行:

ldconfig

之后执行:

/etc/init.d/zabbix_server restart|systemctl restart zabbix_server

Zabbix Server即可正常启动。

猜你喜欢

转载自www.cnblogs.com/yu2006070-01/p/10349476.html