转载来源 : 20171128 Zabbix(二) : https://www.jianshu.com/p/a945956cf1f1

目录

自定义key
网络发现
Web监控
主动检测
基于SNMP监控
基于JMX监控
Zabbix Proxy
Zabbix调优

一、自定义key

  • 定义key:在zabbix agent端的配置文件上由用户通过UserParameter指令定义的key
  • 配置文件路径:编辑/etc/zabbix/zabbix_agentd.conf文件,或者在/etc/zabbix/zabbix_agentd.d建立单独文件
  • 语法格式:
    不带参数:UserParameter=,
    带参数:UserParameter=<key[*]>,
  • 实验1:实现查看被监控主机已使用内存情况
  • 本文中所有实验主机ip情况:
ode0.hellopeiyang.com: 192.168.136.230, zabbix agent
node1.hellopieyang.com: 192.168.136.130, zabbix agent
node2.hellopeiyang.com: 192.168.136.131, zabbix server
  • 步骤1:在被监控主机编辑配置文件
// 定义无参数的key
vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf
UserParameter=memory.used,free -m | awk '/^Mem/{print $3}'systemctl restart zabbix-agent.service
  • 步骤2:在zabbix的web管理界面增加items,手动输入定义的key
  • 实验2:通过一个带参数的key实现查看被监控主机多个内存使用指标
  • 步骤1:在被监控主机编辑配置文件
// 定义有参数的key,$1,$2...代表参数
vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf
UserParameter=memory.stats[*], cat /proc/meminfo | awk '/^$1/{print $$2}'
// 当command中出现$符号时,使用$$逃逸符代表属于command命令本身而非参数systemctl restart zabbix-agent.service
  • 步骤2:在zabbix的web管理界面增加items,手动输入定义的key,通过配置不同参数,可以快速添加多个items。

二、网络发现:

  • 网络发现:zabbix server扫描指定网络范围内的主机,并作出响应;
  • 发现方式:在ip地址范围内定期扫描;
  • 发现可用服务
    ftp, ssh, http等协议
    zabbix_agent的响应
    snmp_agent的响应
    网络发现分两个阶段:
  • discovery:发现,包含四种状态 UP/DOWN, DICOVERED/LOST
  • actions:以discovery events为触发条件,可以采取如下动作 send message:发消息 remote
    command:远程执行命令 add/remove host:添加/删除主机 enable/disable host:激活/禁用主机
    add host to group:添加主机至主机组 link template to host:连接模板至主机
  • 实验3:在IP地址范围内发现主机后添加主机,并将指定模板链接至主机
  • 步骤1:配置发现规则,指定IP范围、扫描间隔时间、检测所用的key
    实际生产环境的间隔时间1h,本实验为加快实验速度调至1min

    步骤2:配置执行动作,设置执行本动作的条件为步骤1设置的发现规则值为Up
  • 步骤3:设置具体的执行动作:添加主机,链接至模板

三、Web监控:

  • 功能:监控指定的站点的资源下载速度,及页面响应时间,还有响应代码
  • 基本概念: web scenario:web场景,监控站点 web
    step:web步骤,监控页面,每个页面都自动配置3个内建key,用于监控
  • 内建key: web.test.in[Scenario,Step,bps]:传输速率
    web.test.time[Scenario,Step]:响应时长 web.test.rspcode[Scenario,Step]:响应码
  • 实验4:实现监控站点
  • 步骤1:建立web场景,指定更新间隔和访问网页的浏览器信息
  • 步骤2:建立web步骤,分别给站点的不同网页添加监控,可以要求只返回头部,要求返回的状态码为200;
  • 步骤3:最终配置完成如图
  • 步骤4:可以在monitoring查看web监控状态

四、主动检测:

(一)主动检测:

  • 主动检测:agent向server请求与自己相关监控项配置,主动地将server配置的监控项相关的数据发送给server
  • agent端所需要基本配置:
    ServerActive=
    Hostname=
    HostnameItem=
    Hostname和HostnameItem同时存在时,以HostnameItem值为准;
  • 实验5:实现主动检测
  • 步骤1:编辑配置文件,确保开启主动检测功能
ServerActive=192.168.136.131
Hostname=node0.hellopeiyang.com
systemctl restart zabbix-agent
  • 步骤2:定义item,选择active模式
  • 步骤3:可以看到监控情况

(二)zabbix_sender发送数据:

  • server端配置:
    item type为"zabbix trapper",定义一个不与其它已有key冲突的key

  • agent端zabbix_sender命令格式:
    zabbix_sender
    -z zabbix_server_ip
    -p zabbix_server_port
    -s zabbix_agent_hostname
    -k key
    -o value

  • 实验6:使用zabbix_sender主动向zabbix server发送数据;

  • 步骤1:定义items,选择zabbix trapper模式

  • 步骤2:agent端向zabbix server发送指定数据

zabbix_sender -z 192.168.136.131 -p 10051 -s node0.hellopeiyang.com -k send.test.data -o 384
  • 步骤3:server端成功接收数据

五、基于SNMP监控:

(一)SNMP:简单网络管理协议

  • 支持的网管操作:get, getnext(读)、set(写)、trap(陷阱)读、写操作是
  • 端口:161/udp (get, set), 162/udp (trap)
  • 发展历程:
    v1: 1989
    v2c: 1993,目前最广泛使用
    v3: 1998
  • 关键概念:
  • NMS:网络管理系统,向管理员提供界面以获取与改变设备的配置、信息、状态、操作等信息;NMS与Agent进行通信,执行相应的Set和Get操作,并接收代理发过来的警报(Trap);
  • Agent:代理,负责NMS和设备SNMP操作的传递
  • MIB:管理信息库,定义代理进程中所有可被查询和修改的参数
  • OID:对象识别符,唯一指定管理信息库MIB中可访问的网络设备及其属性
  • 经常使用的OID:
    .1.3.6.1.2.1.
    1.1.0:系统描述信息,SysDesc
    1.3.0:监控时间, SysUptime
    1.5.0:主机名,SysName
    1.7.0:主机提供的服务,SysService
    2.1.0:网络接口数目
    2.2.1.2:网络接口的描述信息
    2.2.1.3:网络接口类型

(二)Linux启用snmp

  • 安装包:net-snmp net-snmp-utils;
  • 配置文件:
    /etc/snmp/snmpd.conf,定义ACL(允许指定范围OID能被读取)
  • 启动服务:
    systemctl start snmpd.service
  • 测试工具:
    snmpget:获取指定OID信息
    snmpwalk:获取指定OID根节点下所有OID叶节点的信息,遍历操作
    options: -v, 协议版本 -c 认证,语法如下:
    snmpget -v 2c -c public HOST OID
    snmpwalk -v 2c -c public HOST OID

(三)实验:实现使用snmp v2协议监控

  • 实验7:实现使用snmp v2协议监控指定网卡入栈的数据包数
  • 步骤1:启用snmp服务,设置允许远程读操作的OID范围
yum install net-snmp net-snmp-utils
vim /etc/snmp/snmpd.conf
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.2    // 网络接口的相关数据
view    systemview    included   .1.3.6.1.4.1.2021 // 系统资源负载:memory, disk io, cpu load
view    systemview    included   .1.3.6.1.2.1.25.1.1systemctl start snmpd.service
  • 步骤2:在zabbix-server上增加host的snmp监控接口
  • 步骤3:增加items,使用snmp v2协议监控,key值可以任意指定,监控信息由OID指定,按照 /etc/snmp/snmpd.conf中的信息设置认证community
  • 步骤4:稍候片刻,可以看到监控信息图

六、基于JMX监控

  • 基本概念:
    JMX:查询JVM信息的专用接口
    Java-gateway:用于监控JMX应用的程序
  • JMX检测自带key:
    jmx[object_name,attribute_name]
    object name - 它代表MBean的对象名称
    attribute name - 一个MBean属性名称,可选的复合数据字段名称以点分隔
  • 实验8:实现通过JMX监控Tomcat程序的堆内存使用情况
  • 步骤1:tomcat主机设置:开启JMX监控tomcat
vim /etc/sysconfig/tomcat
CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.136.230 -Djavax.management.builder.initial= -Dcom.sun.management.jmx remote=true   -Dcom.sun.management.jmxremote.port=12345  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false"systemctl start tomcat.service
  • 步骤2:zabbix-java-gateway主机设置
    zabbix-java-gateway可以搭建在zabbix-server上,也可以单独搭建 本实验将其搭建在zabbix-server上
yum install zabbix-java-gateway
vim /etc/zabbix/zabbix_java_gateway.conf   // 默认设置即可,不需修改
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052systemctl start zabbix-java-gateway.service
  • 步骤3:zabbix-server主机设置,开启java gateway功能
vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.136.131
JavaGatewayPort=10052
StartJavaPollers=5systemctl restart zabbix-server.service
  • 步骤4:在zabbix-server上增加host的jmx监控接口
  • 步骤5:增加items,使用JMX agent监控
  • 步骤6:稍候片刻,可以看到监控信息图

七、Zabbix Proxy

  • 降低zabbix server的network I/O的方法:
    采用主动检测
    通过proxy代理
  • zabbix proxy的原理:
    由proxy收集本网段被监控主机的信息,以一定间隔时间向zabbix server同步信息
  • zabbix proxy的作用:
    降低zabbix server的network I/O
    实现分布式监控
    解决跨网监控很难穿越防火墙的问题
  • 实验9:实现zabbix proxy监控
  • 实验环境:
    node1.hellopeiyang.com: 192.168.136.130, zabbix agent
    node2.hellopeiyang.com: 192.168.136.131, zabbix server
    node3.hellopeiyang.com: 192.168.136.132, zabbix proxy
  • 步骤1:安装zabbix-proxy,并配置数据库
// 安装程序包
yum install zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender
yum install mariadb-server
// 数据库服务器配置
vim /etc/my.cnf.d/server.cnf
[server]
innodb_file_per_table = ON
skip_name_resolve = ON
max_connections = 2000
innodb_buffer_pool_size = 256M
systemctl start mariadb
mysql_secure_installation
// 建立zabbix proxy数据库
mysql -uroot -pmagedu
MariaDB [(none)]> create database zbxproxydb;
MariaDB [(none)]> grant all on zbxproxydb.* to zbxproxyuser@'192.168.136.%' identified by 'centos';
cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz /root
gzip -d /root/schema.sql.gz
mysql -uzbxproxyuser -pcentos -h192.168.136.132  zbxproxydb < /root/schema.sql
  • 步骤2:配置zabbix proxy
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.136.131      // zabbix server主机地址
ServerPort=10051            // zabbix server监听端口,默认值
// 当前代理服务器的名称;在server添加proxy时,必须使用此处指定的名称
Hostname=node4.hellopeiyang.com// 数据库设置
DBHost=192.168.136.132
DBName=zbxproxydb
DBUser=zbxproxyuser
DBPassword=centosConfigFrequency=10          // proxy向server同步配置数据的时间间隔(s)
DataSenderFrequency=1       // proxy向server发送监控数据的时间间隔(s)
systemctl start zabbix-proxy.service
  • 步骤3:配置zabbix agent
yum install zabbix-agent zabbix-sender
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.136.132     // zabbix proxy的ip地址
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=192.168.136.132
Hostname=node1.hellopeiyang.comsystemctl start zabbix-agent.service

  • 步骤5:在server端配置通过此proxy监控的主机
  • 步骤6:添加items
    建议使用主动检测"Zabbix agent (active)"

  • 步骤7: 稍候片刻,可以看到监控信息图

八、Zabbix调优

  • zabbix调优的目的:
    降低nvps(new values per second)值
    降低zabbix server的磁盘I/O与网络I/O
    降低mysql数据库的读写压力

  • zabbix调优方向:
    数据的调整
    server的调整
    数据库的调整

  • 数据调优要点:

  • 历史数据不要保存太长时长

  • 尽量让数据缓存在数据库服务器的内存中

  • 触发器表达式:
    减少使用min(), max(), avg()
    尽量使用last(),nodata()

  • 数据收集:
    polling较慢,减少使用SNMP/agentless/agent
    尽量使用trapping, agent(active)

  • 数据类型:
    文本型数据处理速度较慢,尽量少收集类型为text或string类型的数据
    多使用类型为numeric的

  • zabbix服务器的进程:

  • 服务器组件的数量,在/etc/zabbix/zabbix_server.conf alerter, discoverer,
    escalator, http poller, housekeeper, icmp pinger, ipmi polller,
    poller, trapper, configration syncer, …

  • 设定合理的缓存大小
    CacheSize=8M
    HistoryCacheSize=16M
    HistoryIndexCacheSize=4M
    TrendCacheSize=4M
    ValueCacheSize=4M

  • 数据库优化:分表
    主要分为以下三个方面的表:
    history_*
    trends*
    events*

参考链接 :20171128 Zabbix(二) : https://www.jianshu.com/p/a945956cf1f1

zabbix常见配置集合相关推荐

  1. linux监控电脑配置,Zabbix基本配置及监控主机

    监控主机一版需要在被监控的主机上安装Zabbix Agent 监控主机 安装zabbix-agent 首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:http:// ...

  2. Zabbix监控配置详解

    文章目录 一.Zabbix简介 1.Zabbix架构 1.1.server-client架构 1.2.server-proxy-client架构 2.Zabbix的优缺点 3.Zabbix组件 4.Z ...

  3. zabbix监控配置流程SQL语句

    考题 1. 请详细写出zabbix监控配置流程. zabbix监控配置流程详解 开发人员要加监控 让开发人员提供获取监控信息放入方式 运维人员要加监控 让运营人员提供获取监控信息放入方式 配置监控的步 ...

  4. 前端常见配置文件格式及选择

    背景 自己撸一个脚手架的时候,需要为脚手架提供一个配置文件,然后发现有好多种配置文件的格式可以选择,比如.json .js或.yml等,一时有点迷茫应该选择哪个格式,查阅一些资料总结此文,以供查阅. ...

  5. 【集群监控——Cacti、Nagios、Zabbix安装配置过程】

    常见三大集群监控软件 常见监控平台 Cacti 组件说明 1)SNMP 2)RRDtool Cacti监控组件安装配置 Nagios 老牌监控服务器 Cacti – Nagios 对比 Nagios ...

  6. PyCharm软件常见配置

    官网下载地址:https://www.jetbrains.com/pycharm/download/#section=windows PyCharm软件安装 Pycharm下载 Python后期会有很 ...

  7. 《Drupal实战》——1.4 常见配置

    1.4 常见配置 安装好简体中文以后,对于我们这些中文用户.开发者来说,还有几个地方需要特别设置一下(毕竟Drupal是欧美人开发的,用户习惯不同).其中的一个就是地区设置里面的默认国家.默认时区.在 ...

  8. WPS漏洞利用工具Bully常见命令集合

    WPS漏洞利用工具Bully常见命令集合 Bully是一款利用路由的WPS漏洞来破解WiFi密码工具.相比Reaver工具,Bully提升了资源使用效率,并提供了更丰富的设置选项.

  9. zabbix安装配置详解(一)

    zabbix安装配置详解(一) 一.nginx安装 1.必要软件准备: 为了支持rewrite功能,我们需要安装pcre: #yum install pcre-* 需要ssl的支持,如果不需要ssl支 ...

最新文章

  1. python tkinter 布局_python tkinter学习——布局
  2. window下使用rtl-sdr和sdrsharp
  3. 树——axure线框图部件库介绍
  4. php中重写和final关键字的使用
  5. Docker学习总结(2)——Docker实战之入门以及Dockerfile(二)
  6. Java面试必问!2020-08-28(1)
  7. Unity3d + UGUI 的多分辨率适配
  8. High performance find query using lean() in mongoose
  9. 资源调度_提前计划+实时调度,实现月台资源高效利用
  10. SpringBoot2.x填坑(一):使用CROS解决跨域并解决swagger 访问不了问题
  11. 超链接为什么在HTML的head可以运行,悬赏问答 - HTML开发中,为什么最好把CSS的link标签放在head/head之间??...
  12. DS18B20温度传感器-51单片机控制程序
  13. 我读过关于面试最好的一篇文章
  14. idea切换工作空间_IDEA在一个工作空间中管理多个项目的详细步骤
  15. 键盘的空格键都有什么用处
  16. jar启动出错:Failed to get nested archive for entry BOOT-INF/lib/activiti-core-common-dependencies-7.1.0
  17. 程序员视角:鹿晗公布恋情是如何把微博搞炸的?
  18. 关于构建与优化数据仓库架构与模型设计
  19. cuda FORTRAN 统一内存 managed
  20. 2020 NOC 编程猫创新编程全国决赛小学组第一部分(客观题)

热门文章

  1. 如何配置神经网络中的层数和节点数
  2. 如果你是面试官,如何判断一个面试者的深度学习水平?
  3. fckeditor漏洞_一、Ewebeidtor编辑器漏洞
  4. 和显卡驱动要配套吗_显卡有必要更新驱动程序吗?老玩家的建议请收好
  5. effective_transformer
  6. Ubuntu下安装NetBeans步骤和相关问题的解决方法
  7. Qt 方式问题_vortex_新浪博客
  8. android开发关掉发现更新的官方版本,XUpdate:轻量级、高可用性的 Android 版本更新框架...
  9. python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)
  10. CodeIgniter的伪静态配置