zabbix全网监控
面试题:你公司监控什么?
利用OSI/IOS7层协议进行回答
应用层:监控协议http/https/ssh 如nginx mysql rsync tomcat(进程,URL地址、服务是否正常使用)
表示层:表示层
会话层:会话层
传输层:监控TCP/UDP端口
网络层:IP地址,一般监控带宽的延迟
数据链路层:MAC地址,一般监控交换机,路由器等,一般都是基于SNMP协议进行监控的
物理层:监控设备中的CPU温度、内存、硬盘容量、磁盘IO、RAID、负载等
常用监控命令:
CPU监控命令:top,vmstat,cat /pro/cpuinfo
内存监控命令:top,free,iotop
磁盘IO:iotop,iostat(软件包名称sysstat)
查看raid信息:megacli
查看硬件信息:ipmitools
带宽监控命令:iftop,nethogs
常见端口监控命令:teltnt,ss,netstat,lsof,nc,nmap
监控用户访问网站的流程:
DNS解析流程:查看世界各地访问你网站的的情况,可以说通过http://ping.chinaz.com 进行测试
TCP/IP三次握手:监控服务器的连接状态
HTTP请求:会话层
HTTP响应:TCP/UDP端口,主要用来分析日志
TCP/IP四次挥手:监控服务器的连接状态
zabbix之前所用到的监控工具
mrtg 流量监控出图
nagios 监控
cacti 流量监控出图
zabbix 监控+出图,所有监控范畴,都可以整合到Zabbix中。
硬件监控:Zabbix IPMI Interface
系统监控:Zabbix Agent Interface
Java监控:Zabbix JMX Interface
网络设备监控:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web 监控
zabbix介绍
官网:http://www.zabbix.com/
zabbix(音同 zæbix)是一个基于WEB界面的,提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix部署
第一个里程:安装服务端
#安装官方源
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
#安装mysq httpd php
yum install zabbix-server-mysql zabbix-web-mysql httpd php -y
第二个里程:安装数据库
# 安装mariadb
yum -y install mariadb-server
systemctl start mariadb.service
# 创建数据库,权限
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
exit
# 导入数据库sql文件
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix
第三个里程:配置zabbix server
#修改配置文件,将DBPassword=修改成DBPassword=zabbix
[root@zabbix ~]# grep -n "DBPassword=" /etc/zabbix/zabbix_server.conf
124:DBPassword=zabbix
#修改apache-php配置文件,在配置文件中添加php_value date.timezone Asia/Shanghai'
sed -i.ori '18a php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf
第四个里程:启动zabbix服务
systemctl start zabbix-server
systemctl start httpd
第五个里程:访问网页进行配置
http://10.0.0.22/zabbix/
第六个里程:配置中文显示
第七个里程:部署客户端
#安装官方源
rpm -ivh https://repo.zabbix.com/zabbix/4.1/rhel/7/x86_64/zabbix-release-4.1-1.el7.noarch.rpm
#安装客户端
yum install zabbix-agent
#修改配置文件
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
#启动服务
systemctl start zabbix-agent.service
第八个里程:测试客户端是否可用
#只能在服务端使用,安装zabbix-get
yum -y install zabbix-get
#使用命令进行测试
zabbix_get -s 172.16.1.7 -p 10050 -k "system.cpu.load[all,avg1]"
-s:指定IP
-p:指定端口
-k:指定键值(执行命令)
第九个里程:使用web页面进行监控
第十个里程:解决中文乱码问题在服务端安装
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
自定义监控(制作模板)
第一步:在agent注册key
语法:key名字要唯一,多个key以行为分割
UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh
# cd /etc/zabbix/zabbix_agentd.d/
# vim userparameter_login.conf
UserParameter=login-user,who|wc -l
# 修改配置文件要重启
# systemctl restart zabbix-agent.service
# 在server检测
# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
第二步:在server注册
1.创建模板
2.创建应用集:给监控项分类
3.创建监控项:监控的内容
4.创建触发器:当监控项获取到的值 达到一定条件时 就触发报警
5.创建图形
6.主机关联模板
第三步:使用第三方平台处理报警信息,并测试
登陆网站:http://www.onealert.com/index.html
1.新建应用
2.在server端中安装应用
3.在通知策略中新建策略
4.进行测试
自动发现与自动注册
自动发现:zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多。
自动注册:zabbix agent主动到zabbix Server上报到,登记;缺点agent有可能找不到Server(配置出错)
被动模式:默认,都是站在agent的立场上说话,agent被server抓取数据
主动模式:都是站在agent的立场上说话,agent主动的将数据发送给Server
两种模式都是在agent上的配置文件配置的
自动发现部署
第一步:安装zabbix服务端(略)
第二步:安装zabbix客户端
#安装官方源
rpm -ivh https://repo.zabbix.com/zabbix/4.1/rhel/7/x86_64/zabbix-release-4.1-1.el7.noarch.rpm
#安装客户端
yum install zabbix-agent
#修改配置文件
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.22#' /etc/zabbix/zabbix_agentd.conf
第三步:在网页上配置自动发现规则
自动注册部署(主动模式)
第一步:安装zabbix服务端(略)
第二步:安装zabbix客户端
#安装官方源
rpm -ivh https://repo.zabbix.com/zabbix/4.1/rhel/7/x86_64/zabbix-release-4.1-1.el7.noarch.rpm
#安装客户端
yum install zabbix-agent
#修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.21
ServerActive=172.16.1.21
Hostname=web01(主机的名称)
#HostnameItem=system.hostname
#重启服务
systemctl restart zabbix-agent.service
#查看服务是否运行
netstat -tunlp|grep zabbix
在server端上进行hosts解析
echo "172.16.1.7 web01" >> /etc/hosts ֲ
第三步:在网页上配置自动注册,注册完后成进行等待即可
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">