zabbix 分布式监控及优化
1..zabbix分布式监控,模拟多机房实现监控?
1.有多机房时,需要用到proxy
1.网络不通
2.网络延迟
2.当监控的主机较多时,也可以用proxy来缓解压力


1.安装proxy
[root@web01 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
2.安装proxy 数据库
yum install zabbix-proxy-mysql mariadb-server -y
systemctl start mariadb
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';
zcat /usr/share/doc/zabbix-proxy-mysql-4.0.14/schema.sql.gz | mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy
3.配置zabbix-proxy
[root@web02 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_proxy.conf
....
Server=10.0.0.71
Hostname=sh_proxy
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
....
4.启动proxy
systemctl enable zabbix-proxy.service
systemctl start zabbix-proxy
5.配置zabbix-agent 不通区域的agent指向不同的proxy
10.0.0.71 <--- 10.0.0.7 <---172.16.1.51
10.0.0.71 <--- 10.0.0.8 <---172.16.1.41
[root@db01 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
.....
Server=172.16.1.7
ServerActive=172.16.1.7
Hostname=db01
.....
systemctl restart zabbix-agent
[root@node1 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
.....
Server=172.16.1.8
ServerActive=172.16.1.8
Hostname=node1
.....
systemctl restart zabbix-agent
6.登录zabbix-web
1.管理-->agent代理程序
注意:
zabbix-server 与 zabbix-proxy 需要版本一致
ProxyLocalBuffer Proxy将在本地保留数据N小时,即使数据已与server同步。(默认不保留立即发送)
ProxyOfflineBuffer 如果无法连接Zabbix server,proxy将默认保留数据1小时.







zabbix监控jvm? tomcat

2.zabbix ---> jmx ---> java(zabbix-agent)

1.Zabbix-Server找Zabbix-Java-Gateway获取Java数据
2.Zabbix-Java-Gateway找Java程序获取数据
3.Java程序返回数据给Zabbix-Java-Gateway
4.Zabbix-Java-Gateway返回数据给Zabbix-Server
5.Zabbix-Server进行数据展示
配置JMX监控的步骤:
1.安装Zabbix-Java-Gateway。
2.配置zabbix_java_gateway.conf参数。
3.配置zabbix-server.conf参数。-->连接java-gateway
4.Tomcat应用开启JMX协议。
5.ZabbixWeb配置JMX监控的Java应用。
环境:
zabbix-server 10.0.0.71 172.16.1.71
zabbix-gateway 172.16.1.7
tomcat 172.16.1.8
1.安装Zabbix-Java-Gateway
[root@web01 ~]# yum install zabbix-java-gateway -y
2.启动Zabbix-Java-Gateway
[root@web01 ~]# systemctl restart zabbix-java-gateway
[root@web01 ~]# systemctl enable zabbix-java-gateway.service
3.配置zabbix-server指向zabbix-java-gateway
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
JavaGateway=172.16.1.7
JavaGatewayPort=10052
StartJavaPollers=5
[root@zabbix-server ~]# systemctl restart zabbix-server
4.启动tomcat程序,开启jmx协议
[root@web02 soft]# vim /soft/tomcat/bin/catalina.sh #头部添加即可
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=172.16.1.8"
5.启动tomcat
pkill java
/soft/tomcat/bin/startup.sh*
6.登录zabbix-web添加一台jmx的主机

3.zabbix Api ( 开发 )
1.在使用zabbix-api之前,先获取一个token
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "oldxu.com"
},
"id": 1
}' http://zabbix.oldxu.com/zabbix/api_jsonrpc.php
2.返回的token值:
{"jsonrpc":"2.0","result":"4c831e081ff77510f9662bb9de0f9144","id":1}
3.检索主机
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 2,
"auth": "4c831e081ff77510f9662bb9de0f9144"
}' http://zabbix.oldxu.com/zabbix/api_jsonrpc.php
4.使用token验证身份, 并禁用某一台主机
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10283",
"status": 1
},
"auth": "4c831e081ff77510f9662bb9de0f9144",
"id": 1
}' http://zabbix.oldxu.com/zabbix/api_jsonrpc.php
5.使用API创建主机
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "10.0.0.1",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "10.0.0.1",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "20"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": "4c831e081ff77510f9662bb9de0f9144",
"id": 1
}' http://zabbix.oldxu.com/zabbix/api_jsonrpc.php
4.zabbix优化
(1) Zabbix属于写多读少的业务, 所以需要针对zabbix的MySQL进行拆分.
1.LAMP -->拆分成LAP + MySQL
2.MySQL尽量使用SSD固态盘
(2) 将Zabbix-Agent被动监控模式, 调整为主动监控模式.
(3) 使用zabbix-proxy分布式监控, 在大规模监控时用于缓解Zabbix-Server压力
(4) 去掉无用监控项, 增加监控项的取值间隔, 减少历史数据保存周期(由housekeeper进程定时清理)
(5)针对于Zabbix-server进程调优, 谁忙就加大谁的进程数量, 具体取决实际情况, 不是越大越好
(6)针对于Zabbix-server缓存调优, 谁使用的缓存多,就加大它的缓存值(zabbix cache usage图表)
(7) 关注管理->队列, 是否有被延迟执行的监控项
zabbix 分布式监控及优化的更多相关文章
- LNMP+zabbix分布式监控搭建及版本升级
LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...
- zabbix分布式监控部署--技术流ken
前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...
- 06 Zabbix分布式监控和主被动模式
06 Zabbix分布式监控和主被动模式 zabbix proxy设置 使用zabbix代理的好处 监控拥有不可靠的远程区域 当监控项目数以万计的时候使用代理分担zabbix-proxy压力 简化分布 ...
- Zabbix分布式监控
上一篇:Zabbix的API的使用 zabbix分布式监控 新建一台主机 安装zabbix proxy和数据库 yum -y install mariadb-server zabbix-proxy-m ...
- Zabbix分布式监控系统实践
https://www.zabbix.com/wiki/howto/install/Ubuntu/ubuntuinstall 环境介绍OS: Ubuntu 10.10 Server 64-bitSer ...
- zabbix 分布式监控(proxy)源码安装
安装分布式监控(代理节点) 1.下载软件zabbix-3.2.1.tar.gz 1.1 解压 wget http://nchc.dl.sourceforge.net/project/zabbix/ZA ...
- zabbix分布式监控的部署与win被控端
zabbix是一个分布式监视,管理系统,基于server-clinet架构,可用于监视各种网络服务,服务器和网络机器等状态. server端基于C语言,web管理端Frontend则是基于PHPA制作 ...
- Centos7 zabbix 分布式监控
分布式监控 zabbix Server ===> zabbix agent (只能同一个局域网监控) 分布式监控: a. 分担压力,降低负载 b. 多机房 ...
- zabbix分布式监控系统安装配置
zabbix简介: zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...
随机推荐
- CUDA架构及对应编译参数
NVIDIA CUDA C++ 编译器 nvcc 基于每个内核,既可以用来产生特定于体系结构的 cubin 文件,又能产生前向兼容的 PTX 版本. 每个 cubin 文件针对特定的计算能力版本,并且 ...
- springmvc: No converter found for return value of type
刚开始学习springmvc的童鞋,相信很多都需要过这种情况,报错信息如下 org.springframework.http.converter.HttpMessageNotWritableExcep ...
- ProjectServer2010升级到ProjectServer2016,Sharepoint2010升级到Sharepoint2016第三章
继续上一章,转换了身份认证模式后继续将WSS_Content备份还原到2016数据库服务器上升级,发现还是报错,报错截图如下: 查看日志,提到某些网站集还体验还是2010的,需要升级,可是我明明升级了 ...
- 【数据库】SQLite3常用命令
版权声明:本文为博主原创文章,转载请注明出处. https://www.cnblogs.com/YaoYing/ 打开SQLite3文件 sqlite3 student.db //打开student. ...
- Spring Boot 异常处理静止trace
概述 在spring boot 2.2 中 默认状态为status 999 private void addStatus(Map<String, Object> errorAttribut ...
- 1.编译spring源码
本文是作者原创,版权归作者所有.若要转载,请注明出处 下载spring源码,本文用的是版本如下: springframework 5.1.x, IDE工具idea 2019.2.3 JAVA ...
- python高阶函数——返回函数(闭包)
首先,来看一个一般意义的求和: >>> def cal_sum(*args): ... sum = 0 ... for i in args: ... sum = sum + i .. ...
- 分析Android APK-砸壳-Fdex2
砸壳的工具千千万,但是FDex2 是最有能耐的,我尝试过各种壳,都是秒砸的.特别说明一下,360的壳,oncreated 方法还是空的,但是其他大部分内容还是有的,反正是可以参考一下的. 安装环境: ...
- find 常用命令
系统中总会不断产生一些文件,比如日志文件,不一定会用到也不会自动删除,这时候就需要手动删除,当然也可以转存到其他目录下.不好找的时候可以用find模糊查找,加个job定时任务自动执行定期删除文件1.添 ...
- CentOS7 安装Python3.6.8
CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...