(1)可以告警升级,刚开始出故障时,发短信给运维工程师,隔两小时后没有解决问题,就发给他的领导,再隔两小时没解决,发给领导的领导,,,
(2)可以发远程命令,刚开始出故障时,尤其是服务级故障,先不要立即发告警,在第一个周期内,试图尝试去解决问题,远程指挥目标主机重启一下服务,如果问题解决,就不用发警报了,如果没有解决,那就开始发警报
4.展示:简单图,图形,screen,slide,show,map,,,
第三方的展示接口:grafana
结合grafana展示接口形成监控系统
1.statsd+influxdb(时序数据库)+grafana
2.promethues(自身就相当于时序数据库,可收集数据,存储下来,并展示,但展示界面不好看,所以可结合grafana)+grafana
3.graphitce+grafana
Zabbix程序架构 Zabbix组件概述Zabbix Server:负责接收agent发送的报告信息的核心组 件,所有配置、统计数据及操作数据均由其组织进行;
Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据,以及存储在Zabbix所配置的配置信息,比如:哪个指标需要监控,多长时间监控一次等;
Web interface:zabbix的GUI接口,通常与Server运行在 同一台主机上;
Proxy:可选组件,常用于分布监控环境中,代理Server收 集部分被监控端的监控数据并统一发往Server端;
Agent:部署在被监控主机上,负责收集本地数据并发往 Server端或Porxy端;
Zabbix监控Java应用 监控系统运行状态Zabbix Server监控的主机上指标不只一个,以一个指标为例,假如每隔120秒采样一次,采集一次存一次,而且每当一个时间段满足时会做一次聚合运算,得出聚合运算结果,最大值,最小值,平均值等,每次采集存储下来之前会先评估一下数据是否满足触发器,既是否在合理区间范围内,如果在就OK,否则PROMBLE,一旦状态发生转换,假如上次是OK,现在转换成了PROMBLE,就会触发一个时间EVENT,就会采取行动,行动分多个层级,首先执行远程命令,如果不行,就发报警等。
采集----》判定阈值范围-----》如果没问题就存下来,如果有问题则有事件产生,就会产生某个行为,告警操作
Zabbix常用的术语主机(host):要监控的网络设备,可由IP或DNS名称指定;
主机组(host group):主机的逻辑容器,可以包含主机和模 板,但同一个组内的主机和模板不能互相链接;主机组通常 在给用户或用户组指派监控权限时使用;
监控项(item):一个特定监控指标的相关的数据,这些数据 来自于被监控对象;item是zabbix进行数据收集的核心,没 有item,将没有数据;相对某监控对象来说,每个item都由"key"进行标识;
触发器(trigger):一个表达式,用于评估某监控对象的某特 定item内所接收到的数据是否在合理范围内,即阈值;接收 到的数据量大于阈值时,触发器状态将从"OK"转变为 "Problem",当数据量再次回归到合理范围时,其状态将从 "Problem"转换回"OK";
事件(event):即发生的一个值得关注的事情,例如触发器的 状态转变,新的agent或重新上线的agent的自动注册等;
动作(action):指对于特定事件事先定义的处理方法,通过包 含操作(如发送通知)和条件(何时执行操作);
报警升级(escalation):发送警报或执行远程命令的自义定方 案,如每隔5分钟发送一次警报,共发送5次等;
媒介(media):发送通知的手段或通道,如Email、Jabber或SMS等;
通知(notification):通过选定的媒介向用户发送的有关某事 件的信息;
远程命令(remote command):预定义的命令,可在被监控 主机处于某特定条件下时自动执行;
模板(template):用于快速定义被监控主机的预设条目集 合,通常包含了item、trigger、graph、screen、
application以及low-level discovery rule;模板可以直接链接至单个主机;
应用 (application):一组item的集合;
web场景(web scennario):用于检测web站点可用性的一个 或多个HTTP请求;
前端(frontend):Zabbix的web接口;
Zabbix的逻辑架构 Zabbix Server Processes 安装zabbix将yum仓库路径指向zabbix的官网
复制链接地址,然后在linux系统上,将其下载下来,注意你的dns和网关都正常,否则就会下载不上
然后再将其安装
再来看一下安装了这个包,安装的文件,可以看到自动在/etc/yum.repo下面给你配好了zabbix仓库
此时,再yum clean all,yum repolist就会列出安装zabbix的yum仓库
在安装之前先确保本地的mysql配置正常
配置mysql
vim /etc/my.cnf.d/server.cnf
[server]
skip_name_resolve = on 跳过域名解析
innodb_file_per_table = on
innodb_buffer_pool_size = 256M 缓冲池大小为256M
max_connections = 2000
配置好之后,重新启动数据库服务
systemctl restart mariadb
然后安装zabbix
yum install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender -y
到此zabbix就成功安装了
考虑到zabbix来连接数据库,尽可能用普通用户的身份来连接,所以需要进入数据库中创建用户
mysql
create database zbxdb character set 'utf8';
grant all on zbxdb.* to 'zbxuser'@'192.168.10.%' identified by 'zabbix';
flush privileges;
安装zabbix-server-mysql时提供了一些脚本,其中/usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz就是在zabbix数据库生成表的脚本
将其复制到家目录下,并解压缩
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz /root
这些表里面存的是历史数据,趋势数据,配置等
配置zabbix配置文件
cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak 修改配置文件先做好备份,养成良好习惯
vim zabbix_server.conf
ListenPort=10051 监听端口
LogFile=/var/log/zabbix/zabbix_server.log 日志文件
LogFileSize=0 日志自动滚动
PidFile=/var/run/zabbix/zabbix_server.pid pid进程文件
SocketDir=/var/run/zabbix
DBHost=192.168.10.160 zabbix连接数据库所在的主机
DBName=zbxdb 数据库名字
DBUser=zbxuser 数据库用户
DBPassword=zabbix 密码
DBPort=3306
配置完后,启动zabbix服务,然后查看zabbix服务状态
systemctl start zabbix-server
systemctl status zabbix-server
接下来就是通过zabbix GUI接口来访问zabbix的web页面,需要修改配置文件
vim /etc/httpd/conf.d/zabbix.conf
在/etc/php.ini中配置时区(在/etc/php.ini中配置时区对所有的php程序都有效,在/etc/httpd/conf.d/zabbix.conf中配置时区只对zabbix应用有效)
然后开启httpd服务,在浏览器上去访问zabbix的web页面
systemctl start httpd
在浏览器上去访问zabbix的web页面,访问成功,第一次访问的时候,需要做一些初始化设置,如下图
然后就能登进来了,如图:就是zabbix默认的仪表盘
monitoring我们配置好监控指标后,需要到Monitoring中去查看
dashboard面板
problem可以看到哪些有问题的地方,还可以过滤
overview概览
latest data采集到的数据
trigger触发器
configuration要配置监控目标主机的指标需要在configuration中配置
ReportReport能够帮我们生成监控结果报告
administration
administration是用来管理zabbix系统自身的
配置监控的主机
注意关掉防火墙和selinux
1.安装agent(在监控的目标主机上配置)安装方法和安装zabbix一样
yum install zabbix-agent zabbix-sender -y
2.修改agent配置文件vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.160 监控服务器是哪台主机
ListenIP=0.0.0.0
StartAgents=3
ServerActive=192.168.10.160 主动监控的服务器是哪台主机
Hostname=node1 被监控主机名
启动agent服务
systemctl start agent
查看agent服务状态
接着在zabbix web界面手动将该主机纳入监控的主机上
添加之后,然后点主机,创建主机
然后编辑
编辑之后点击add添加即可
然后点击主机中去查看
然后点击application应用集来定义监控项的类别,点击创建应用集
再次创建,依旧点击创建应用集即可
然后再来添加item监控项
点击create item 创建监控项
然后编辑监控项,采集CPU中断次数数据