分享一篇文章,原作者是惨绿少年 ,原文链接:Zabbix 3.0 从入门到精通(zabbix使用详解)。这篇文章接近3万字,全面的介绍了zabbix使用中的各种方面。由于文章太长,本文分为两部分发布,查看后半部分请点击:地球的外星人君:Linux老司机带你学Zabbix从入门到精通(二)25 赞同 · 0 评论文章Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,在企业中有非常全面的应用,本文是Linux运维老司机撰写,一站式帮你解决zabbix的难题。第1章 zabbix监控1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了当出问题之后,可以找到问题的根源网站/服务器 的可用性1.1.1 网站可用性在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天
2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天
3个9:(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
5个9:(1-99.999%)*365*24*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
6个9:(1-99.9999%)*365*24*60*60=31秒, 示该软件系统在连续运行1年时间里最多可能的业务中断时间是31秒1.2 监控什么东西监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控1.2.1 监控范畴1.3 怎么来监控1.3.1 远程管理服务器如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM1.3.2 监控硬件查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。使用ipmitool实现对服务器的命令行远程管理yum -y install OpenIPMI ipmitool #->IPMI在物理机可以成功,虚拟机不行
[root@KVM ~]# ipmitool sdr type Temperature
Temp | 01h | ns | 3.1 | Disabled
Temp | 02h | ns | 3.2 | Disabled
Temp | 05h | ns | 10.1 | Disabled
Temp | 06h | ns | 10.2 | Disabled
Ambient Temp | 0Eh | ok | 7.1 | 22 degrees C
Planar Temp | 0Fh | ns | 7.1 | Disabled
IOH THERMTRIP | 5Dh | ns | 7.1 | Disabled
CPU Temp Interf | 76h | ns | 7.1 | Disabled
Temp | 0Ah | ns | 8.1 | Disabled
Temp | 0Bh | ns | 8.1 | Disabled
Temp | 0Ch | ns | 8.1 | Disabled1.3.3 查看cpu相关lscpu、uptime、top、htop vmstat mpstat其中htop需要安装,安装依赖与epel源。[znix@clsn ~]$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping: 4
CPU MHz: 2494.150
BogoMIPS: 4988.30
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 33792K
NUMA node0 CPU(s): 01.3.4 内存够不够可以用free[znix@clsn ~]$free -h
total used free shared buffers cached
Mem: 996M 867M 128M 712K 145M 450M
-/+ buffers/cache: 271M 725M
Swap: 1.0G 0B 1.0G1.3.5 磁盘剩多少写的快不快可以用df、dd、iotop[znix@clsn ~]$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 24G 15G 62% /
tmpfs 499M 20K 499M 1% /dev/shm
/dev/vdb1 20G 4.4G 15G 24% /data1.3.6 监控网络iftop nethogsiftop 监控主机间流量 -i 指定监控网卡
nethogs 监控进程流量1.4 监控工具总览mrtg 流量监控出图nagios 监控cacti 流量监控出图zabbix 监控+出图1.5 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 警示功能。1.5.1 zabbix的组成 zabbix官网: https://www.zabbix.comzabbix 主要由2部分构成 zabbix server和 zabbix agentzabbix proxy是用来管理其他的agent,作为代理1.5.2 zabbix监控范畴硬件监控 :Zabbix IPMI Interface系统监控 :Zabbix Agent InterfaceJava 监控:ZabbixJMX Interface网络设备监抟:Zabbix SNMP Interface应用服务监控:Zabbix Agent UserParameterMySQL 数据库监控:percona-monitoring-pldlginsURL监控:Zabbix Web监控第2章 安装zabbix2.1 环境检查[root@m01 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@m01 ~]# uname -r
3.10.0-693.el7.x86_64
[root@m01 ~]# getenforce
Disabled
[root@m01 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)2.2 安装zabbix过程2.2.1 安装方式选择编译安装 (服务较多,环境复杂)yum安装(干净环境)使用yum 需要镜像yum源 http://www.cnblogs.com/clsn/p/7866643.html2.2.2 服务端快速安装脚本#!/bin/bash
#clsn
#设置解析 注意:网络条件较好时,可以不用自建yum源
# echo '10.0.0.1 mirrors.aliyuncs.com OPSX Zabbix Official Repository' >> /etc/hosts
#安装zabbix源、aliyun YUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#安装zabbix
yum install -y zabbix-server-mysql zabbix-web-mysql
#安装启动 mariadb数据库
yum install -y mariadb-server
systemctl start mariadb.service
#创建数据库
mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'
#导入数据
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix
#配置zabbixserver连接mysql
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf
#添加时区
sed -i.ori '18a php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf
#解决中文乱码
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
#启动服务
systemctl start zabbix-server
systemctl start httpd
#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF
#输出信息
echo "浏览器访问 http://`hostname -I|awk '{print $1}'`/zabbix"2.2.3 客户端快速部署脚本#!/bin/bash
#clsn
#设置解析
echo '10.0.0.1 mirrors.aliyuncs.com OPSX Zabbix Official Repository' >> /etc/hosts
#安装zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#安装zabbix客户端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent.service
#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start zabbix-agent.service
EOF2.3 检测连通性2.3.1 服务端安装zabbix-get检测工具yum install zabbix-get2.3.2 在服务端进行测试注意:只能在服务端进行测试zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"测试结果[root@m01 ~]# zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000第3章 web界面操作3.1 zabbix的web安装3.1.1 使用浏览器访问http://10.0.0.61/zabbix/setup.php在检测信息时,可查看具体的报错信息进行不同的解决 选择mysql数据库,输入密码即可 host与port不需要修改,name自定义确认信息,正确点击下一步 安装完成、点击finsh进入登陆界面 账号Admin密码zabbix 注意A大写3.2 添加监控信息3.2.1 修改监控管理机zabbix server配置 >> 主机主机名称: 要与主机名相同,这是zabbix server程序用的可见名称: 显示在zabbix网页上的,给我们看的修改后,要将下面的已启用要勾上添加完成就有了管理机的监控主机3.2.2 添加新的主机配置 >> 主机 >> 创建主机注意勾选以启用然后添加模板,选择linux OS ,先点小添加,再点大添加。添加完成,将会又两条监控主机信息3.2.3 查看监控内容检测中 >> 最新数据在最新数据中需要筛选, 输入ip或者名字都能够搜索出来在下面就会列出所有的监控项3.2.4 查看图像检测中 >> 图形选择正确的主机。选择要查看的图形即可出图第4章 自定义监控与监控报警4.1 自定义监控4.1.1 说明zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁盘、网卡等常规监控,只要新加主机关联此模板,就可自动添加这些监控项。需求:服务器登陆人数不能超过三人,超过三人报警4.1.2 预备知识自定义key能被server和agent认可# 正确的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.uname"
Linux cache01 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
# 没有登记的,自定义的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
ZBX_NOTSUPPORTED: Unsupported item key.
# 写错的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.uname1"
ZBX_NOTSUPPORTED: Unsupported item key.4.2 实现自定义监控4.2.1 自定义语法UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh4.2.2 agent注册[root@cache01 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@cache01 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注意:key名字要唯一,多个key以行为分割# 修改完成后重启服务
[root@cache01 zabbix_agentd.d]# systemctl restart zabbix-agent.service在server端进行get测试[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
3
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user2"
3
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user3"
3
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user4"
ZBX_NOTSUPPORTED: Unsupported item key.4.2.3 在server端注册(web操作)① 创建模板配置 >> 模板 >> 创建模板点击添加,即可创建出来模板查看创建出来的模板。↑② 创建应用集应用集类似(目录/文件夹),其作用是给监控项分类。点击 应用集 >> 创建应用集自定义应用集的名称,然后点击添加③ 创建监控项监控项 >> 创建监控项键值 -- key,即前面出创建的login-user。注意:创建监控项的时候,注意选择上应用集,即之前创建的安全。④ 创建触发器触发器的作用:当监控项获取到的值达到一定条件时就触发报警(根据需求创建)触发器 >> 创建触发器创建触发器,自定义名称,该名称是报警时显示的名称。表达式,点击右边的添加,选择表达式。 严重性自定义。表达式的定义 ↓ ,选择之前创建的监控项,最新的T值为当前获取到的值。添加完成,能够在触发器中看到添加的情况⑤ 创建图形以图形的方式展示出来监控信息图形 >> 创建图形名称自定义,关联上监控项。⑥ 主机关联模板配置 >> 主机一个主机可以关联多个模板4.2.4 查看监控的图形4.3 监控报警4.3.1 第三方报警平台http://www.onealert.com通过 OneAlert 提供的通知分派与排班策略,以及全方位的短信、微信、QQ、电话提醒服务,您可以在最合适的时间,将最重要的信息推送给最合适的人员。4.3.2 onealert配置添加应用,注意添加的是zabbix实现微信报警需要关注微信公众号即可。4.3.3 安装 onealert Agent1.切换到zabbix脚本目录(如何查看zabbix脚本目录):cd /usr/local/zabbix-server/share/zabbix/alertscripts
#查看zabbix脚本目录
vi /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath2.获取OneITSM agent包:wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.0.1.tar.gz3.解压、安装。tar -zxf oneitsm_zabbix_release-1.0.1.tar.gz
cd oneitsm/bin
bash install.sh --#个人生成的key注:在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码。Zabbix管理地址: http://10.0.0.61/zabbix/
Zabbix管理员账号: Admin
Zabbix管理员密码:4.当提示"安装成功"时表示安装成功!验证告警集成
产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。4.3.1 如何删除onealert Agent① 删除报警媒介类型中的脚本② 删除创建的用户③ 删除用户群组④ 删除创建的动作4.3.2 触发器响应,发送报警信息 在微信和邮件中,均能收到报警信息。注意:当状态改变的时候才会发邮件 好-->坏 坏-->好4.4 监控可视化4.4.1 聚合图形最新数据 >> 图形自定义名称点击聚合图形的名称,进行更改,添加要显示的图形即可。4.4.2 幻灯片添加幻灯片监测中 >> 复合图形 >> 幻灯片演示创建幻灯片,名称自定,选择要显示的幻灯片根据设定的时间自动播放4.5 模板的共享4.5.1 主机共享在主机页打开,全选后点击导出导入4.5.2 模板共享https://github.com/zhangyao8/zabbix-community-repos文章太长,只能分成两篇发布,查看下部分请点传送门:你想更深入了解学习Linux知识体系,你可以看一下我们花费了一个多月整理了上百小时的几百个知识点体系内容: 【超全整理】《Linux云计算从入门到精通》linux学习入门教程系列实战笔记
4)断幺九,这个看规则,一般不要求门清可以吃椪杠棋牌资讯,完成的牌型不能有风不能有役牌,不能有19万饼条,也就是全靠2-8做成的,听牌的时候最好注意不要用78听69这样,非常有可能出现别人打9你胡不了反而振听,下一个打6你也胡不了棋牌资讯,这个也是满足33332就可以了 |