zabbix分布式安装全过程
项目规划
| 软件 | 版本 | IP |
|---|---|---|
| zabbix-server | 3.4.15 | 10.1.10.128 |
| zabbix-proxy | 3.4.15 | 10.1.10.129 |
| zabbix-agent | 3.4.15 | 10.1.10.130 |
| centos | 7.6 | |
| mysql | 5.6.47 | 10.1.10.128/129 |
系统初始化
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭SeLinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
zabbix-server
安装yum源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
安装软件
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
安装数据库
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum repolist enabled | grep"mysql.*-community.*"
yum install -y mysql-community-server
启动数据库
systemctl enable mysqld && systemctl start mysqld
创建数据库
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
导入初始表
cd /usr/share/doc/zabbix-server-mysql-3.4.15/
zcat create.sql.gz | mysql -uzabbix -p zabbix
配置zabbix-server配置文件(/etc/zabbix/zabbix-server.conf)
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
启动zabbix-server
systemctl start zabbix-server && systemctl enable zabbix-server
配置http服务(/etc/httpd/conf.d/zabbix.conf
)
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
启动httpd
systemctl enable httpd && systemctl start httpd
在浏览器访问http://10.1.10.128/zabbix 配置



点击下一步直到登录,默认登录用户和密码(Admin/zabbix)

修正图形乱码
在windows上找相应得图片,上传到服务器上/usr/share/zabbix/fonts/,将其改名为graphfont.ttf
zabbix-proxy
配置yum源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
安装软件
yum install zabbix-proxy zabbix-agent -y
因为zabbix-proxy会收集agent得数据,所以也需要安装数据库
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum repolist enabled | grep"mysql.*-community.*"
yum install -y mysql-community-server
启动mysql
systemctl enable mysqld && systemctl start mysqld
创建数据库和用户
create database zbx_proxy character set utf8 collate utf8_bin;
grant all privileges on zbx_proxy.* to zbx_proxy@localhost identified by 'zbx_proxy';
flush privileges;
导入zabbix-proxy库
cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
zcat schema.sql.gz | mysql -uzbx_proxy -p zbx_proxy
修改zabbix-proxy配置文件(/etc/zabbix/zabbix_proxy.conf)
注意:配置的时候将后面的配置去掉
ProxyMode=0
Server=10.1.10.128 # server服务器地址
HostnameItem=system.hostname
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=localhost # zabbix-proxy 数据库配置
DBName=zbx_proxy
DBUser=zbx_proxy
DBPassword=zbx_proxy
ProxyLocalBuffer=3 # 数据同步到server,数据还会保存多久,单位小时
ProxyOfflineBuffer=24 # 未提交的数据保存多长时间
HeartbeatFrequency=60 # 心跳间隔检测时间, , 默认60秒, 范围0-3600秒, 被动模式不使用
ConfigFrequency=5 # 间隔多久从zabbix server 获取监控信息
DataSenderFrequency=5 # 数据发送时间间隔, 默认为1秒, 范围为1-3600秒, 被动模式不使用
StartPollers=10 # 启动的线程数, 与客户端的数据保持一致
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
启动zabbix-proxy
systemctl start zabbix-proxy && systemctl enable zabbix-proxy
配置web端,创建代理

注意代理名称与我们配置文件配置的Hostname一致。
zabbix-agent
安装YUM源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
安装软件
yum install zabbix-agent -y
修改客户端配置文件(/etc/zabbix/zabbix_agentd.conf)
注意:配置的时候将后面的配置去掉
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.1.10.129 # zabbix-proxy地址
ServerActive=10.1.10.129 # zabbix-proxy地址
Hostname=10.1.10.130
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
启动zabbix-agent
systemctl enable zabbix-agent && systemctl start zabbix-agent
监控客户端
手动添加主机




然后查看最新数据。有时候会没有获取到数据,这个是因为proxy启动了,但是zabbix 的server端没有创建代理,解决方法重启一下zabbix proxy就可以了。
然后就可以看到最新数据了。
自动发现
机器太多,手动配置太过繁琐,这时候就可以配置自动发现规则。
自动发现是由服务端发起。
1、配置自发现规则

备注:如果是通过代理去发现,就在上面代理程序配置代理
2、创建自动发现动作


我们可以看到已有主机被自动发现,如下:
自动注册
自动注册是由客户端发起,需要客户端配置好agent。


有agent的就会自动注册上。
自动下线


zabbix分布式安装全过程的更多相关文章
- zabbix的安装部署及自定义监控的实现
此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...
- LNMP+zabbix分布式监控搭建及版本升级
LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...
- Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案
一:redis的入门介绍: 首先贴出官网; 英文:https://redis.io/ 中文:http://www.redis.cn/ 1.是什么 --REmote DIctionary Server( ...
- 06 Zabbix分布式监控和主被动模式
06 Zabbix分布式监控和主被动模式 zabbix proxy设置 使用zabbix代理的好处 监控拥有不可靠的远程区域 当监控项目数以万计的时候使用代理分担zabbix-proxy压力 简化分布 ...
- zabbix 分布式zabbix_proxy
Zabbix是一个分布式监控系统,它可以以一个中心点.多个分节点的模式运行,使用Proxy能大大的降低Zabbix Server的压力,Zabbix Proxy可以运行在独立的服务器上 1)下载zab ...
- Zabbix分布式监控
上一篇:Zabbix的API的使用 zabbix分布式监控 新建一台主机 安装zabbix proxy和数据库 yum -y install mariadb-server zabbix-proxy-m ...
- zabbix的安装(一)监控os资源:内存,cpu,io,负载,带宽
一.Linux下开源监控系统简单介绍1)cacti:存储数据能力强,报警性能差2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数据存 ...
- Zabbix分布式配置
Zabbix是一个分布式监控系统,它可以以一个中心点.多个分节点的模式运行,使用Proxy能大大的降低Zabbix Server的压力,Zabbix Proxy可以运行在独立的服务器上,安装Zabbi ...
- zabbix 分布式监控及优化
1..zabbix分布式监控,模拟多机房实现监控? 1.有多机房时,需要用到proxy 1.网络不通 2.网络延迟 2.当监控的主机较多时,也可以用proxy来缓解压力 1.安装proxy [root ...
随机推荐
- Chrome浏览器架构
通用浏览器架构 它可以是一个具有许多不同线程的进程,也可以是具有几个通过IPC进行通信的多个线程的进程. 一个具有许多不同线程的进程 通过IPC进行通信的多个线程的进程 注意 这些不同的体系结构是实现 ...
- Node.js 的事件循环机制
目录 微任务 事件循环机制 setImmediate.setTimeout/setInterval 和 process.nextTick 执行时机对比 实例分析 参考 1.微任务 在谈论Node的事件 ...
- 利用opencv实现视频捕捉功能
import cv2 as cv import numpy as np def video_demo(): capture = cv.VideoCapture(0) #打开摄像头,参数0代表设备ID( ...
- Bi-shoe and Phi-shoe LightOJ - 1370
欧拉函数. 欧拉函数打表模板: #define maxn 3000010 int p[maxn]; void oula(){ int i,j; ; i<=maxn; i++) p[i]=i; ; ...
- Laravel中使用JWT
Laravel 版本: Laravel Framework 6.18.3 查看版本命令: php artisan -V 1.安装JWT扩展包: composer require tymon/jwt-a ...
- bypass安全狗测试学习
搭建简单的sql注入环境 在test数据库中创建sqltest表,插入字段数据 编写存在注入的php文件 <?php $id = $_REQUEST['uid']; echo "您当前 ...
- tensorflow1.0 队列FIFOQueue管理实现异步读取训练
import tensorflow as tf #模拟异步子线程 存入样本, 主线程 读取样本 # 1. 定义一个队列,1000 Q = tf.FIFOQueue(1000,tf.float32) # ...
- Spring Cloud 系列之 Sleuth 链路追踪(一)
随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务.互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发.可能使用不同的编程语言来实现.有可能布在了 ...
- thinkphp5.0.x
payload5.0.24 http://-----/index.php?s=index/think\app/invokefunction&function=call_user_func_ar ...
- VideoView--简单获取进度条的方法
使用MediaController类就可以简单的把视频中的进度条加进去 实例: 现在布局哪里放一个VideoView,然后: videoView = (VideoView) findViewById( ...