Zabbix简介及使用

Linux监控平台介绍

  • 流行的开源监控软件有:Cacti、Nagios、Zabbix、smokeping、open-falcon等等。
  • Cacti、Nagios以及Zabbix都是C/S架构并且都需要有PHP环境的支持。
  • 前三款软件都可以监控服务器的基础指标,比如CPU、内存、磁盘、网络等等
    • Cacti更擅长监控网络流量,很多IDC机房的网络设备流量用cacti来监控。
    • Nagios不需要数据库(被冷漠ing),Cacti和Zabbix都需要MySQL的支持,用来存储数据。
    • Zabbix可以存储数据方便地画图,并且支持查询历史数据和自定义监控项。
    • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧。

Zabbix监控介绍

  • Zabbix 是一个企业级的分布式开源监控方案。
  • Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
  • Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此,目前官方最新版本为4.0 LTS。

Zabbix组件结构

  • Zabbix_Server:整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、统计数据及操作数据都由它组织。
  • 数据库存储:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
  • Web界面:为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上(!如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理机器上。)
  • Zabbix_Proxy(可选):用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbix-server的压力。
  • Zabbix_Agent:zabbix-agent为客户端软件,用于采集各监控项目的数据,并把采集的数据传输给zabbix-proxy或zabbix-server。

Zabbix安装部署

node1服务端

服务组件:Zabbix_Server & Zabbix_web & Mysql

安装源码库配置部署包:
[root@node1 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
安装Zabbix部署包:
[root@node1 ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
安装初始化数据库:
[root@node1 ~]# yum install mariadb-server -y
[root@node1 ~]# systemctl enable mariadb
[root@node1 ~]# systemctl start mariadb
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '000000';
[root@node1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.15/
[root@node1 zabbix-server-mysql-3.4.15]# zcat create.sql.gz | mysql -uroot zabbix
启动Zabbix Server进程:
[root@node1 zabbix]# cat zabbix_server.conf | grep -Ev "^#|^$"
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=000000
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
[root@node1 ~]# systemctl enable zabbix-server
[root@node1 zabbix]# systemctl start zabbix-server
编辑Zabbix前端的PHP配置:
[root@node1 zabbix]# /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 (时区)
[root@node1 ~]# systemctl enable httpd
[root@node1 ~]# systemctl start httpd
Zabbix前端可以在浏览器中通过 http://zabbix-frontend-hostname/zabbix 进行访问。默认的用户名/密码为 Admin/zabbix

node2客户端

服务组件:Zabbix_Agent

[root@node1 ~]# scp /etc/yum.repos.d/zabbix.repo root@node2:/etc/yum.repos.d/
[root@node2 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@node2 zabbix]# sed -i 's/^Server=.*/Server=192.168.0.140/g' zabbix_agentd.conf
[root@node2 zabbix]# sed -i 's/^ServerActive=.*/ServerActive=192.168.0.140/g' zabbix_agentd.conf
[root@node2 zabbix]# sed -i 's/^Hostname=.*/Hostname=node2/g' zabbix_agentd.conf
[root@node2 zabbix]# cat /etc/zabbix/zabbix_agentd.conf | grep -Ev "^#|^$"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.0.140
ServerActive=192.168.0.140
Hostname=node2
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@node2 zabbix]# systemctl enable zabbix-agent
[root@node2 zabbix]# systemctl start zabbix-agent

快速开始

1.登录和配置用户
2.新建主机
3.新建监控项
Zabbix_agent key列表:https://blog.csdn.net/apache0554/article/details/45821591
4.新建触发器
5.新建模版

Proxy代理介绍

  • Zabbix Proxy 可以代替 Zabbix Server 检索客户端的数据,然后把数据汇报给 Zabbix Server,
    并且在一定程度上分担了 Zabbix Server 的压力。Zabbix Proxy 可以非常简便的实现了集中式、分布式监控。
  • Zabbix Proxy 使用场景:
    • 监控远程区域设备
    • 监控本地网络不稳定区域
    • 当 Zabbix 监控上千设备时,使用它来减轻 Server 的压力
    • 简化 Zabbix 的维护
  • Zabbix Proxy 数据库必须和 Zabbix Server 分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。
  • Zabbix Proxy 收集到数据之后,首先将数据缓存在本地,然后在一定的时间之后传递给 Zabbix Server。
    这个时间由 Zabbix Proxy 配置文件中参数 ProxyLocalBuffer and ProxyOfflineBuffer 决定。
  • Zabbix Proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。

Proxy代理部署

node3代理端

安装相关软件包:
[root@node3 ~]# yum install mariadb-server zabbix-proxy-mysql -y
启动并初始化数据库:
[root@node3 ~]# 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';
MariaDB [(none)]> flush privileges;
[root@node3 ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
[root@node3 zabbix-proxy-mysql-3.4.15]# zcat schema.sql.gz | mysql -uroot zabbix_proxy
编辑配置文件:
[root@node3 ~]# cat /etc/zabbix/zabbix_proxy.conf | grep -Ev "^#|^$"
Server=192.168.0.140
Hostname=Zabbix proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix-proxy
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
启动Proxy服务:
[root@node3 ~]# systemctl enable zabbix-proxy
[root@node3 ~]# systemctl start zabbix-proxy

Web操作

  • 在Web界面配置Zabbix Proxy
    • 定位到 Administration -> Proxies -> Create proxy 主要配置如下选项:
    Proxy name: 即 Zabbix Proxy 的 hostname
    Proxy mode: 即 Zabbix Proxy的工作模式,默认为主动模式
    Hosts Proxy hosts: 选择哪些机器处于 Proxy 模式
  • 添加 Proxy 架构的主机监控
    • 添加主机的方式和正常模式一样,唯一不同的是 Monitored by proxy 选择对应的 Proxy 节点。
    • 如果是已经存在的没有被 Proxy 监控的节点,修改成被 Proxy 代理监控时,
    • 需要修改 Zabbix Agent 配置文件,将 Server/ServerActive 配置成 Proxy 的 IP

node2客户端

[root@node2 ~]# cat /etc/zabbix/zabbix_agentd.conf | grep -e "^Server"
Server=192.168.0.142
ServerActive=192.168.0.142

监控Windows客户端

持续更新ing...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容