首页 > 其他分享 >zabbix监控

zabbix监控

时间:2024-07-23 22:33:20浏览次数:13  
标签:30 agent server zabbix proxy 监控 root

一、监控linux 系统

在其他从节点安装 zabbix agent,然后添加到zabbix server以对其进行资源监控

1.安装zabbix-agent

安装依赖环境

yum install gcc libxml2-devel   net-snmp net-snmp-devel   curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel    libevent-devel    java-1.8.0-openjdk-devel  -y

解压安装包 编译

[root@node2 zabbix-4.0.30]#tar xf zabbix-4.0.30.tar.gz 
[root@node2 zabbix-4.0.30]#cd zabbix-4.0.30/
[root@node2 zabbix-4.0.30]#./configure --prefix=/apps/zabbix --enable-agent
[root@node2 zabbix-4.0.30]#make -j2 && make install

准备service文件

[root@node2 zabbix-4.0.30]#useradd zabbix
# 新建用户

[root@node2 zabbix-4.0.30]#vim /usr/lib/systemd/system/zabbix-agent.service 
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target


[root@node2 zabbix-4.0.30]#systemctl daemon-reload
[root@node2 zabbix-4.0.30]#systemctl start  zabbix-agent.service
[root@node2 zabbix-4.0.30]#systemctl status zabbix-agent.service

2.修改配置文件

[root@node2 etc]#vim /apps/zabbix/etc/zabbix_agentd.conf
94 Server=192.168.100.155   #指向当前zabbix server
##### Passive checks related #被动检查相关配置


### Option: ListenPort
ListenPort=10050 #监听端口  默认的无需修改


119 StartAgents=3
#启动3个进程收集数据

146 Hostname=192.168.100.160
#指定名称 一般使用 IP地址, 等会需要使用

systemctl restart  zabbix-agent.service
systemctl status zabbix-agent.service 

3.web页面主控端添加被监控主机

在zabbix web管理界面添加上一步安装了zabbix agent的linux主机。

 

 添加模板

4.使用命令获取数据

#在zabbix_server上执行
/apps/zabbix_server/bin/zabbix_get -s 192.168.100.60 -p 10050 -k "agent.ping" -s 指明主机 -k 指明监控项 -p 端口

二、监控tomcat

 在192.168.100.160上安装tomcat

1.tomcat开启JMX监控

 所谓JMX,是Java Management Extensions(Java管理扩展)的缩写,是一个为应用程序植入管理功能的框架。用户可以在任何Java应用程序中使用这些代理和服务实现管理。

https://www.jianshu.com/p/8c5133cab858

MX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务,通常使用JMX来监控系统的运行状态。

 

vim /usr/local/tomcat/bin/catalina.sh

#一般加在117行 12345为JMX监控的端口号
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=192.168.100.160" 

systemctl restart tomcat.service 
systemctl status tomcat
ss -napt|grep 12345

 CATALINA_OPTS="$CATALINA_OPTS

选项含义
-Dcom.sun.management.jmxremote #启用远程监控JMX
-Dcom.sun.management.jmxremote.port=12345 #默认启动的JMX端口号,要和zabbix添加主机时候的端口 一致即可
-Dcom.sun.management.jmxremote.authenticate=false #不使用用户名密码
-Dcom.sun.management.jmxremote.ssl=false #不使用ssl认证
-Djava.rmi.server.hostname=x.x.x.x" #tomcat主机自己的IP地址,不要写zabbix服务器的地址

2.通过jconsole验证JMX数据

 在windows安装windows版本的JDK,安装过程略,安装完成之后点击安装目录的jconsole.exe,比如C:\ProgramFiles\Java\jdk1.8.0_221\bin\jconsole.exe,如下:

3.配置zabbixserver

 在主服务器上配置启动 javagateway

vim /apps/zabbix_server/sbin/zabbix_java/settings.sh 
#不需要修改
35 START_POLLERS=5  #启动5个线程去采集java数据
43 TIMEOUT=30       #一个数据的超时时间30s

/apps/zabbix_server/sbin/zabbix_java/startup.sh # 启动gateway服务 ss -antp |grep 10052

 配置 zabbix-server 对接 java-gateway

[root@localhost data]#vim /apps/zabbix_server/etc/zabbix_server.conf
282 JavaGateway=192.168.100.160    #指明gateway地址
297 StartJavaPollers=5            #开启多少个进程去收集java服务器的信息
289 JavaGatewayPort=10052         # 默认不用改




[root@localhost ~]#systemctl restart zabbix-server
#快照起不来  重启机器 
#重启后不要忘记开启  javagateway

4.web页面配置

 

三、zabbix主动与被动监控模式

 1.被动模式

被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix 的默认工作模式,但是被动模式的最大问题就是会加大zabbix server的工作量,在数百甚至数千台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,如果zabbix server负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式。

 

  1. 主服务器会开启随机端口去连接 客户端的 10050 端口 来获取数据

  2. 从节点将数据交给主

  3. 主写入数据库

  4. 最后展示在 web页面中

2.主动模式

主动模式是由zabbix agent主动向zabbix server的10051端口发起tcp连接请求,因此主动模式下必须在zabbixagent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址),在连接到zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,然后在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,然后再根据监控项采集数据并返回给zabbix server,在主动模式下不再需要zabbix serve向zabbix agent发起连接请求,因此主动模式在一定程度上可减轻zabbix server打开的本地随机端口和进程数,在一定程度就减轻看zabbix server的压力。

  1. 初次连接agent服务器会开启随机端口去连接 服务端的 10051 端口 来获取 需要监控的数据类型(监控项)

  2. 从节点将数据交给主

  3. 主写入数据库

  4. 最后展示在 web页面中

  5. 此后的数据收集就不需要先去获取监控项目

修改zabbix agent为主动模式

[root@node2 zabbix]#grep  -in "^[a-z]"  etc/zabbix_agentd.conf
30:LogFile=/tmp/zabbix_agentd.log
94:Server=192.168.91.100  #谁可以来获取数据
119:StartAgents=3
135:ServerActive=127.0.0.1
146:Hostname=192.168.91.102


[root@node2 zabbix]#vim  /apps/zabbix/etc/zabbix_agentd.conf
修改第135  作为
94:Server=192.168.91.100  #谁可以来获取数据
135:ServerActive=192.168.91.100  #主动模式的zabbix server地址
146:Hostname=192.168.91.102      #当亲主机名字

[root@node2 zabbix]#systemctl restart   zabbix-agent.service

生成主动模式模板

 

 

 点击全克隆

 修改名称

 修改多个

 

 服务器的磁盘 网卡个不相同, 模板中有一些自动发现规则,可以适当将 其中的一些选项时间调低点,默认1小时太长了

 

 

 

 

 

 监控项原型, 自动适配改成你的名字

 应用模板

查看网卡

四、zabbix proxy

zabbix 作为一个分布式监控系统(分布式监控解决方案),支持通过代理(proxy)收集zabbix agent的监控数据然后由zabbix proxy再把数据发送给zabbix server,也就是zabbix proxy 可以代替 zabbix server 收集监控数据,然后把数据汇报给 zabbix server,所以zabbix proxy可以在一定程度上分担了zabbix server 的数据收集压力,从而降低了数据的采集时间、也相应的增加了zabbix server的监控能力。

另外zabbix proxy也区分主动模式和被动模式,通信方式与zabbix server主动模式和被动模式一样,区别是zabbixproxy由于没有zabbix agent的配置,所以zabbix proxy在主动模式下要向zabbix server周期性的向zabbix server申请获取zabbix agent的监控项信息,但是zabbix proxy在被动模式下也是等待zabbix server的连接并接受zabbixserver发送的监控项指令,然后再有zabbix proxy向zabbix agent发起请求获取数据。

1.zabbix proxy架构

 

2.zabbix proxy部署与使用

zabbix proxy的大版本必须要和zabbix server版本一致,否则会导致出现zabbix server与zabbix proxy不兼容问

zabbix proxy安装

编译安装proxy软件

#安装依赖环境
 yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y

./configure --prefix=/apps/zabbix_proxy --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

make   install

准备 数据库

yum install mariadb-server -y
systemctl start mariadb
mysql_secure_installation

准备数据库

#新建表
create database zabbix_proxy_active  character set utf8 collate utf8_bin;
create database zabbix_proxy_passive character set utf8 collate utf8_bin;
# 授权
grant all privileges on zabbix_proxy_active.* to proxy@'192.168.100.%' identified by '123';
grant all privileges on zabbix_proxy_passive.* to proxy@'192.168.100.%' identified by '123';
grant all privileges on zabbix_proxy_active.* to proxy@'localhost' identified by '123';
grant all privileges on zabbix_proxy_passive.* to proxy@'localhost' identified by '123';


#导入数据结构
#先去源码包目录
mysql -uproxy -p123 -h192.168.100.140  zabbix_proxy_passive < database/mysql/schema.sql
mysql -uproxy -p123 -h192.168.100.140  zabbix_proxy_active < database/mysql/schema.sql

实现被动模式

zabbix proxy被动配置

服务器类型地址
zabbix server 192.168.100.155
被动proxy 192.168.100.140
web服务器IP 192.168.100.160
# vim /apps/zabbix_proxy/etc/zabbix_proxy.conf
ProxyMode=1                 #0为主动,1为被动
Server=192.168.91.100         #zabbix server服务器的地址或主机名
Hostname=passive               #代理服务器名称,需要与zabbix server添加代理时候的proxyname是一致的!
ListenPort=10051             #zabbix proxy监听端口
LogFile=/tmp/zabbix_proxy.log
EnableRemoteCommands=1         #允许zabbix server执行远程命令
DBHost=192.168.91.103         #数据库服务器地址
DBName=zabbix_proxy_active     #使用的数据库名称
DBUser=proxy                 #连接数据库的用户名称
DBPassword=123456             #数据库用户密码
DBPort=3306                    #数据库端口
ProxyLocalBuffer=720         #已经提交到zabbix server的数据保留时间 720小时
ProxyOfflineBuffer=720         #未提交到zabbix server的时间保留时间
HeartbeatFrequency=60         #心跳间隔检测时间,默认60秒,范围0-3600秒,被动模式不使用
ConfigFrequency=5             #间隔多少秒从zabbix server获取监控项信息
DataSenderFrequency=5         #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用
StartPollers=20             #启动的数据采集器数量
JavaGateway=172.31.0.104     #java gateway服务器地址,当需要监控java的时候必须配置否则监控不到数据
JavaGatewayPort=10052         #Javagatewa服务端口
StartJavaPollers=20         #启动多少个线程采集数据
CacheSize=2G                 #保存监控项而占用的最大内存
HistoryCacheSize=2G         #保存监控历史数据占用的最大内存
HistoryIndexCacheSize=128M     #历史索引缓存的大小
Timeout=30                     #监控项超时时间,单位为秒
LogSlowQueries=3000         #毫秒,多久的数据库查询会被记录到日志

实际配置

[root@localhost zabbix-4.0.30]#cd /apps/zabbix_proxy/etc/
[root@localhost zabbix_proxy]#vim   zabbix_proxy.conf
13 ProxyMode=1 # 1是被动 #0为主动 修改为1 30 Server=192.168.100.155 # 指向 zabbix服务器 , 就算是主动模式也需要修改应为不是所有监控项都是主动还有被动的 39 ServerPort=10051 #被动模式可以不修改 应为是 zabbix-server 主动 49 Hostname=passive # web 配置中需要使用, 必须一致 156 DBHost=192.168.100.140 #数据库地址 167 DBName=zabbix_proxy_passive # 数据库名字 182 DBUser=proxy #数据库用户 192 DBPassword=123 #数据库密码 244 ConfigFrequency=5 #间隔多少秒从zabbix server获取监控项信息

启动 proxy 软件 及proxy 上的agent

[root@localhost zabbix-4.0.30]#useradd zabbix
[root@localhost zabbix-4.0.30]#chown zabbix:zabbix /apps/zabbix_proxy/ -R
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_proxy 
[root@localhost zabbix-4.0.30]#ss -natpl |grep 10051
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_agentd
# 一定要开

web端添加代理

修改被监控端指向 .140 代理

[root@localhost ~]# vim /apps/zabbix/etc/zabbix_agentd.conf
94 Server=192.168.100.155,192.168.100.140
#被动模式  允许  .140代理 来获取数据
[root@localhost ~]#systemctl  restart   zabbix-agent.service 
[root@localhost ~]#systemctl  status   zabbix-agent.service 

 

实现主动模式

修改配置文件

[root@localhost zabbix-4.0.30]#cd /apps/zabbix_proxy/etc/
[root@localhost zabbix_proxy]#vim   /apps/zabbix_proxy/etc/zabbix_proxy.conf
13 ProxyMode=0
# 1是被动   0为主动  需要开启

31 Server=192.168.100.155
# 指向 zabbix服务器 , 就算是主动模式也需要修改应为不是所有监控项都是主动还有被动的

40 ServerPort=10051
#被动模式可以不修改  应为是  zabbix-server 主动

50 Hostname=active
# web 配置中需要使用, 必须一致

158 DBHost=192.168.91.103
#数据库地址

169 DBName=zabbix_proxy_active
# 数据库名字

184 DBUser=proxy
#数据库用户

192 DBPassword=123
#数据库密码

启动

[root@localhost zabbix-4.0.30]#useradd zabbix
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_agentd
[root@localhost zabbix-4.0.30]#/apps/zabbix_proxy/sbin/zabbix_proxy 
[root@localhost zabbix-4.0.30]#ss -natpl |grep 10051

web设置

 

标签:30,agent,server,zabbix,proxy,监控,root
From: https://www.cnblogs.com/hxqwe/p/18316592

相关文章

  • Memcached开发(十):性能调优与监控
    目录1.Memcached性能调优1.1内存配置1.2连接数优化1.3缓存淘汰策略1.4多线程优化1.5网络性能优化2.Memcached监控2.1基础监控2.2内存监控2.3连接监控2.4LRU监控2.5命令监控3.Memcached性能调优实战3.1配置优化3.2监控报警3.3性能测试4.Memca......
  • C# 开发技巧 轻松监控方法执行耗时
    前言MethodTimer.Fody是一个功能强大的库,可以用于测量.NET应用程序中的方法的执行时间。允许你在不修改代码的情况下,自动地测量和记录方法的执行时间。这个工具是基于.NET的weaving技术,通过修改IL(IntermediateLanguage,中间语言)代码来插入计时逻辑,从而在方法调用前后记录时......
  • 兼容sentry协议的轻量级监控,glitchtip
    前言上一篇文章说了重启sentry的事因为过程太折腾了,一度想过放弃sentry换成其他比较轻量级的开源监控系统这不就给我找到了另外俩个https://glitchtip.com/https://www.highlight.io/这次就来试试这个glitchtip用了之后才发现,这个也是用Django开发的,而且兼容sent......
  • 安防视频监控/视频集中存储EasyCVR视频汇聚平台修改配置后无法启动的原因排查与解决
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等。平台能对外分发RTMP、RT......
  • 使用夜莺+categraf监控redis和redis集群
    上一篇文章《使用Categraf快速建设MySQL监控,同时介绍夜莺模板中心》我们已经了解了如何使用夜莺配合Categraf监控MySQL,本节我们重点看看Redis监控的实操方案。Redis监控资料首先还是去模板中心找到Redis插件相关的说明和各类模板,菜单位置在:集成中心-模板中心,搜索......
  • 嵌入式外设 -- ESP32-Cam图像透传到公网访问做个小监控(图文讲解)
    目录一前言局域网透传和环境安装可以看这里二准备工作1.账号注册2.软件下载3.软件安装4.软件使用5.程序烧录三重点来了1.获取分配的IP地址2.软件配置隧道IP地址3.获取到公网的访问地址4.配置摄像头参数四注意事项重新链接热点需要重新去走这几步......
  • 嵌入式C++、STM32F103、MQTT、InfluxDB存储和Grafana可视化:工厂设备的实时监控和数据
    1.项目概述随着工业4.0的推进,智能制造已成为制造业发展的必然趋势。本文介绍了一套基于STM32和MQTT协议的小型工厂设备监控系统,可实现对工厂设备的实时监控和数据分析,有效提高生产效率和安全性。系统主要包括三个部分:设备端:使用STM32MCU连接各种传感器,采集设备运行......
  • 单位网络监控软件中的Pharo面向对象编程
    Pharo是一种现代化的面向对象编程语言,基于Smalltalk语言的理念。在单位网络监控软件的开发中,Pharo提供了强大的面向对象功能,可以帮助开发者更好地组织和管理代码。在本文中,我们将探讨Pharo语言在网络监控软件中的应用,并提供一些代码示例。Pharo的基本概念Pharo是一种动态......
  • zabbix切换成中文, 安装中文包和字体
    zabbix安装中文包&字体1.在centos光盘中可以找到如下3个文件:CentOS-8.5.2111-x86_64-dvd1.iso\BaseOS\Packages\•glibc-common-2.28-164.el8.x86_64.rpm•glibc-2.28-164.el8.x86_64.rpm •glibc-langpack-zh-2.28-164.el8.x86_64.rpm2.生产环境离......
  • zabbix_appliance的数据库扩容方案
    问题:zabbix_appliance直接加载虚拟机来部署zabbix是很方便的办法,下载配置好后,监控一段时间会提示mysql存储空间不足,进去系统df一看才4G多,只好自已手动扩容.思路:虚拟机上添加一块硬盘,创建新分区并挂载到扩容目录,迁移mysql的数据库目录到扩容目录,修改mysql\php\zabbix的......