Centos7.4 zabbix3.4.7源码安装的方法步骤

下面是Centos7.4 zabbix3.4.7源码安装的方法步骤的完整攻略。

1. 安装依赖

在安装Zabbix之前,需要安装一些系统和库依赖,以确保一切顺利。在CentOS上,可以使用以下命令安装这些依赖:

yum -y install gcc gcc-c++ mariadb-devel mariadb-libs mariadb httpd php php-gd php-mysql bzip2 openssl-devel net-snmp-devel curl-devel libevent-devel

2. 下载Zabbix

下载最新版本的Zabbix源码,并解压到/usr/src目录下:

cd /usr/src
wget https://cdn.zabbix.com/zabbix/sources/stable/3.4/zabbix-3.4.7.tar.gz
tar -xzvf zabbix-3.4.7.tar.gz

3. 创建zabbix用户和组

Zabbix需要一个非特权用户来运行。为Zabbix创建用户和组,以确保最大的安全性:

groupadd zabbix
useradd -g zabbix zabbix

4. 编译和安装Zabbix

在进入Zabbix源码目录之前,需要安装Zabbix需要的库。进入源码目录后,运行以下命令:

cd /usr/src/zabbix-3.4.7
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openssl --with-ldap --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-ipv6
make
make install

5. 创建数据库

在安装Zabbix之前,需要为其创建一个数据库。登录到MySQL,并创建一个新的Zabbix数据库和用户:

mysql -uroot -p

mysql> CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost' IDENTIFIED BY 'your_password';
mysql> FLUSH PRIVILEGES;
mysql> exit

6. 导入数据库模式

使用Zabbix提供的SQL文件导入数据库架构和默认数据:

cd /usr/local/zabbix/share/zabbix/install
mysql -uroot -p zabbixdb < schema.sql
mysql -uroot -p zabbixdb < images.sql
mysql -uroot -p zabbixdb < data.sql

7. 配置Zabbix server

Zabbix server默认配置文件位于/etc/zabbix/zabbix_server.conf。可以将其备份并编辑以实现自定义设置:

cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak
vi /etc/zabbix/zabbix_server.conf

确保以下行配置:

DBName=zabbixdb
DBUser=zabbixuser
DBPassword=your_password

8. 启动Zabbix server和agent

使用以下命令启动Zabbix server 和 agent:

systemctl start zabbix-server
systemctl status zabbix-server
systemctl start zabbix-agent
systemctl status zabbix-agent

示例说明

以下是两个示例说明:

示例1:自定义监控项

Zabbix上最强大的功能之一是监视和报警。Zabbix默认支持许多指标,但也支持添加自定义监视项。以下是一个示例的监视项:

Name: Number of running processes
Type: Zabbix agent (active)
Key: system.run[ps -e | wc -l]

示例2:设置Email报警

可以设置Zabbix以使用Email报警。以下是如何配置Zabbix来发送Email报警的示例:

1. 编辑Zabbix server配置文件/etc/zabbix/zabbix_server.conf:

AlertScriptsPath=/usr/local/etc/zabbix/alertscripts
SMTPServer=your_smtp_server_name
SMTPPort=your_smtp_server_port
  1. 将以下内容添加到/usr/local/etc/zabbix/alertscripts/sendmail.sh:

!/bin/sh

SMTP_SERVER="$1"
SMTP_PORT="$2"
SMTP_FROM="$3"
SMTP_RECIPIENT="$4"
SUBJECT="$5"
BODY="$6"
echo "$BODY" | /usr/bin/mailx -r "$SMTP_FROM" -s "$SUBJECT" -S smtp="$SMTP_SERVER":"$SMTP_PORT" "$SMTP_RECIPIENT"

  1. 将sendmail.sh设置为可执行:

chmod +x /usr/local/etc/zabbix/alertscripts/sendmail.sh

  1. 在Zabbix中创建一个新的Action来发送邮件:

Name: Email report
Conditions: PROBLEM
Operations: Send message
Subject: {TRIGGER.NAME}: {TRIGGER.STATUS}
Message: {TRIGGER.NAME}: {TRIGGER.STATUS}
Recovery message: {TRIGGER.NAME}: Resolved
Send to: your_email_address_here
Script name: sendmail.sh
Arguments: {SMTP_SERVER} {SMTP_PORT} from_email_address to_email_address {TRIGGER.NAME}: {TRIGGER.STATUS}
```

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos7.4 zabbix3.4.7源码安装的方法步骤 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • ThinkPHP查询返回简单字段数组的方法

    下面我将详细讲解“ThinkPHP查询返回简单字段数组的方法”: 什么是“ThinkPHP查询返回简单字段数组的方法”? 在ThinkPHP中,我们可以直接使用query方法查询数据库并返回结果,返回的结果可以是一个数据集,或者是包含查询结果的关联数组。但是如果我们只需要一个简单的一维数组,并且只需要其中的某几个字段,这时使用query方法就会显得有些繁琐,…

    database 2023年5月22日
    00
  • MySQL数据库查询之多表查询总结

    MySQL数据库查询之多表查询总结 在实际业务中,数据库往往并不仅仅只有一张表。为了更好地提高查询效率和查询结果的准确性,我们就需要用到多表查询了。 内连接(INNER JOIN) 内连接返回同时在两个表中存在的所有行,并且在连接的列上具有相同的值。它是最常用的一种多表查询方式,下面用一个示例来说明。 有两张表,分别是学生表(students)和成绩表(sc…

    database 2023年5月21日
    00
  • 菜鸟学Linux命令:ssh命令(远程登录)

    菜鸟学Linux命令:ssh命令(远程登录) 什么是ssh命令? ssh是Secure Shell的缩写,SSH是一种加密网络协议。它可以通过与 sshd 守护进程配合,实现对远程登录会话和其他网络服务的加密,防止中间人窃听和欺骗。 基本语法 ssh [user@]hostname [command] 参数说明: user:登录远程主机所使用的用户名,默认值…

    database 2023年5月22日
    00
  • PHP如何限制定时任务的进程数量

    PHP限制定时任务的进程数量可以使用信号量来实现,信号量是一种用于进程间通信以及同步的机制,可以确保在特定时间只有指定数量的进程可以访问某个资源。下面是具体的实现步骤: 1. 安装semaphore扩展 首先,需要安装PHP的semaphore扩展,可以使用以下命令安装: pecl install sysvsem 2. 创建一个信号量 在PHP代码中,使用s…

    database 2023年5月22日
    00
  • Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解

    下面是“Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解”的攻略: 1. 概述 在Android应用程序中,我们通常需要进行数据的增删改查操作。此时,我们可以采用SQLite数据库来存储和管理数据。SQLite是一种轻量级的数据库,它以文件的形式存储数据,非常适合用于移动设备。 在Android中,我们可以使用execSQL…

    database 2023年5月21日
    00
  • python 连接各类主流数据库的实例代码

    连接主流数据库是 Python 应用程序中的一项常见需求。Python 提供不同的工具和模块,让我们可以轻松地与主流的数据库(如 MySQL, Postgres, SQLite, Oracle 等)进行交互。在此,我们介绍一些 Python 连接不同数据库的示例代码。 连接 MySQL 数据库 安装依赖 在 Python 中连接 MySQL,我们需要首先安装…

    database 2023年5月22日
    00
  • mybatis 传入null值的解决方案

    针对Mybatis传入null值的问题,可以采取以下解决方案: 解决方案一:使用mybatis-default-value属性 在Mybatis的配置文件中,可以使用mybatis-default-value属性来指定映射对象中的属性的默认值。 示例一 假设我们有一个User实体类,其中有一个String类型的属性name。如果此时没有传入name参数,而我…

    database 2023年5月21日
    00
  • Oracle中TO_DATE格式介绍

    Oracle中TO_DATE格式介绍 在Oracle中,使用TO_DATE函数可以将一个字符串转换为日期类型的数据。但是,在使用TO_DATE函数时,需要指定字符串的格式,以便Oracle能够正确地将字符串转换为日期类型的数据。下面是一些常见的字符串格式及其对应的含义: 格式 含义 YYYY 四位数的年份 YY 两位数的年份 MM 月份(01到12) MON…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部