赞
踩
监控的对象:
1.设备(服务器本身,路由器,交换机,I/O设备)
2.软件(OS,应用程序的意外状况)
偶发性故障:
主机down机,服务器不可用,主机不可达
主机性能指标,时间序列数据。
基本的监控:
一些简单的命令,vmstate,top,mytop,innotop,iotop,sar,tsar。
vmstate去查内存和swap,io,cpu。
- [root@localhost src]# vmstat
- procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
- r b swpd free buff cache si so bi bo in cs us sy id wa st
- 5 0 0 146584 1040 857980 0 0 273 29 150 303 6 2 91 1 0
iostat去监控系统设备的IO负载情况。
- [root@localhost modules]# iostat
- Linux 3.10.0-514.10.2.el7.x86_64 (localhost.localdomain) 04/13/2017 _x86_64_ (1 CPU)
-
- avg-cpu: %user %nice %system %iowait %steal %idle
- 5.22 0.01 1.85 1.10 0.00 91.83
-
- Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
- sda 9.71 262.27 41.70 900657 143203
- scd0 0.01 0.02 0.00 66 0
- dm-0 8.62 258.42 35.78 887463 122871
- dm-1 0.05 0.44 0.00 1520 0
tsar去监控cpu状态
- [root@localhost modules]# tsar --cpu
- Time -----------------------cpu----------------------
- Time user sys wait hirq sirq util
- 13/04/17-20:55 16.80 3.66 1.14 0.00 0.05 20.52
-
- MAX 16.80 3.66 1.14 0.00 0.05 20.52
- MEAN 16.80 3.66 1.14 0.00 0.05 20.52
- MIN 16.80 3.66 1.14 0.00 0.05 20.52
图形化的监控:
Naggios(Opsview,Icinga),Cacti,Zabbix
zabbix也能收集并存储数据,zabbix支持MySQL或PgSQL去存储数据。
zabbix的架构中的组件。
zabbix-server:C语言。
zabbix-agent: C语言。
zabbix-database: MySQL,PGSQL
zabbix-web:GUI,用于实现展示
zabbix-proxy:分布式监控环境的专用组件
当监控的是web页面的话,用的就是http协议。
当监控的是设备的话,用的是ICMP,IPMI,SNMP协议。
当监控的是OS的话,用的是Agent。
当监控的是Java程序的话,用的是JMX。
zabbix的常用术语
主机(host):要监控的网络设备。
主机组(host group):主机的逻辑容器。
监控项(item):一个特定监控指标的相关数据。
触发器(trigger):一个表达式,用于评估某个监控对象的某特定item内所接受到的数据是否在合理范围内。
zabbix的产生的数据主要组成
配置数据
历史数据
历史趋势数据
事件数据
zabbix的官方网站: http://www.zabbix.com/
或者配置zabbix的yum源
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
而后就可以直接使用yum 去安装
yum安装zabbix-server zabbix-web zabbix-server-mysql zabbix zabbix-web-mysql zabbix-get
(zabbix需要php-mbstring和php-bcmath两个rpm包,所以准备好5.3.3-26版本的包)
这里将zabbix的web、server。同时又是zabbix-agent。
2.准备MySQL环境。
创建zabbix的数据库,和连接的用户。
- mysql>create database zabbix character set utf8;
- mysql>grant all on zabbix.* to 'zbxuser'@'192.168.%.%' identified by 'zbxpass';
- mysql>flush privileges;
数据库文件的位置如下。
- [root@localhost zabbix]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/
- [root@localhost zabbix-server-mysql-2.4.8]# ls
- create upgrades
- [root@localhost create]# ls
- data.sql images.sql schema.sql
- [root@localhost create]# mysql zabbix -uroot <schema.sql
- [root@localhost create]# mysql zabbix -uroot <images.sql
- [root@localhost create]# mysql zabbix -uroot <data.sql
- [root@localhost ~]# cd /etc/zabbix/
- [root@localhost zabbix]# ls
- web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
- [root@localhost zabbix]#
配置zabbix-server.conf
其实没有特殊需求的话只改数据库用户和密码的选项就行了。
DBName=zabbix
DBUser=zbxuser
5.启动zabbix
[root@localhost etc]# service zabbix-server start
Starting Zabbix server: [ OK ]
6.修改php的时区,并且在浏览器中输入本机ip加上zabbix。
填入相关信息。(我的测试相关环境如下)
下面对zabbix界面做一些简单的介绍。
第一行的主菜单
Monitoring:监控的仪表盘
Inventory:资产数据库
Report:报告菜单。
Configuration:配置。
Administrator:管理菜单,用户创建, 认证,代理,管理用户和组。
配置成监控自己。
配置文件 /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,192.168.217.10 #指明谁可以监控自己
ServerActive=127.0.0.1,192.168.217.10 #主动推送
Hostname=node1.example.com #agent里面,这个需要保持全局唯一
service zabbix_agent start 并且查看开启了10050端口。
在web的配置端里,启用对本机的监控。
查看本机的一些状态监控。
监控多个图像
监控其他的节点,只要给节点安装上zabbix,zabbix-agent,zabbix-sender这三个rpm包就可以了。
修改新节点上的zabbix-agent.conf
Server=192.168.217.10
ServerActive=192.168.217.10
Hostname=node2.example.com
zabbix的逻辑组件:
主机组,主机,item(监控项),application(应用),trigger(触发器)--触发事件,action(动作)--触发后的执行动作。
监控系统:
数据采集,数据存储,报警,数据可视化。
监控项(item)是Zabbix服务器用于监控一个特定对象上的一个特定指标,并负载针对其收集相关的监控数据。
比如CPU每分钟的平均负载可以是一个item。
每个item都有一个key。可以在命令行的情况下查看可以指定的值,如system.cpu.load
手动添加监控项。
主要的配置项都是在configuration 下的 hosts下。
自定义的item,graph,trigger都在这里。
下面是item的自定义。
As is:不做任何处理
Delta(speed per second):(value - pre_value)/(time - pre_time)
现在可以做报警的发送警告的方式。
创建用户去报警。
创建动作。(触发器触发之后执行的动作)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。