快速搭建完整zabbix3.4 监控系统

一、为什么需要监控:

在需要的时刻,提前提醒我们服务器出问题了
当出问题之后,可以找到问题的根源

二、相关指标

1、在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——N个9,这个N是代表数字3~5。N个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下N个9在不同级别的可靠性差异。

1个9:(1-90%)365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天
2个9:(1-99%)365=3.65天 , 表示。。。是3.65天
3个9:(1-99.9%)36524=8.76小时,表示。。。是8.76小时。
4个9:(1-99.99%)36524=0.876小时=52.6分钟,表示。。。是52.6分钟。
5个9:(1-99.999%)36524
60=5.26分钟,表示。。。是5.26分钟。
6个9:(1-99.9999%)36524
60*60=31秒, 表示。。。是31秒

三、监控范围

硬件监控:
通过远程控制卡;比如dell服务器自带监控芯片
使用IPMI完成物理设备的监控。通常监控的对象就是温度、硬盘故障等
路由器、交换机、打印机等
系统监控:
CPU、MEM、磁盘利用率、磁盘IO、系统负载、进程数
服务监控:
apache、nginx、memcached、redis、mysql、tomcat等
性能监控:
网站、服务器、数据库、存储性能
日志监控:
将各种日志,比如系统日志、应用程序日志、错误日志
安全监控:
nginx+lua编写WAF通过kibana的web页面图形化界面展示不同的攻击类型统计
统计用户登录数、passwd文件变化、本地文件系统变化
网络监控:
端口、IDC带宽流量、网络使用率、网络流入流出流量

四、linux系统常见监控工具:

1、CPU
top,htop
2、mem
free,vmstat,ps
3、Disk IO、Disk Free
iostst,dstat
4、Network IO
netstat,dstat

五、Zabbix监控简介

Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP … 各种协定做死活监视。
在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。
另外,Zabbix 包含 XMPP 等各种 Item 警示功能。
1998(项目 idea 诞生) --> 2001(项目正式启动) --> 2004(zabbix 1.0) … --> 2009(zabbix 1.8较为成熟) --> 2012(zabbix 2.0) --> 2013.2.12(zabbix 2.0.5 正式版发布,分布式系统监控) --> 2013.4.22(zabbix2.0.6 正式版,企业级分布式监控系统) --> 2016.2.16(zabbix 3.0.0 正式版,企业级分布式监控系统)

六、Zabbix基本架构

zabbix官网: https://www.zabbix.com
zabbix 主要由2部分构成 zabbix server和 zabbix agent
zabbix proxy是用来管理其他的agent,作为代理

七、Zabbix监控范畴

硬件监控 :Zabbix IPMI Interface
系统监控 :Zabbix Agent Interface
Java 监控:ZabbixJMX Interface
网络设备监抟:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL 数据库监控:percona-monitoring-pldlgins
URL监控:Zabbix Web监控

八、为什么使用Zabbix?

1、企业级监控系统
2、真正开源
3、各种各样用户多达几十万个且还在不断增长
4、支持众多平台
	它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

九、准备工作

OS:centos7.4
Zabbix version:3.4.6(2018/1/15日上线的新版本)
Database:MariaDB

关闭防火墙:
systemctl stop firewalld

防火墙开机不自启:
systemctl disable firewalld

关闭selinux:
临时:setenforce 0
永久:sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
一切准备好后,重启系统!

十、先安装MariaDB数据库

1.概述:
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
2.yum安装MariaDB
yum -y install mariadb-server mariadb
3.启动和开机自启数据库
systemctl start mariadb && systemctl enable mariadb

十一、安装Zabbix Server

1.zabbix3.4.6版本更新说明
  1. 全新的仪表盘
  2. 全新的地图导航树展示
  3. 支持通过proxy执行远程命令
  4. 报警并行处理

2.rpm安装zabbix的yum源
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

3.安装zabbix
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender zabbix-web
zabbix @ 通用组件
zabbix-server @ zabbix server
zabbix-agent @ zabbix agent
zabbix-server-mysql @ server端连接MySQL的组件
zabbix-get @ 手动使用命令行到被监控端取数据
zabbix-web @ zabbix前端图形界面
zabbix-sender @ 自己发送数据让zabbix trap
zabbix-web-mysql @ zabbix web与MySQL交互组件

4.创建初始数据库
mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@‘192.168.10.%’ identified by ‘zabbix’;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit

5.导入初始模式和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
登录数据库查看执行结果
mysql -uroot -pMysql123!
mysql> show tables from zabbix;
如下图所示
在这里插入图片描述
select count(*) tables,table_schema from information_schema.tables where table_schema = ‘zabbix’;
在这里插入图片描述
6.为Zabbix服务器配置数据库
grep -n ‘1’ /etc/zabbix/zabbix_server.conf
cp -v /etc/zabbix/zabbix_server.conf{,.bak}
sed -i ‘s/DBName=zabbix/DBName=zabbix/’ /etc/zabbix/zabbix_server.conf
sed -i ‘s/DBUser=zabbix/DBUser=zabbix/’ /etc/zabbix/zabbix_server.conf
sed -i ‘s/# DBPassword=/DBPassword=zabbix/’ /etc/zabbix/zabbix_server.conf

7.启动Zabbix服务器和代理进程,并在系统启动时启动
systemctl start zabbix-server zabbix-agent
systemctl enable zabbix-server zabbix-agent

8.为Zabbix前端配置PHP,更改时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

cp -v /etc/httpd/conf.d/zabbix.conf{,.bak}
sed -i ‘s@# php_value date.timezone.*@php_value date.timezone Asia/Shanghai@’ /etc/httpd/conf.d/zabbix.conf
systemctl start httpd
systemctl enable httpd

9.重启系统
reboot

10.启动zabbix web
http://your server ip/zabbix/
Username:Admin
Password:zabbix
11.解决中文乱码问题
yum -y install wqy-microhei-fonts
cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf (建议再次reboot一次)
12.登录web 界面进行配置
在这里插入图片描述
点击Next step ,进行下一步操作
在这里插入图片描述
检查信息正常 继续 点击 Next step 进行 下一步
在这里插入图片描述
注意填写对应信息 点击 Next step
在这里插入图片描述
点击Next step
在这里插入图片描述
检查 配置信息 正常 点击 Next step

在这里插入图片描述
点击 Finish 进行安装
在这里插入图片描述
输入用户名密码 Admi/zabbix
在这里插入图片描述
安装完成
在这里插入图片描述
修改显示界面为中文
在这里插入图片描述
效果 如上图所示

十二、安装Zabbix Agent

1.rpm安装zabbix的yum源

wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo

2.安装zabbix agent 并启动
yum install -y zabbix-agent
cp -v /etc/zabbix/zabbix_agentd.conf{,.bak}
sed -i ‘s#ServerActive=127.0.0.1#ServerActive=192.168.98.2#’ /etc/zabbix/zabbix_agentd.conf
sed -i ‘s#Hostname=Zabbix server#Hostname=zabbix-agent#’ /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent && systemctl enable zabbix-agent

3、测试服务端连通性
(1) rpm安装zabbix的yum源
服务端安装zabbix-get检测工具
yum install zabbix-get
(2) 在服务端进行测试
zabbix_get -s ClientIP -p 10050 -k “system.cpu.load[all,avg1]”
zabbix_get -s 127.0.0.1 -p 10050 -k “system.cpu.load[all,avg1]”

十三、添加监控信息

1、修改监控管理机zabbix server

配置 >> 主机
修改后,要将下面的已启用要勾上
添加完成就有了管理机的监控主机
在这里插入图片描述
2、添加新的主机
配置 >> 主机 >> 创建主机
注意勾选以启用
在链接指示器中选择linux OS模板,然后再选添加。
在这里插入图片描述
在这里插入图片描述
注意 主机名 要与 zabbix-agent 配置文件中的一致
然后点击页面最下方的添加按钮
在这里插入图片描述
点击zabbix-agent 进行模板添加
在这里插入图片描述
点击>模板>选择 会弹出模板界面 然后选择 Linux模板 在模板前面的小方框打勾 点击最下方选择按钮
在这里插入图片描述
点击 添加>更新
在这里插入图片描述
添加完成

3、查看监控内容

监测中 >> 最新数据
在最新数据中需要筛选。
输入ip或者名字都能够搜索出来
在这里插入图片描述
4、查看图像
检测中 >> 图形
选择正确的主机。选择要查看的图形即可出图
在这里插入图片描述

十四、自定义监控与报警功能

1、自定义监控

(1) zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁盘、网卡等常规监控,只要新加主机关联此模板,就可自动添加这些监控项。
需求:服务器登陆人数不能超过三人,超过三人报警

(2) 自定义key能被server和agent认可
正确的key
zabbix_get -s 127.0.0.1 -p 10050 -k “system.uname”
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
没有登记的,自定义的key
zabbix_get -s 127.0.0.1 -p 10050 -k “login-user”
ZBX_NOTSUPPORTED: Unsupported item key.
写错的key
zabbix_get -s 127.0.0.1 -p 10050 -k “system.uname1”
ZBX_NOTSUPPORTED: Unsupported item key.
2、定义自定义监控
(1) 自定义语法
UserParameter=,
UserParameter=login-user,who|wc -l
UserParameter=disk-usage,df -Th | grep ‘/$’ | awk ‘{print $6}’ | grep -oE ‘[0-9]+’

UserParameter=login-user,/bin/sh /server/scripts/login.sh

(2) agent注册
# cd /etc/zabbix/zabbix_agentd.d/
# vim userparameter_login.conf
UserParameter=login-user,who|wc -l
UserParameter=login-user2,who|wc -l
UserParameter=login-user3,who|wc -l
(3) 修改完成后重启服务
#systemctl restart zabbix-agent.service
在server端进行get测试
zabbix_get -s ClientIP -p 10050 -k “login-user”
zabbix_get -s ClientIP -p 10050 -k “login-user2”
(4) 在server端注册
a.创建模板
配置 >> 模板 >> 创建模板
b.创建应用集
应用集类似(目录/文件夹),其作用是给监控项分类。
应用集 >> 创建应用集
自定义应用集的名称,然后点击添加
c.创建监控项
监控项 >> 创建监控项
键值key,手动添加,即前面出创建的login-user。
注意:创建监控项的时候,注意选择上之前创建的应用集。
d.创建触发器
触发器的作用:当监控项获取到的值达到一定条件时就触发报警
触发器 >> 创建触发器
创建触发器,自定义名称,该名称是报警时显示的名称。
严重性自定义。
表达式,点击右边的添加,选择表达式。
e.创建图形
以图形的方式展示出来监控信息
图形 >> 创建图形
名称自定义,关联上监控项。
f.主机关联模板
配置 >> 主机
注:一个主机可以关联多个模板
(5) 查看监控的图形
3、监控报警功能实现
(1) 第三方报警平台:http://www.onealert.com
通过 OneAlert 提供的通知分派与排班策略,以及全方位的短信、微信、QQ、电话提醒服务,您可以在最合适的时间,将最重要的信息推送给最合适的人员。
(2) onealert配置
配置 >> 添加应用,注意添加的是zabbix
实现微信报警需要关注微信公众号即可。
点击创建应用key
(3) 安装 Agent
a.查看zabbix脚本目录并切换:
grep “AlertScriptsPath” /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath
cd /usr/lib/zabbix/alertscripts
b.获取OneITSM agent包:
wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.2.0.tar.gz
c.解压、安装。
tar -xf oneitsm_zabbix_release-1.2.0.tar.gz
cd oneitsm/bin
bash install.sh 上面获得的应用key
注: 1、在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码。
2、zabbix管理地址正确示例:http://zabbix.server.com/zabbix
d.当提示"安装成功"时表示安装成功!
f.验证告警集成
产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。
(4) 删除onealert Agent
a.删除报警媒介类型中的脚本
管理 >> 报警媒介类型
b.删除创建的用户
管理 >> 用户
c.删除用户群组
管理 >> 用户群组
d.删除创建的动作
配置 >> 动作

4、监控可视化
(1) 聚合图形
最新数据 >> 图形
自定义名称
点击聚合图形的名称,进行更改,添加要显示的图形即可。
(2) 幻灯片
添加幻灯片
监测中 >> 复合图形 >> 幻灯片演示
创建幻灯片,名称自定,选择要显示的
幻灯片根据设定的时间自动播放

5、模板的共享
主机共享
在主机页打开,全选后点击导出、导入

6、实现分布式监控(自行百度)


  1. a-Z ↩︎

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简介 提供关于当前Zabbix软件的常用信息。阅读本章节将为您选择使用Zabbix提供一些好的理由。 Zabbix 概念 解释了Zabbix中使用的术语,并且提供了Zabbix组件的详细信息。 安装 和 快速入门章节可以帮助您开始使用ZabbixZabbix 应用 是一个替代的方案,通过本章节,可以快速的使用Zabbix应用,并了解Zabbix应用是什么。 配置 是本手册中内容最多最重要的章节之一。它包含一些重要的建议,关于如何设置Zabbix来监控您的环境、如何从主机设置到获取必要的数据、如何查看数据、如何配置告警通知和在出现问题时执行远程命令等。 IT 服务 IT服务章节详细的说明了如何利用Zabbix提升监控环境的高稳定性。 Web 监控 可以帮助您学会怎么样去监控Web网站的可用性。 虚拟机监控提供了如何配置VMware虚拟机环境监控的方法。 维护, 正则表达式, 事件确认 and XML 导出/导入 这些章节进一步说明了如何全面的使用Zabbix软件的功能。 发现 功能包含网络设备自动发现的指令,主动监控的指令,文件系统自动发现的指令,网络接口自动发现的指令等。 分布式监控 可以使用Zabbix系统支撑更庞大更复杂的环境。 加密 功能可以实现Zabbix组件之间的通讯加密。 Web 界面 包含Zabbix Web界面使用的特定信息。 API 章节详细的说明了Zabbix API的使用。 详细的技术细节表包含在附录中。附录也包含常见问题的详细解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值