前言:笔者个人学习总结,结合实际应用到工作项目。其中参考各位大神博客,个人消化总结,摸石头过河,不对的地方请多指正。
项目目的:
由于之前缺乏对实施过的软件项目进行监控,导致客户先于维护工程师发现问题,引起相关售后服务和市场的被动。现在通过在公司内部部署一套zabbix系统结合互联网的监控系统,实现对公司现有重要项目的统一监控,监控内容包括:服务器硬件运行情况cpu 网卡流量 硬盘空间 内存,软件项目的相关端口、web服务、mysql服务等。当发生报警时,结合139邮箱和微信实现及时提醒。
zabbix简单介绍:
监控平台的组成 数据采集 --> 数据存储 --> 数据展示和分析 --> 报警 常见监控实现方案对比 cacti 优点:利用rrdtool绘图,图形美观; 缺点:报警功能薄弱,不适合大规模监控场景; nagios 优点:报警功能强大; 缺点:只关心正常与否的状态,数据采集展示功能薄弱,不适合大规模监控场景; zabbix 优点: Zabbix基本功能 数据采集方式:zabbix agent,agent(active),SNMP,SSH等; 数据存储方式:RDBMS,如MySQL,Pgsql等; 数据展示方式:php,web,gui; 报警功能:支持报警升级; ZABBIX官网推荐部署资源规划:
场景 | | | | | | | | | | | | | | | | | | RAID10 MySQL InnoDB 或 PostgreSQL | | | | | Fast RAID10 MySQL InnoDB 或 PostgreSQL | |
一个完整的zabbix监控组成 主要术语: Host主机:要监控的网络设备; Host Group主机组:主机的逻辑容器,可包含主机和模板;通常用于给用户或用户组指派监控权限时使用; Item监控项:一个特定监控指标的相关数据,是数据采集的核心,每个item都由key进行唯一标识; Trigger触发器:用于为监控项item所收集的数据定义阈值,触发器的状态在OK和PROBLEM间不断切换; Event事件:触发器的状态转变,新的agent或重新上线的agent的自动注册等,都会产生event; Action动作:指对于特定event实现定义的处理方法,由通知内容、条件、操作这3部分组成; Escalation报警升级:发送警报或执行远程命令的自定义方案; Media Type媒介:发送通知的手段或通道,如Email,Jabber或SMS等; Notification通知:通过选定的media向用户发送的有关某event的信息;
yum安装步骤:
- 更新官方yum源
rpm -ivh http://repo.zabbix.com/zabbix/2. ... .4-1.el6.noarch.rpm
- 改主机名 hostname zabbix-server logout
- 安装zabbix
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mysql-server mysql
- 安装zabbix两个命令,便于调试
yum -y install zabbix-get zabbix-sender
- 配置数据库,初始化zabbix数据库
service mysqld start
mysql -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql -e "flush privileges;"
cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/
mysql -uroot zabbix < schema.sql 按顺序执行
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql
- 基础配置
vi /etc/zabbix/zabbix_server.conf 修改db连接密码为zabbix
改php时区为 date.timezone = Asia/Chongqing
启动apache 访问页面 service httpd start 并setup 用户名密码Admin zabbix
[iyunv@zabbix-server create]# chkconfig mysqld on
[iyunv@zabbix-server create]# chkconfig zabbix-server on
[iyunv@zabbix-server create]# chkconfig zabbix-agent on
[iyunv@zabbix-server create]# chkconfig httpd on
[iyunv@zabbix-server create]# service zabbix-server start
- 组态-主机 开启
- AGENT部署
rpm -ivh http://repo.zabbix.com/zabbix/2. ... .4-1.el6.noarch.rpm
yum install zabbix-agent zabbix-sender zabbix-get -y
- 编辑客户端配置文件
vi /etc/zabbix/zabbix_agentd.conf 注意改2个server指向服务端IP 一个是服务端主动取一个是被动上报模式,改后重启服务 service zabbix-agent restart
zabbix_get -s 192.168.1.166 -k system.hostname 测试是否能获取到客户端主机名
zabbix_get -s 192.168.1.166 -k agent.ping 返回1正常
10.添加主机,并加入到组,添加基本监控项模版。
查看日志 tail -n500 -f /var/log/zabbix/zabbix_server.log
基本使用和功能实现会在下篇介绍。
|