接上篇zabbix部署安装前置要求,本期我们将先讲讲如何从源代码安装zabbix6.0,还在为如何安装使用zabbix的小伙伴可以仔细看看。

一、 安装Zabbix守护进程

1 下载源代码压缩包

前往Zabbix下载页面下载源代码压缩包。并使用如下命令解压下载好的源代码:

 

命令中的Zabbix版本必须输入正确。它必须与所下载的压缩包名称一致。

2 创建用户账户

所有的Zabbix守护进程都必须要一个非特权用户。如果一个非特权用户启动了一个Zabbix守护进程,它就会以这个用户运行。

然而,如果一个守护进程以‘root’账户运行,它会切换到一个‘zabbix‘用户,这个用户是必须存在的。要创建这样一个用户(在它自己的“zabbix”组里),

在基于RedHat的系统里,运行:

groupadd --system zabbixuseradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

在基于Debian的系统里,运行:

addgroup --system --quiet zabbixadduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix

在基于Debian的系统里,运行:

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbixchown zabbix:zabbix /var/lib/zabbix

安装Zabbix前端不许要单独的用户。

如果Zabbix server和agent运行在同一台机器上,建议使用与agent不同的用户来运行。否则,如果两者使用相同的用户,agent可以访问server的配置文件,Zabbix里任何Admin级别的用户可以轻易地获取诸如数据可密码等信息。

rootbin或者其他任何有特殊权限的账户运行Zabbix都有安全风险。

3 创建Zabbix数据库

对Zabbixserver和proxy守护进程,还有Zabbix前端,必须要有一个数据库。但运行Zabbixagent不需要。

此处SQL脚本用于创建数据库模式和插入数据集。Zabbix proxy数据库只需要数据库模式,而Zabbix server数据库在数据库模式之上还需要数据集。

创建了Zabbix数据库之后,执行以下步骤来编译Zabbix。

4 配置源代码

当为Zabbix server或proxy配置源码时,必须指定要使用的数据库类型。同一时间,只用一种数据库类型可以与server或proxy编译。

要查看所有支持的配置选项,在提取的Zabbix源代码目录运行:

./configure --help

要为Zabbix server和agent配置源代码,你可以执行类似如下命令:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
要为Zabbix server(和,比如PostgreSQL)配置源代码,你可以执行:
./configure --enable-server --with-postgresql --with-net-snmp
要为Zabbix server(和,比如SQLite)配置源代码,你可以执行:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
要为Zabbix agent配置源代码,你可以执行:
./configure --enable-agent

构建Zabbix agent 2需要一个用当前支持的Go版本配置的Go环境。安装指导详见golang.org。

编译选项注意事项:

  • 如果使用了--enable-agent选项命令行实用程序zabbix_get和zabbix_sender会被编译。

  • --with-libcurl 和 --with-libxml2 配置选项对虚拟机监控是必须的; --with-libcurl 对 SMTP 身份验证和web.page.*Zabbix agent监控项.也是必须的。请注意,cURL 7.20.0或更高版本要求有 --with-libcurl 配置选项。

  • Zabbix (从 3.4.0 版本开始)始终使用 PCRE 库进行编译;安装它不是可选的。 --with-libpcre=[DIR] 只允许指向特定的基本安装目录,而不是搜索 libpcre 文件的一些常见位置。

  • 你可以使用 --enable-static 标志来静态链接库。如果你计划在不同的服务器之间分发编译的二进制文件, 你必须使用这个标志来使这些二进制文件在没有必须的库的情况下工作。请注意,--enable-static 在Solaris不同做

  • 构建服务器时不建议使用 --enable-static 选项。为了静态构建服务器,你必须每个需要的外部库的静态版本。配置脚本中不会严格地检查这些。

  • 将可选路径添加到 MySQL 配置文件 --with-mysql=/<path_to_the_file>/mysql_config, 以便在需要使用不在默认位置的 MySQL 客户端库时选择所需的 MySQL 客户端。当在同一系统上安装了多个版本的 MySQL 或 MariaDB 与 MySQL 一起安装时,这个配置很有用。

  • 使用 --with-oracle 标志指定 OCI API 的位置。

如果./configure由于缺少库或者其他条件而失败,请查看config.log文件获取错误的更多详细信息。例如,如果libssl缺失,即时错误信息可能具有误导性:

checking for main in -lmysqlclient... noconfigure: error: Not found mysqlclient library
config.log则有更多详细的描述:
/usr/bin/ld: cannot find -lssl/usr/bin/ld: cannot find -lcrypto

另见:

  • 用加密支持编译Zabbix

  • 已知问题在HP-UX上编译Zabbix

5 Make 和 install 所有

如果从Zabbix Git repository安装,必须先执行:$ make dbschema

make install

这一步应该以具有足够权限的用户身份运行(通常是 'root',或使用 sudo)。

运行 make install 将默认在 /usr/local/sbin 目录安装守护进程二进制文件 (zabbix_server, zabbix_agentd, zabbix_proxy) ,在 /usr/local/bin ,目录安装客户端二进制文件(zabbix_get、zabbix_sender)。

要指定与 /usr/local 不同的位置,在之前配置源的步骤中使用 --prefix 键,例如 --prefix=/home/zabbix。在这种情况下,守护程序二进制文件将安装在 <prefix>/sbin 下,而实用程序则安装在 <prefix>/bin 下,手册页将安装在 <prefix>/share 下。

6 查看和编辑配置文件

  • 编辑 Zabbix agent 配置文件 /usr/local/etc/zabbix_agentd.conf

你需要为每个安装了 zabbix_agentd 的主机配置此文件。

你必须在文件中指定 Zabbix 服务器IP 地址,来自其他主机的连接将被拒绝。

  • 编辑 Zabbix 服务器配置文件 /usr/local/etc/zabbix_server.conf

你必须指定数据库名称、用户和密码(如果使用了)。

如果你是小型安装(最多十台受监控的主机),其他参数的默认值将适合你。 如果你想最大化 Zabbix server(或proxy)的性能,你应该修改默认参数。更多信息详见性能调优 章节。

  • 如果你安装了 Zabbix proxy,编辑 proxy 配置文件 /usr/local/etc/zabbix_proxy.conf

你必须指定服务器 IP 地址和 proxy 的主机名(服务器必须知道),以及数据库名称、用户和密码(如果使用了)。

使用 SQLite 必须指定数据库文件的完整路径;不需要数据库用户和密码。

7 启动守护进程

在服务器端运行 zabbix_server。

shell> zabbix_server

确保你的系统允许分配 36MB (或稍微多一点)的共享内存,否则 server 可能无法启动,你会在 server 的日志文件里看到“不能为<type of cache> 分配共享内存”。这可能在 FreeBSD 和 Solaris 8上发生。

在所有被监控的机器上运行 zabbix_agentd。

确保你的系统允许分配 2MB 的共享内存,否则 agent 可能无法启动,你会在 agent 的日志文件里看到 “无法为收集器分配共享内存。” 这可能在 Solaris 8 上发生。

如果你安装了 Zabbix proxy,运行zabbix_proxy。

shell> zabbix_proxy

二、 安装 Zabbix 网页界面

复制PHP文件

Zabbix前端是PHP编写的,所以运行它需要PHP支持的网络服务器。安装只需简单的从 ui 目录复制PHP文件到网络服务器 HTML文档目录。

Apache网络服务器的HTML文档目录的常见位置包括:

  • /usr/local/apache2/htdocs (从源代码安装Apache的默认目录)

  • /srv/www/htdocs (OpenSUSE, SLES)

  • /var/www/html (Debian, Ubuntu, Fedora, RHEL, CentOS)

建议使用子目录而非HTML根目录。要创建子目录并将Zabbix前端文件复制过去,请执行如下命令,以替换实际目录:

mkdir <htdocs>/zabbixcd uicp -a . <htdocs>/zabbix

如果计划用英语之外的语言,请参考前端安装其他语言 。

三、安装前端

关于 Zabbix 前端的安装,请参考网页界面安装页面的信息。

3 安装 Java gateway

只有在你想监控 JMX 应用程序时,才需要安装Java gateway。Java gateway是轻量级的,不需要数据库。

从源代码安装,先下载 并解压源代码压缩包。

要编译Java gateway,请带 --enable-java 选项执行 ./configure。建议指定 --prefix 选项来请求默认的 /usr/local 以外的安装路径,因为安装Java gateway 将创建一个完整的目录树,而不仅仅是一个可执行文件。

$ ./configure --enable-java --prefix=$PREFIX

要将 Java gateway 编译并打包到一个JAR文件中,执行 make。 请注意,这一步你的路径中可能需 javac 和 jar 可执行文件。

$ make

一个 zabbix-java-gateway-$VERSION.jar 文件。如果你对从分配的目录中的 src/zabbix_java 运行 Java gateway 感到满意,那么你可以继续按指导配置和运行 Java gateway。否则,请确保您有足够的权限并执行 make install

$ make install

继续设置以获取更多关于配置和运行 Java gateway 的详细信息 。

四、安装Zabbix web服务

只有当你想使用定时报表时,才需要安装Zabbix web服务。

要从源代码安装,请先下载 和解压源代码压缩包。

要编译Zabbix web服务, 请带 --enable-webservice 选项执行 ./configure

构建 Zabbix web 服务需要配置好的 Go 1.13 + 版本的环境。

在安装了web服务的机器上运行 zabbix_web_service:

shell> zabbix_web_service

本篇主要给大家介绍的是源代码层面安装zabbix6.0,下期将会介绍如何利用二进制包安装zabbix6.0,大家可以持续关注乐维社区

 
 
 


Zabbix6.0使用教程 (四)—zabbix6.0从源代码安装的更多相关文章

  1. 黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block 企业库日志应用程序模块工作原理图:   从上图我们可以 ...

  2. Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

    Download dll: http://www.microsoft.com/en-us/download/confirmation.aspx?id=15104 http://www.cnblogs. ...

  3. Enterprise Library 5.0 系列教程

    1. Microsoft Enterprise Library 5.0 系列教程(一) Caching Application Block (初级) 2. Microsoft Enterprise L ...

  4. Swift3.0语言教程使用Unicode范式标准化获取字符串

    Swift3.0语言教程使用Unicode范式标准化获取字符串 Swift3.0语言教程使用Unicode范式标准化获取字符串,在NSString中可以使用4个属性去使用Unicode范式标准化获取字 ...

  5. 黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 使用企业库异常处理应用程序模块的 ...

  6. JXLS 2.4.0系列教程(一)——最简单的模板导出

    Java中实现excel根据模板导出数据的方法有很多,一般简单的可以通过操作POI进行.还可以使用一些工具很轻松的实现模板导出.这些工具现在还在维护,而且做得比较好的国内的有easyPOI,国外的就是 ...

  7. Ubuntu16.04+Cuda8.0+1080ti+caffe+免OpenCV3.2.0+faster-rCNN教程

    一.事先声明:1.Ubuntu版本:Ubuntu使用的是16.04.而不是16.04.1或16.04.2,这三个是有区别的.笔者曾有过这样的经历,Git上一个SLAM地图构建程序在Ubuntu14.0 ...

  8. 『TensorFlow2.0正式版』TF2.0+Keras速成教程·零:开篇简介与环境准备

    此篇教程参考自TensorFlow 2.0 + Keras Crash Course,在原文的基础上进行了适当的总结与改编,以适应于国内开发者的理解与使用,水平有限,如果写的不对的地方欢迎大家评论指出 ...

  9. Ubuntu 16.04 上安装 CUDA 9.0 详细教程

    https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu1 ...

  10. Swift3.0语言教程字符串与URL的数据转换与自由转换

    Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...

随机推荐

  1. Python中局部放大图案例

    例子一: 先上完整代码和效果图: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1.ins ...

  2. Python 使用XlsxWriter操作Excel

    在数据处理和报告生成的领域中,Excel 文件一直是广泛使用的标准格式.为了让 Python 开发者能够轻松创建和修改 Excel 文件,XlsxWriter 库应运而生.XlsxWriter 是一个 ...

  3. C# 使用正则表达式

    在C#中,可以使用正则表达式来处理文本字符串.正则表达式是一种特殊的文本模式,用于匹配和搜索字符串.它可以识别特定模式,如邮箱地址.电话号码.网址等.正则表达式是C#中常用的一种文本处理技术,使用它可 ...

  4. 一篇学会软硬链接|快捷方式|操作系统|centos7

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...

  5. CF1000F One Occurrence题解

    题目链接:CF 或者 洛谷 感觉很经典的题,而且给的 \(5e5\),虽然莫队之类的很好想,但完全没必要去考虑这类算法,这种数据范围常数又大又开盲盒.很显然的具有单 \(log\) 的算法. 回忆下经 ...

  6. Spring Cloud Config核心功能和原理解析

    配置管理的前世今生 随着技术的发展,配置项管理变得越来越简单,尽管如今它只限于管理业务属性或者配置初始化参数等等,但是当年它可肩负着 Spring IOC 的光荣使命,风光无限. 想当年刚入行的时候还 ...

  7. NC22604 小A与任务

    题目链接 题目 题目描述 小A手头有 n 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 i 个任务需要花费 \(x_i\) 的时间,同时完成第 i 个任务的时间不 ...

  8. NC16496 [NOIP2014]飞扬的小鸟

    题目链接 题目 题目描述 为了简化问题,我们对游戏规则进行了简化和改编: \1. 游戏界面是一个长为n,高 为m的二维平面,其中有k个管道(忽略管道的宽度). \2. 小鸟始终在游戏界面内移动.小鸟从 ...

  9. CSS浮动&定位&布局

    浮动简介 浮动最早起设计出来是为了实现文字环绕图片或者文字环绕的效果,现在浮动是主流的页面布局方式之一 float:浮动属性,值可以是left.right对应向左和向右浮动 元素浮动之后的特点 脱离文 ...

  10. logstash4j-用于日志的输入、转换处理、输出, java 开发者自己的 logstash

    项目简介 logstash4j 用于日志的输入.转换处理.输出, java 开发者自己的 logstash 特性 input output filter metric 开源地址 logstash4j ...