Zabbix-proxy和Zabbix-agent源码安装
一 、Zabbix Proxy
概述
Zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到 Zabbix server 的进程,主要是代表 Zabbix server 工作。 所有收集的数据都在本地缓存,然后传输到 proxy 所属的 Zabbix server。
部署Zabbix proxy 是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果只有代理采集数据,则 Zabbix server 上会减少 CPU 和磁盘 I/O 的开销。
Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。
Zabbix proxy 需要使用独立的数据库。
Zabbix proxy安装
下载编译
下载
cd /tmp && wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.9/zabbix-4.0.9.tar.gz
解压
tar -xzf zabbix-4.0.9.tar.gz
创建用户和组并创建安装目录
sudo groupadd zabbix
sudo useradd -g zabbix zabbix
sudo mkdir /opt/zabbix-proxy
sudo chown zabbix:zabbix /opt/zabbix-proxy
安装依赖包
yum install -y mysql-devel net-snmp net-snmp-devel libssh2-devel
编译安装
cd zabbix-4.0.9
# 如果想使用其它参数和数据库,使用 ./configure --help 查看选项和参数,使用mysql 作为 proxy 的数据库
./configure --prefix=/opt/zabbix-proxy --enable-proxy --with-net-snmp --with-mysql --with-ssh2
make install
创建Zabbix proxy数据库并导入数据
Zabbix proxy 是将数据储存在本地,然后传输到 Zabbix Server 的。所以我们需要创建 Zabbix proxy 的数据库。
# 创建数据库
create database zabbix_proxy character set utf8 collate utf8_bin;
# 创建用户
grant all privileges on zabbix_proxy.* to zabbix_fy@localhost identified by 'password';
导入数据,zabbix proxy 不需要将所有的数据库数据都导入,只需要导入 schema.sql
mysql -u zabbix_fy -p --database zabbix_proxy </tmp/zabbix-4.0.9/database/mysql/schema.sql
更改Zabbix proxy 配置文件
默认配置文件是 位于 安装目录的./etc/zabbix_proxy.conf。
默认启用的是主动模式,默认监听端口: 10051。参数详解:官方文档
Server=# 填入zabbix server 的ip
ServerPort= # zabbix server 监听的端口,默认为 10051
Hostname=#zabbix Proxy 的名称
DBHost= # 数据库地址
DBName=zabbix_proxy # 数据库名称
DBUser=zabbix_fy # 用户名
DBPassword=sRW123456 # 密码
ProxyOfflineBuffer=24 # 如果连接不到zabbix-server,数据保存多久。
设置为 systemd 服务
创建 /usr/lib/systemd/system/zabbix-proxy.service 文件。并添加以下内容:
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target
[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/opt/zabbix-proxy/etc/zabbix_proxy.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/opt/zabbix-proxy/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
启动服务并设置为开机自启
# sudo systemctl restart zabbix-proxy
# sudo systemctl enable zabbix-proxy
开放对应的端口
sudo firewall-cmd --add-port=10051/tcp --permanent
sudo firewall-cmd --reload
Zabbix Proxy 安装报错与解决办法
这里报的错都是由于依赖包没有安装,导致编译时报错。
错误一
checking for the linux kernel version... unknown family (3.10.0-862.14.4.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
checking for mariadb_config... no
configure: error: MySQL library not found
解决办法
yum install -y mysql-devel
错误二
checking for Zabbix server/proxy database selection... ok
checking for multirow insert statements... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
解决办法
yum install net-snmp net-snmp-devel -y
错误三
checking for main in -lnetsnmp... yes
checking for localname in struct snmp_session... yes
checking for SSH2 support... no
configure: error: SSH2 library not found
解决办法
yum install libssh2-devel -y
二、Zabbix agent
Zabbix agent安装
下载编译
下载
cd /tmp && wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.9/zabbix-4.0.9.tar.gz
解压
tar -xzf zabbix-4.0.9.tar.gz
创建用户和组并创建安装目录
sudo groupadd zabbix
sudo useradd -g zabbix zabbix
sudo mkdir /opt/zabbix-agent
sudo chown zabbix:zabbix /opt/zabbix-agent
编译安装
cd zabbix-4.0.9
./configure --prefix=/opt/zabbix-agent --enable-agent
更改Zabbix agent 配置文件
默认配置文件是 位于 安装目录的./etc/zabbix_agentd.conf。
我们一般需要更改以下参数:
Server: 设置该值为 Zabbix Server IP.默认为 127.0.0.1
ServerActive:设置该值为 Zabbix Server IP,如果 Zabbix Server 不是使用的默认10051端口,我们可以在此加上端口号,形如:192.168.12.234:11051,默认为127.0.0.1
Hostname :设置为主机的主机名,默认为 zabbix server
LogFileSize=1 日志文件超过 1M 就进行切割。值为 0时表示不切割日志。 默认为 1
EnableRemoteCommands:是否开启远程命令 默认为 0
设置为 systemd 服务
创建 /usr/lib/systemd/system/zabbix-agent.service 文件。并添加以下内容:
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/opt/zabbix-agent/etc/zabbix_agentd.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/opt/zabbix-agent/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
启动服务并设置为开机自启
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
开放对应的端口
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload
源码安装官方文档 :点我,官方文档可能没有我这里详细哦。
Zabbix-proxy和Zabbix-agent源码安装的更多相关文章
- Zabbix监控系统部署:源码安装
1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...
- zabbix源码安装实例
环境 系统 Centos7 zabbix版本 Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...
- 源码安装和配置zabbix 3.0 LST
Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...
- [原创] zabbix学习之旅一:源码安装
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- CentOS Linux release 7.3源码安装zabbix
CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...
- zabbix源码安装后,设置为服务启动和关闭
zabbix源码安装,使用service启动与关闭服务 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本,在/usr/local/src/zabbix ...
- 部署zabbix监控平台(源码安装)
案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...
- 源码安装zabbix
源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...
- 源码安装LNMP与搭建Zabbix
系统环境:CentOS release 6.5 (Final) 搭建Zabbix 3.0对PHP环境要求>= 5.4 一.下载NMP的软件包: N:wget http://nginx.org/d ...
- 以源码安装的lamp环境为依托,源码安装zabbix监控系统
1.源码安装lamp环境 1)安装httpd, 以源码httpd-2.4.33为基础,解压后,执行./configure --prefix=/usr/local/ --sysconfdir=/etc/ ...
随机推荐
- .net 定时任务调度
前段时间开发个项目需要自定义时间定时发送邮件,此处使用了Quartz 定时任务,在此记录下: /// <summary> /// 创建定时任务 /// </summary> / ...
- C#用Call代替CallVirt之后的测试用例
一. C# 原始代码和直接结果 测试 C# 代码: class Program { static void Main(string[] args) { A c1 = new C(); c1.Foo() ...
- window下操作jenkins查看页面的几种方式
原文:https://blog.csdn.net/kennin19840715/article/details/78782505 前几天通过jenkins本机执行selenium cases, 发现浏 ...
- Oracle大数据解决方案》学习笔记5——Oracle大数据机的配置、部署架构和监控-1(BDA Config, Deployment Arch, and Monitoring)
原创预见未来to50 发布于2018-12-05 16:18:48 阅读数 146 收藏 展开 这章的内容很多,有的学了. 1. Oracle大数据机——灵活和可扩展的架构 2. Hadoop集群的 ...
- 分布式文件管理系统HDFS
Hadoop 分布式文件管理系统HDFS可以部署在廉价硬件之上,能够高容错. 可靠地存储海量数据(可以达到TB甚至PB级),它还可以和Yam中的MapReduce 编程模型很好地结合,为应用程序提供高 ...
- docker卷管理(四)
什么是数据卷 overlay2存储卷 docker镜像是由多个只读层叠加而成,启动容器时,docker会加载只读镜像层,并在镜像栈顶部添加一个可写层 如果运行中的容器修改了现有的一个已存在文件,那该文 ...
- -bash: /home/java/jdk1.8.0_221/bin/java: 权限不够
1)进入存放jdk文件的文件夹路径我这里是 usr/local/jdk/2)输入命令 chmod 777 jdk1.8.0_221/bin/java修改权限3)再次输入 java -version 成 ...
- pdfium ppm demo
#include "fpdfview.h" #include <iostream> #include <string> #include <strin ...
- 201871010111-刘佳华《面向对象程序设计(java)》第七周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第七周学习总结 实验时间 2019-10-11 1.实验目的与要求 1) 掌握四种访问权限修饰符的使用特点: (1)进一步理 ...
- python3.5.3rc1学习五:列表与元组
#元组和列表 #元组定义x = 5,6,2,6 #or x = (5,6,2,6) #列表定义 y = [5,6,2,6] # 元组的使用,我们用return语句来演示 def exampleFunc ...