Zabbix学习笔记01

Zabbix分布式监控

  • 监控网站无须人工时刻去访问Web网站或者登录服务器去检查,可以借助开源监控软件,例如Zabbix、、Cacti、Nagios、Ganglia等来实现对网站7*24小时的监控,并且做到有故障及时报警通知SA解决

Zabbix监控系统入门

  • Zabbix是一个基于Web界面的提供分布式系统监控的企业级开源解决方案,Zabbix能监视各种网络参数,保证服务器系统安全稳定地运行,并提供灵活的通知机制以让SA快速定位并解决存在的问题.Zabbix分布式监控系统的优点如下:
    • 支持自动发现服务器和网络设备
    • 支持底层自动发现
    • 分布式的监控体系和集中式的Web管理
    • 支持主动监控和被动监控模式
    • 服务器端支持多种操作系统
    • agent客户端支持多种操作系统
    • 基于SNMP、IPMI接口、Zabbix Agent方式监控客户端
    • 安全的用户认证及权限配置
    • 基于Web的管理方法,支持自由的自定义事件和邮件发送
    • 高水平的业务视图监控资源,支持日志审计、资产管理等功能
    • 支持高水平API二次开发、脚本监控、自key定义、自动化运维整合调用

Zabbix组件及流程

  • Zabbix主要由三大部分构成:Zabbix server端、Zabbix proxy、agent客户端,其中Zabbix server端包括Web GUI、database、Zabbix server
image.png
image.png
  • Zabbix监控完整流程:Agent安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix server端,Zabbix server收到数据,将数据存储在数据库中,用户可以基于Zabbix Web可以看到数据在前端展现的图像
  • 当Zabbix监控某个具体项目时,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括邮件、微信报警或者执行命令等操作.Zabbix完整监控系统各个部分负责的工作如下
    • Zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行
    • database storage:专用于存储所有配置信息以及存储由Zabbix收集到的数据
    • Web interface:Zabbix的GUI接口,通常与server运行在同一主机上
    • proxy:常用于分布监控环境中,代理server收集部分被监控端的监控数据并统一发往server端
    • Zabbix agent:部署在被监控主机上,负责收集本地数据并发往server端或proxy端
  • Zabbix监控部署在系统中,通常包含5个常见的程序:zabbix_server、zabbix_get、zabbix_agentd、zabbix_proxy、zabbix_sender.5个程序分别对应5个进程,每个进程的功能如下:
    • zabbix_server:Zabbix服务端守护进程,其中zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy的数据最终均是提交给zabbix_server
    • zabbix_agentd:客户端守护进程,负责收集客户端数据,例如CPU负载、内存、磁盘使用情况
    • zabbix_get:Zabbix数据获取工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令
    • zabbix_sender:Zabbix数据发送工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查,很多检查非常耗时,导致Zabbix超时,于是需要在脚本执行完毕之后,使用sender主动提交数据
    • zabbix_proxy:Zabbix分布式代理守护进程,分布式监控架构需要部署zabbix_proxy

Zabbix监控方式及数据采集

  • Zabbix分布式监控系统监控客户端的方式常见有3种:agent方式、SNMP方式、IPMI方式,3种方式特点为:
    • agent:Zabbix可以基于自身zabbix_agent客户端插件监控OS的状态,例如CPU、内存、硬盘、网卡、文件等
    • SNMP:Zabbix可以通过简单网络管理协议(simple network management protocol,SNMP)监控网络设备或者Windows主机等,通过设定SNMP的参数将相关监控数据传送至服务器端,交换机、防火墙等网络设备一般都支持SNMP协议
    • IPMI:智能平台管理接口(intelligent platform management interface,IPMI)即主要应用于设备的物理特性,包括温度、电压、电扇工作状态、电源供应以及机箱入侵等,IPMI最大的优势在于无论OS在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控
  • Zabbix监控客户端分为主动监控与被动监控,主被动模式以客户端为参照,Zabbix监控客户端默认为被动模式,可以修改为主动模式,只需要在客户端配置文件中添加即可.关闭被动模式的方法为在配置文件中加入StartAgents=0,即为关闭被动模式.主被动监控模式区别如下:
    • Zabbix主动模式:agent主动请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server或者proxy,Zabbix agent首先向server active配置的IP请求获取active items,获取后将active items数据值提交给server或者proxy
    • Zabbix被动模式:server向agent请求获取监控项的数据,agent返回数据,server打开一个TCP连接,server发送请求agent.ping,agent接收到请求并响应,server处理接收到的数据

Zabbix监控概念

  • Zabbix监控系统包括很多监控概念,常用术语及解释如下:
    • 主机(host):被监控的网络设备,可以写IP或者DNS
    • 主机组(host group):主机组用于管理主机,可以批量设置权限
    • 监控项(item):具体监控项,items值有独立的keys进行识别
    • 触发器(trigger):为某个items设置触发器,达到触发器会执行action动作
    • 事件(event):例如达到某个触发器,称之为一个事件
    • 动作(action):对于特定事件事先定义的处理方法,默认可以发送信息及发送命令
    • 报警升级(escalation):发送警报或执行远程命令的自定义方案,如隔5分钟发送一次警报,共发送5次等
    • 媒介(media):发送通知的方式,可以支持mail、SMS、scripts等
    • 通知(notification):通过设置的媒介向用户发送的有关某事件的信息
    • 远程命令(remote command):达到触发器,可以在被监控端执行命令
    • 模板(template):可以快速监控被监控端,模块包含item、trigger、graph、screen、application
    • Web场景(Web scennario):用于检测Web站点可用性,监控HTTP关键词
    • Web前端(Web frontend):Zabbix的Web接口
    • 图形(graph):监控图像
    • 屏幕(screens):屏幕显示
    • 幻灯(slide show):幻灯显示

Zabbix监控平台部署

  • Zabbix监控平台部署,至少需要4个组件:Zabbix Server、Zabbix Web、Zabbix databases、Zabbix Agent

    1. 系统环境
      • server端:10.0.0.202
      • agent端:10.0.0.203
    2. 下载Zabbix版本,安装版本为zabbix-3.2.6.tar.gz
    # 访问官网下载压缩包
    https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download
    
    # rz 接收压缩包
    
    # 或者官网下载安装流程
    https://www.zabbix.com/cn/download?zabbix=4.4&os_distribution=centos&os_version=7&db=mysql&ws=nginx
    
    1. Zabbix Server和Zabbix Agent端执行如下命令
    yum install curl curl-devel net-snmp net-snmp-devel perl-DBI -y
    groupadd zabbix;useradd -g zabbix zabbix;usermod -s /sbin/nologin zabbix
    
    1. Zabbix Server端配置
    # 创建Zabbix数据库
    create database zabbix charset=utf8;
    grant all on zabbix.* to zabbix@% identified by '123456';
    flush privileges;
    
    # 解压Zabbix软件包并将Zabbix基础SQL文件导入数据至Zabbix数据库
    tar xf zabbix-3.2.6.tar.gz
    cd zabbix-3.2.6
    mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql 
    mysql -uzabbix -p123456 zabbix < database/mysql/images.sql
    mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
    
    # 切换至Zabbix目录解压,安装Zabbix Server
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl  # 预编译
    make  # 编译安装
    make install  # 执行安装
    ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin  # 创建命令软链接
    
    # Zabbix Server安装完毕
    cd /usr/local/zabbix/etc # 查看配置文件
    
image.png
# 备份Zabbix Server配置文件
cp zabbix_server.conf{,.bak}
# 在zabbix_serverconf配置文件中设置代码
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
# 同时cp zabbix_server启动脚本至/etc/init.d目录,启动zabbix_server,zabbix_server默认监听端口为10051
cd zabbix-3.2.6
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
chmod o+x /etc/init.d/zabbix_server

[root@lianxi zabbix-3.2.6]# ll /etc/init.d/zabbix_server
-rw-r--r-- 1 root root 1521 Mar 15 20:37 /etc/init.d/zabbix_server

[root@lianxi zabbix-3.2.6]# chmod o+x /etc/init.d/zabbix_server
[root@lianxi zabbix-3.2.6]# ll /etc/init.d/zabbix_server
-rw-r--r-x 1 root root 1521 Mar 15 20:37 /etc/init.d/zabbix_server
# 配置Zabbix interface Web页面,安装HTTP Web服务器,将Zabbix Web代码发布至Apache默认发布目录,PHP版本需要使用PHP5.4.0以上版本,将PHP5.3升级至PHP5.6
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 -y

yum install httpd httpd-devel httpd-tools -y

cp -a /root/zabbix-3.2.6/frontends/php/* /var/www/html/
修改/etc/php.ini中的date.timezone变量,修改为date.timezone = PRC
# 重新启动Zabbix Server、HTTP、MySQL服务
/etc/init.d/zabbix_server start/restart
/usr/sbin/apachectl start/restart
/etc/init.d/mysqld start/restart

# 在运行/etc/init.d/zabbix_server start/restart时报错
/usr/local/sbin/zabbix_server: error while loading shared libraries:
libmysqlclient.so.20
# 解决方法:进入到mysql的库目录中,把libmysqlclient.so.20复制到系统库目录中
cd /usr/local/mysql/lib
cp libmysqlclient.so.20  /usr/lib64/libmysqlclient.so.20
  1. Zabbix Web GUI安装

    • 通过浏览器Zabbix Web验证,浏览器访问http://10.0.0.202
    • 关闭防火墙:systemctl stop firewalld
    image.png
 - 出现错误提示,需要解决错误提示才可进行下一步操作
image.png
 - 安装缺失的软件包,并修改php.ini对应参数的值
  yum install php56w-mbstring php56w-bcmath php56w-gd php56w-xml -y
  yum install gd gd-devel -y
  
  vim /etc/php.ini
  post_max_size = 16M
  max_execution_time = 300
  max_input_time = 300
  date.timezone = PRC
  always_populate_raw_post_data = -1
  
  /usr/sbin/apachectl restart
image.png
 - 点击下一步,进入到数据库配置
image.png
 - 进入到Zabbix server配置
image.png
 - 配置概述页面
image.png
 - 报错,具体信息为无法创建配置文件
image.png
 - 点击download the configuration file下载zabbix.conf.php文件,并将该文件上传至/var/www/html/conf,同时设置可写权限,刷新Web页面,zabbix.conf.php配置如下
  <?php
  // Zabbix GUI configuration file.
  global $DB;
  
  $DB['TYPE']     = 'MYSQL';
  $DB['SERVER']   = '10.0.0.202';
  $DB['PORT']     = '0';
  $DB['DATABASE'] = 'zabbix';
  $DB['USER']     = 'zabbix';
  $DB['PASSWORD'] = '123456';
  
  // Schema name. Used for IBM DB2 and PostgreSQL.
  $DB['SCHEMA'] = '';
  
  $ZBX_SERVER      = 'localhost';
  $ZBX_SERVER_PORT = '10051';
  $ZBX_SERVER_NAME = '分布式监控-测试';
  
  $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
 - 点击下一步进入到Zabbix Web登录页面,默认账号密码为admin/zabbix
image.png
 - Zabbix Web界面
image.png
  1. agent客户端配置安装

    • 解压zabbix-3.2.6.tar.gz源码文件,切换至解压目录,编译安装Zabbix
    ./configure --prefix=/usr/local/zabbix --enable-agent
    make
    make install
    ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin
    
    • 修改zabbix_agentd.conf客户端配置文件,制定server IP,同时设置本地Hostname为本地IP地址或者DNS名称
    修改Server为Zabbix Server IP地址
    LogFile=/tmp/zabbix_agentd.log
    Server=10.0.0.202
    ServerActive=10.0.0.202
    Hostname=10.0.0.203
    
    • 同时执行命令cp zabbix_agentd启动脚本至/etc/init.d目录,zabbix_agentd默认监听端口为10050
    cd zabbix-3.2.6/
    cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
    chmod o+x /etc/init.d/zabbix_agentd
    /etc/init.d/zabbix_agentd start
    # Zabbix agent started.
    
  2. Zabbix监控客户端

    • Zabbix服务端和客户端安装完毕之后,需通过Zabbix server添加客户端监控,Zabbix Web界面添加客户端监控的操作步骤为
    • configuration --> hosts --> Create host --> Host name和Agent interfaces,同时添加templates模板,选择Add --> Template OS Linux.此处Host name 名称与Agentd.conf配置文件中Hostname保持一致,否则会报错
image.png
 - 将客户端主机连接至Template OS Linux,启用模板完成主机默认监控,单击Add,再继续单击Update即可
image.png
 - 一次选择Zabbix Web --> Monitoring --> Graphs --> Group --> Host --> Graph,监控图像如下:
image.png
 - 如果无法监控到客户端,可以在Zabbix Server端执行命令获取agent的items key值是否有返回,例如system.uname为返回客户端的uname信息
  [root@lianxi ~]# /usr/local/zabbix/bin/zabbix_get -s 10.0.0.203 -k system.uname
  Linux mango 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容